MultiMail's MCP server connects Claude Desktop, Cursor, Windsurf, and any MCP-compatible client to production email with graduated oversight built in from day one.
MCP clients are good at calling tools, but wiring them to real email requires more than a single tool definition. You need inbox access with proper authentication, send controls, thread tracking so replies land in the right conversation, and a mechanism to prevent the agent from dispatching email that hasn't been reviewed. Building that bridge from scratch — then maintaining it across MCP spec revisions — pulls time away from the actual agent logic.
MultiMail ships a production-ready MCP server (@multimail/mcp-server) with 50 tools covering the full email lifecycle: read, compose, reply, search, tag, thread, schedule, and approve. Point any MCP client at it with a single config block. The server inherits MultiMail's oversight model, so you can configure gated_send to hold outbound email in an approval queue until a human confirms — no additional code required.
Add @multimail/mcp-server to your client's mcpServers block with your API key. Claude Desktop, Cursor, Windsurf, and any MCP 1.x-compatible client discovers the 43 available tools on the next restart.
The agent can call check_inbox, read_email, get_thread, manage_contacts, send_email, reply_email, tag_email, list_pending, and more. Tool schemas are self-documenting — no system prompt engineering required.
The agent calls check_inbox to retrieve unread messages, read_email to load full content, and get_thread to reconstruct conversation history before composing a response.
With gated_send oversight, calls to send_email or reply_email create a pending action in your approval queue instead of delivering immediately. The agent receives a pending action ID and can continue processing other messages.
You receive a webhook notification or poll list_pending via the API or MCP tool. Approve or reject each pending send. Approved messages deliver with original threading headers intact.
Switch the mailbox to monitored or autonomous once you've validated the agent's judgment on a given workflow. The change takes effect immediately — no redeployment, no code change.
"cm">// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"multimail": {
"command": "npx",
"args": ["-y", "@multimail/mcp-server"],
"env": {
"MULTIMAIL_API_KEY": "$MULTIMAIL_API_KEY"
}
}
}
}Add MultiMail to Claude Desktop's mcpServers block. The server starts automatically when Claude Desktop launches.
{
"mcpServers": {
"multimail": {
"command": "npx",
"args": ["-y", "@multimail/mcp-server"],
"env": {
"MULTIMAIL_API_KEY": "$MULTIMAIL_API_KEY"
}
}
}
}Project-scoped MCP config for Cursor and VS Code. Place in .cursor/mcp.json or .vscode/mcp.json at the repo root.
"cm">// claude_desktop_config.json — remote server variant
{
"mcpServers": {
"multimail": {
"type": "http",
"url": "https://mcp.multimail.dev/mcp"
}
}
}Use MultiMail's hosted MCP endpoint instead of npx. Supports OAuth token exchange — no API key stored in config files.
curl -X PATCH https://api.multimail.dev/mailboxes/[email protected] \
-H "Authorization: Bearer $MULTIMAIL_API_KEY" \
-H "Content-Type: application/json" \
-d &"cm">#039;{"oversight_mode": "gated_send"}'Configure the mailbox so agent sends queue for human approval before delivery. Run this once via the REST API before connecting your MCP client.
"cm"># List sends awaiting approval
curl https://api.multimail.dev/pending \
-H "Authorization: Bearer $MULTIMAIL_API_KEY"
"cm"># Approve a specific pending send
curl -X POST https://api.multimail.dev/emails/msg_01ABCDEF/decide \
-H "Authorization: Bearer $MULTIMAIL_API_KEY" \
-H "Content-Type: application/json" \
-d &"cm">#039;{"decision": "approve"}'After the agent queues an outbound email, retrieve pending actions and approve the ones you want delivered.
MultiMail's MCP server handles authentication, inbox polling, threading, and send controls. Your agent gets a clean 50-tool surface without any custom integration layer to build or maintain.
gated_send oversight intercepts send_email and reply_email calls before delivery. The agent's tool call succeeds — the message lands in a queue instead of the recipient's inbox until a human confirms.
The server implements standard MCP tool and resource schemas. Claude Desktop, Cursor, Windsurf, Continue, and any client following the MCP spec discovers the tools automatically — no client-specific customization needed.
Run @multimail/mcp-server locally via npx, or point your client at https://mcp.multimail.dev/mcp for OAuth-based access with no local process and no API key in config files.
MultiMail tracks message IDs and In-Reply-To headers server-side. When the agent calls reply_email with a message ID, the outbound message threads correctly in the recipient's client regardless of which session composed it.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 50-tool MCP server. Formally verified in Lean 4.