mailbox_batch_delete_messagesLABSCO SUMMARY
A mailbox the agent can wait on, not just a send button.
Most email integrations only go outward, which means an agent can ask a question and never learn the answer. mailbox_wait_for_message closes that loop — send, wait, read the reply, act on it — and that is the difference between notification and correspondence. The three surfaces are worth taking seriously as a boundary: an agent that only needs to send should hold a Sending grant and nothing else, because a root key reaches domains, billing and every mailbox on the account.
What it is
Sendmux's SDK repository, which includes the MCP server for its email platform. What is unusual is the shape: an agent gets a real mailbox it can search, read and reply from, not just a send endpoint. The tools are split into three surfaces and you grant them separately.
What you get
- Mailbox — mailbox_list_messages, mailbox_list_threads, mailbox_get_message, mailbox_get_thread and mailbox_search_message_snippets for finding things; mailbox_list_folders and mailbox_batch_update_messages for organising them
- mailbox_wait_for_message and mailbox_get_changes, which is what lets an agent send something and then wait for the reply rather than polling blindly
- Attachments both directions — mailbox_upload_attachment, mailbox_get_attachment and mailbox_read_attachment
- Sending — sending_send_email and sending_send_email_batch, with sending_create_attachment_upload and sending_upload_attachment behind them
- Management — management_create_domain, management_verify_domain and management_get_domain_zone_file for setting up a sending domain; management_create_mailbox, management_update_mailbox, management_suspend_mailbox and management_create_mailbox_key for the mailboxes themselves
- Deliverability and cost — management_list_email_logs, management_get_email_log, management_get_email_metrics and management_get_spend_summary
- Webhooks — management_create_webhook, management_list_webhooks and management_test_webhook
- A separate documentation server exposing search_sendmux, for searching Sendmux's own guides and API reference
- Toolkits for other frameworks from the same repository, including a LangChain package and Vercel AI SDK tools
Requirements
A Sendmux account. The hosted server at https://mcp.sendmux.ai/mcp authorises through https://app.sendmux.ai and you choose which surfaces the grant covers. Running it locally means pip install sendmux-mcp, naming the surfaces in SENDMUX_MCP_SURFACES, and supplying keys scoped to what you are enabling — a mailbox key for Mailbox, a root key for Management, and for Sending either a mailbox key or an owner-approved agent token. Over HTTP transport SENDMUX_MCP_HTTP_BEARER_TOKEN is required. Sending real email means a verified domain and Sendmux's own pricing.
Setup effort
One command plus a key — pip install sendmux-mcp, then supply credentials
USE CASES
Letting an agent finish a conversation it started
Send the message, wait for a reply on that thread, and read it as content rather than raw MIME.
Triaging an inbox that has got away from you
Search message snippets, then move or mark whole batches in one call.
Setting up a sending domain
Create the domain, take its zone file, and verify it once the records are published.
Working out why a message never arrived
Search the delivery logs for that recipient and read what happened to it.
Giving each agent its own address
Create a mailbox and a key scoped to it, and suspend it when the agent is retired.
Sending something with a file attached
Upload the attachment first, then reference it in the message.
51 tools
Listed in project docs. Your client may show a different list.
mailbox_batch_get_messagesmailbox_batch_update_messagesmailbox_count_messagesmailbox_get_attachmentmailbox_get_changesmailbox_get_identitymailbox_get_memailbox_get_messagemailbox_get_sessionmailbox_get_threadmailbox_list_bodymailbox_list_contentmailbox_list_foldersmailbox_list_granted_mailboxesmailbox_list_identitiesmailbox_list_messagesmailbox_list_thread_messagesmailbox_list_threadsmailbox_read_attachmentmailbox_search_message_snippetsmailbox_send_messagemailbox_update_identitymailbox_upload_attachmentmailbox_wait_for_messagemanagement_check_mailbox_availabilitymanagement_create_domainmanagement_create_mailboxmanagement_create_mailbox_keymanagement_create_webhookmanagement_delete_mailbox_keymanagement_get_domainmanagement_get_domain_zone_filemanagement_get_email_logmanagement_get_email_metricsmanagement_get_mailboxmanagement_get_spend_summarymanagement_list_domainsmanagement_list_email_logsmanagement_list_mailboxesmanagement_list_webhooksmanagement_resume_mailboxmanagement_suspend_mailboxmanagement_test_webhookmanagement_update_mailboxmanagement_verify_domainsending_create_attachment_uploadsending_get_attachmentsending_send_emailsending_send_email_batchsending_upload_attachmentBEFORE YOU INSTALL
What to know first
Tools you get
51 tools named in the project's documentation.
Requires
- pip on PATH
- For local stdio, SENDMUX_API_KEY — a mailbox key (smx_mbx_) for Mailbox or Sending, or a root key (smx_root_) for Management
- To run every surface in one process: SENDMUX_MCP_SURFACES plus SENDMUX_MAILBOX_API_KEY, SENDMUX_MANAGEMENT_API_KEY and SENDMUX_SENDING_API_KEY
INSTALLATION
Connect your client
Server setup
pip
pip install sendmux-mcpHosted endpoint
https://mcp.sendmux.ai/mcpAdd this hosted endpoint to your MCP client, then sign in.
MCP Clients
Any MCP client — mailbox stdio
SENDMUX_API_KEY=<YOUR_SENDMUX_API_KEY> sendmux-mcp-mailboxYour client starts this over stdio, the default transport: in its MCP settings set the command to sendmux-mcp-mailbox and put SENDMUX_API_KEY in the server's environment. sendmux-mcp-sending takes the same kind of key (smx_mbx_…); sendmux-mcp-management needs a root key (smx_root_…).
Any MCP client — all-surface stdio
SENDMUX_MCP_SURFACES=mailbox,management,sending \
SENDMUX_MAILBOX_API_KEY=<YOUR_SENDMUX_MAILBOX_API_KEY> \
SENDMUX_MANAGEMENT_API_KEY=<YOUR_SENDMUX_MANAGEMENT_API_KEY> \
SENDMUX_SENDING_API_KEY=<YOUR_SENDMUX_SENDING_API_KEY> \
sendmux-mcpIn your client's MCP settings, set the command to sendmux-mcp and put these four variables in the server's environment. Without a root key, drop management from SENDMUX_MCP_SURFACES and leave out SENDMUX_MANAGEMENT_API_KEY.
Self-hosted HTTP server
SENDMUX_API_KEY=<YOUR_SENDMUX_API_KEY> \
SENDMUX_MCP_HTTP_BEARER_TOKEN=local-mcp-token \
sendmux-mcp-mailbox --transport http --host 127.0.0.1 --port 8765Use http://127.0.0.1:8765/mcp as the client URL, and send the SENDMUX_MCP_HTTP_BEARER_TOKEN value as a Bearer token.