Email Inbox API + Sending by Sendmux — Claude Code MCP server for mail
A Sendmux MCP server that hands your agent an inbox and an outbox: inbound mail, attachments, search, live events and webhooks.
claude mcp add --transport http sendmux-mcp https://mcp.sendmux.ai/mcpWhat Email Inbox API + Sending by Sendmux does
Three tool surfaces ship in one package. Mailbox covers the inbox, sending covers outbound mail, management covers domains and resources. Inbound messages arrive parsed into clean JSON, and attachments, search, live events and webhooks sit alongside them. Provider routing is handled on the Sendmux side.
Locally you install with pip install sendmux-mcp and pick a surface through sendmux-mcp-mailbox, sendmux-mcp-management or sendmux-mcp-sending. The generic sendmux-mcp command takes SENDMUX_MCP_SURFACES and can run several surfaces at once. stdio is the default transport. HTTP mode listens on 127.0.0.1:8765/mcp and wants its own bearer token unless you opt out.
Python 3.10 or newer is required. Sending tools need a send-capable smx_mbx_* key or an owner-approved smx_agent_* token scoped to the Sending resource; mailbox tools need a mailbox-scoped key, management tools a root smx_root_* key. Version 2.0.0 dropped local file_path and roots inputs from the attachment tools, so keep your working package environment and client config before upgrading a self-managed install — a package rollback will not undo uploads or sends that already went out.
There is a public hosted endpoint at https://mcp.sendmux.ai/mcp. Use HTTP transport with OAuth there and skip manual Authorization headers or API keys. The same runtime serves A2A 1.0 at https://a2a.sendmux.ai/a2a/v1.
What it helps with
- read incoming mail from a mailbox as JSON
- send a message with an attachment from an agent
- search a mailbox through a tool call
- subscribe to new mail with a webhook
- split mail work across mailbox, sending and management surfaces
Example prompts for the agent
- List the latest inbox messages and return them as JSON
- Send an email with the attachment listed in
recipients.txt - Set up a webhook for new mail in my mailbox
How to install Email Inbox API + Sending by Sendmux
1Platform CLI: remote server
claude mcp add --transport http sendmux-mcp https://mcp.sendmux.ai/mcp2Platform CLI
claude mcp add --env SENDMUX_MCP_SURFACES=<SENDMUX_MCP_SURFACES> --env SENDMUX_MAILBOX_API_KEY=<SENDMUX_MAILBOX_API_KEY> --env SENDMUX_MANAGEMENT_API_KEY=<SENDMUX_MANAGEMENT_API_KEY> --env SENDMUX_SENDING_API_KEY=<SENDMUX_SENDING_API_KEY> --transport stdio mcp -- npx -y sendmux-mcpReplace <…> with your own values
1Platform CLI: remote server
codex mcp add mcp --url https://mcp.sendmux.ai/mcp2Platform CLI
codex mcp add mcp --env SENDMUX_MCP_SURFACES=<SENDMUX_MCP_SURFACES> --env SENDMUX_MAILBOX_API_KEY=<SENDMUX_MAILBOX_API_KEY> --env SENDMUX_MANAGEMENT_API_KEY=<SENDMUX_MANAGEMENT_API_KEY> --env SENDMUX_SENDING_API_KEY=<SENDMUX_SENDING_API_KEY> -- npx -y sendmux-mcpReplace <…> with your own values
Config file
{
"mcpServers": {
"mcp": {
"url": "https://mcp.sendmux.ai/mcp"
}
}
}{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"sendmux-mcp"
],
"env": {
"SENDMUX_MCP_SURFACES": "<SENDMUX_MCP_SURFACES>",
"SENDMUX_MAILBOX_API_KEY": "<SENDMUX_MAILBOX_API_KEY>",
"SENDMUX_MANAGEMENT_API_KEY": "<SENDMUX_MANAGEMENT_API_KEY>",
"SENDMUX_SENDING_API_KEY": "<SENDMUX_SENDING_API_KEY>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"mcp": {
"type": "http",
"url": "https://mcp.sendmux.ai/mcp"
}
}
}{
"servers": {
"mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"sendmux-mcp"
],
"env": {
"SENDMUX_MCP_SURFACES": "<SENDMUX_MCP_SURFACES>",
"SENDMUX_MAILBOX_API_KEY": "<SENDMUX_MAILBOX_API_KEY>",
"SENDMUX_MANAGEMENT_API_KEY": "<SENDMUX_MANAGEMENT_API_KEY>",
"SENDMUX_SENDING_API_KEY": "<SENDMUX_SENDING_API_KEY>"
}
}
}
}Replace <…> with your own values
1Platform CLI: remote server
gemini mcp add -t http mcp https://mcp.sendmux.ai/mcp2Platform CLI
gemini mcp add -e SENDMUX_MCP_SURFACES=<SENDMUX_MCP_SURFACES> -e SENDMUX_MAILBOX_API_KEY=<SENDMUX_MAILBOX_API_KEY> -e SENDMUX_MANAGEMENT_API_KEY=<SENDMUX_MANAGEMENT_API_KEY> -e SENDMUX_SENDING_API_KEY=<SENDMUX_SENDING_API_KEY> mcp npx -y sendmux-mcpReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Email Inbox API + Sending by Sendmux
How do I install Email Inbox API + Sending by Sendmux in Claude Code?
For the hosted endpoint run claude mcp add --transport http sendmux-mcp https://mcp.sendmux.ai/mcp. For a local stdio server run `claude mcp add --env SENDMUX_MCP_SURFACES=<SENDMUX_MCP_SURFACES> --env SENDMUX_MAILBOX_API_KEY=<SENDMUX_MAILBOX_API_KEY> --env SENDMUX_MANAGEMENT_API_KEY=<SENDMUX_MANAGEMENT_API_KEY> --env SENDMUX_SENDING_API_KEY=<SENDMUX_SENDING_API_KEY> --transport stdio mcp -- npx -y sendmux-mcp`.
What does this MCP server do?
It gives an agent tools for an email inbox and for sending: inbound mail, attachments, search, live events and webhooks. Domain and resource management lives on a separate management surface.
Which keys does it need?
Sending wants a send-capable smx_mbx_* key or an owner-approved smx_agent_* token scoped to Sending. Mailbox takes a mailbox-scoped key, management a root smx_root_* key. Python 3.10 or newer is required.