shipmail_statusLABSCO SUMMARY
The draft-then-approve path is the one to build on.
An agent with unrestricted send is a liability; this server's answer is a reply draft that records the thread version it was written against and refuses to send if the conversation changed before you approved. Combined with scopes set outside the agent and a sandbox on test keys, that makes it practical to let something autonomous near a mailbox. Check your client's protocol version first — the strict 2026-07-28 requirement will reject an older host before you get to any of this.
What it is
The official MCP server for Shipmail, a business email host with a REST API, webhooks and custom-domain inboxes. Rather than bridging an existing Gmail or Outlook account, it hosts the mailbox itself, so the same inbox is reachable from agent tools, your application code, the dashboard and ordinary IMAP or SMTP clients.
What you get
- Mailbox lifecycle under
shipmail_names — create, update, suspend and resume mailboxes, manage folders, identities, forwarding, app passwords, auto-reply and spam filtering - Domains end to end:
shipmail_create_domain,shipmail_get_domain_dns_recordsfor the records to add, thenshipmail_verify_domain - Reading and replying —
shipmail_list_mailbox_inbox_threads,shipmail_get_mailbox_inbox_thread,shipmail_create_inbox_reply_draftandshipmail_send_inbox_reply_draft, which rejects a stale draft if the conversation moved on before approval - Sending and scheduling —
shipmail_send_message, plus list, inspect, replace and cancel on scheduled messages before dispatch starts - Attachments without base64 in the transcript:
shipmail_prepare_staged_attachment_uploadreturns a five-minute, one-time upload URL that does not carry your credential - Webhooks as first-class tools — create, test, rotate the secret, list deliveries and replay one
- Audiences and newsletters, including subscriber management, preflight checks and scheduling
- Read-only resources such as
shipmail://mailboxesandshipmail://domains, and four guided prompts:setup_domain,triage_mailbox,draft_email_replyandconfigure_webhook - A sandbox mode on test keys, where sends accept a
sandbox_outcomeand inbound mail can be faked without reaching a real recipient
Requirements
A Shipmail API key. The hosted server at https://shipmail.to/api/mcp needs nothing installed and supports OAuth as well as a bearer key; the local stdio route is the npm package shipmail-mcp, version 0.7.3, with SHIPMAIL_API_KEY set, and needs Node.js 20+. The client must speak the stateless MCP 2026-07-28 protocol — clients that still open with the 2025 handshake are rejected. What the agent may do is set by the key's scopes or the OAuth connection, and the server discovers that catalog before startup, failing closed if discovery fails.
Setup effort
One command plus a key — npx -y shipmail-mcp, then supply credentials
USE CASES
Giving an agent its own address on your domain
Create the mailbox, verify the domain from the DNS records it returns, and let the agent send as itself.
Triaging an inbox before a human reads it
Summarise the threads that need attention and draft replies for the ones that are obvious.
Keeping a human in the loop on every send
Drafts are held until approved, and a draft written against a stale version of the thread is refused.
Attaching a file safely
Stage the upload through a short-lived one-time URL, then reference it when sending.
Reacting to inbound mail in product code
Set up a webhook, test it, and replay a delivery when your endpoint was down.
127 tools
Listed in project docs. Your client may show a different list.
shipmail_list_domainsshipmail_get_domainshipmail_get_domain_dns_recordsshipmail_create_domainshipmail_update_domainshipmail_delete_domainshipmail_verify_domainshipmail_search_domainsshipmail_list_mailboxesshipmail_get_mailboxshipmail_create_mailboxshipmail_update_mailboxshipmail_delete_mailboxshipmail_suspend_mailboxshipmail_resume_mailboxshipmail_list_mailbox_app_passwordsshipmail_create_mailbox_app_passwordshipmail_revoke_mailbox_app_passwordshipmail_list_mailbox_forwardingshipmail_create_mailbox_forwardingshipmail_delete_mailbox_forwardingshipmail_list_mailbox_foldersshipmail_get_mailbox_rulesshipmail_set_mailbox_rulesshipmail_create_mailbox_foldershipmail_update_mailbox_foldershipmail_delete_mailbox_foldershipmail_list_mailbox_identitiesshipmail_reset_mailbox_passwordshipmail_set_auto_replyshipmail_set_spam_filtershipmail_inject_sandbox_inboundshipmail_list_mailbox_inbox_messagesshipmail_get_mailbox_inbox_messageshipmail_get_mailbox_inbox_threadshipmail_list_mailbox_inbox_threadsshipmail_update_inbox_thread_reply_stateshipmail_create_inbox_reply_draftshipmail_send_inbox_reply_draftshipmail_update_inbox_messageshipmail_move_inbox_messageshipmail_delete_inbox_messageshipmail_create_reply_scanshipmail_get_reply_scanshipmail_list_reply_scan_resultsshipmail_list_messagesshipmail_list_message_analyticsshipmail_get_messageshipmail_compose_message_with_fileshipmail_prepare_staged_attachment_uploadshipmail_send_messageshipmail_list_scheduled_messagesshipmail_get_scheduled_messageshipmail_update_scheduled_messageshipmail_cancel_scheduled_messageshipmail_reply_to_messageshipmail_list_threadsshipmail_get_threadshipmail_reply_to_threadshipmail_reply_to_inbox_messageshipmail_reply_to_inbox_threadshipmail_list_webhooksshipmail_get_webhookshipmail_create_webhookshipmail_update_webhookshipmail_delete_webhookshipmail_rotate_webhook_secretshipmail_test_webhookshipmail_list_webhook_deliveriesshipmail_get_webhook_deliveryshipmail_replay_webhook_deliveryshipmail_list_suppressionsshipmail_remove_suppressionshipmail_list_audiencesshipmail_get_audienceshipmail_create_audienceshipmail_update_audienceshipmail_delete_audienceshipmail_get_audience_feedshipmail_update_audience_feedshipmail_rotate_audience_feedshipmail_revoke_audience_feedshipmail_list_subscribersshipmail_get_subscribershipmail_get_subscriber_by_emailshipmail_add_subscribershipmail_add_subscribers_batchshipmail_update_subscribershipmail_unsubscribe_subscribershipmail_resubscribe_subscribershipmail_remove_subscribershipmail_list_newsletter_sender_identitiesshipmail_list_newsletter_domainsshipmail_list_newsletter_assetsshipmail_list_newslettersshipmail_get_newslettershipmail_preview_newslettershipmail_create_newslettershipmail_create_newsletter_from_changelogshipmail_update_newslettershipmail_run_newsletter_preflightshipmail_send_newsletter_testshipmail_schedule_newslettershipmail_cancel_newslettershipmail_resume_newslettershipmail_list_domains_across_organizationsshipmail_list_mailboxes_across_organizationsshipmail_list_webhooks_across_organizationsshipmail_list_suppressions_across_organizationsshipmail_list_newsletters_across_organizationsshipmail_list_newsletter_sender_identities_across_organizationsshipmail_list_newsletter_domains_across_organizationsshipmail_list_newsletter_assets_across_organizationsshipmail_list_audiences_across_organizationsshipmail_list_booking_pages_across_organizationsshipmail_list_partner_organizationsshipmail_create_partner_organizationshipmail_get_partner_organizationshipmail_update_partner_organizationshipmail_resend_partner_ownership_invitationshipmail_suspend_partner_organizationshipmail_resume_partner_organizationshipmail_offboard_partner_organizationshipmail_list_partner_mailbox_credential_grantsshipmail_consume_partner_mailbox_credential_grantshipmail_get_partner_usageBEFORE YOU INSTALL
What to know first
Tools you get
127 tools named in the project's documentation.
Requires
SHIPMAIL_API_KEY in your environment
INSTALLATION
Connect your client
Server setup
npx
npx -y shipmail-mcpHosted endpoint
https://shipmail.to/api/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
MCP Clients
Claude.ai, Claude Desktop
Add a custom connector with the URL https://shipmail.to/api/mcp
Claude discovers Shipmail's OAuth support and signs you in; no API key needed
ChatGPT
In developer mode, add a connector with the server URL https://shipmail.to/api/mcp
Use OAuth, or choose API key authentication and paste a Shipmail API key
Claude Code
claude mcp add --transport http shipmail https://shipmail.to/api/mcp \
--header "Authorization: Bearer <YOUR_SHIPMAIL_API_KEY>"Claude Desktop — npx, Cursor — npx, Windsurf — npx
{
"mcpServers": {
"shipmail": {
"command": "npx",
"args": [
"-y",
"shipmail-mcp"
],
"env": {
"SHIPMAIL_API_KEY": "<YOUR_SHIPMAIL_API_KEY>"
}
}
}
}VS Code
{
"inputs": [
{
"type": "promptString",
"id": "shipmail-api-key",
"description": "Shipmail API key",
"password": true
}
],
"servers": {
"shipmail": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"shipmail-mcp"
],
"env": {
"SHIPMAIL_API_KEY": "${input:shipmail-api-key}"
}
}
}
}