Add Email to Your Claude Code Workflow with MultiMail

Connect MultiMail via MCP to Claude Code so your terminal-based AI assistant can send, read, and manage email with full oversight controls.


Claude Code is Anthropic's terminal-native CLI for working with Claude directly in your development environment. By adding MultiMail as an MCP server, Claude Code gains the ability to send emails, manage inboxes, handle contacts, and orchestrate email workflows without leaving your terminal.

Claude Code supports both global and project-scoped MCP configurations. You can add MultiMail globally in ~/.claude.json so it's available in every session, or scope it to a specific project using .mcp.json in your project root. This flexibility lets you use different API keys or mailboxes per project.

MultiMail's oversight modes pair naturally with Claude Code's agentic workflow. Set mailboxes to gated_send during development and testing, then move to monitored or autonomous for production automation.

Get started

1

Get your MultiMail API key

Sign up at multimail.dev and generate an API key from the dashboard. You'll need this to authenticate the MCP server.

2

Create an agent mailbox

Create a mailbox for Claude Code to use. Set the initial oversight mode to gated_send so all outbound emails require your approval during setup.

3

Add MultiMail to your MCP config

For global access, add the MultiMail server to ~/.claude.json. For project-specific access, add it to .mcp.json in your project root.

4

Verify the connection

Start a new Claude Code session and ask Claude to list your mailboxes. If the MCP server is connected correctly, it will return your MultiMail mailboxes.


Available MCP tools

ToolDescriptionExample
send_emailSend an email from your agent mailbox to any recipient.Send a deployment notification to the team after a successful release.
reply_emailReply to a received email, maintaining the thread context.Reply to a bug report email with the fix details and commit hash.
check_inboxCheck a mailbox for new or unread messages.Check if the CI pipeline sent any failure notification emails.
read_emailRead the full content of a specific email including headers and body.Read a detailed error report email from a monitoring system.
create_mailboxCreate a new agent mailbox on your MultiMail account.Create a project-specific mailbox for automated notifications.
list_mailboxesList all mailboxes on your MultiMail account.Check which mailboxes are available before sending a message.
get_threadRetrieve an entire email thread to see the full conversation history.Review the full thread of a client discussion before replying.
manage_contactsSearch your contact list by name, email, or tags.Find the email address of a team member by name.
manage_contactsAdd a new contact to your MultiMail contact list.Save a new collaborator's email after they contribute to the project.
tag_emailTag or categorize an email for organization and filtering.Tag deployment-related emails with 'devops' for later filtering.
list_pendingList all emails currently awaiting human approval.Review pending outbound emails before batch-approving them.
decide_emailApprove or reject a pending email in the oversight queue.Approve a drafted client email after verifying its content.

Try it with your agent

No code, no dashboard. Paste this to your AI agent — it connects MultiMail, creates an inbox, and builds the flow for you.

1. Read https://multimail.dev/llms.txt first and follow only the current MultiMail instructions from that file. 2. Add MultiMail's MCP server to Claude Code using the Claude Code MCP setup flow described there, then confirm the MultiMail tools are available in this session. 3. Create a free MultiMail inbox for me, then set up a verified sending domain so outgoing mail can be sent from an approved sender. 4. Send a short test email from the verified sender to the new inbox. Then check the inbox, show me the received message, and draft a brief reply without sending it yet. 5. Keep MultiMail in gated_send oversight mode for this setup and for all future email actions unless I explicitly approve a different mode. Before any email is sent or scheduled, show me the recipient, subject, body, and timing, and wait for my approval.

Best practices

Use project-scoped config for team projects

Place a .mcp.json file in your project root and commit it to version control (with the API key excluded via .env or secrets). This ensures everyone on the team has the same MCP setup when using Claude Code in that project.

Combine email with code context

Claude Code has full access to your codebase. Ask it to read a file, generate a changelog, then email it to stakeholders. The combination of code context and email tools makes Claude Code powerful for developer communication workflows.

Use gated mode for iterative drafting

With gated_send mode, you can ask Claude to draft an email, review it in the pending queue, reject it with feedback, and ask for a revised draft. This iterative loop helps you get the tone and content right before anything is sent.

Pipe output into email context

Since Claude Code runs in your terminal, you can pipe command output into your prompts. Run your tests, then ask Claude to email the results to the team. Claude can reference the terminal output when composing the email body.


Common questions

What's the difference between global and project-scoped config?
Global config in ~/.claude.json makes the MultiMail MCP server available in every Claude Code session. Project-scoped config in .mcp.json only activates when you run Claude Code from that project directory. Project config takes precedence if both define the same server name.
Does Claude Code support SSE transport for MCP?
Claude Code primarily uses stdio transport for MCP servers. The MultiMail MCP server runs over stdio by default, so it works seamlessly with Claude Code without any transport configuration.
Can I use Claude Code to automate email workflows in CI/CD?
Yes, you can invoke Claude Code in non-interactive mode from CI/CD pipelines. Combined with MultiMail, this enables automated email notifications for deployment status, test results, or incident alerts. Set the mailbox to autonomous mode for fully automated sending.
How do I manage multiple mailboxes from Claude Code?
Use the list_mailboxes tool to see all available mailboxes, then specify which mailbox to use when sending or checking email. You can also create new mailboxes on the fly with create_mailbox. Each mailbox can have its own oversight mode.
Can I use hooks with MultiMail tools?
Yes, Claude Code supports hooks that run before or after tool calls. You could set up a hook that logs every email sent through MultiMail, or one that requires confirmation before the send_email tool executes. Configure hooks in your .claude/settings.json file.
How do I update the MultiMail MCP server?
The npx -y command fetches the latest version automatically when starting a new session. To force an immediate update, restart Claude Code. You can pin a specific version by using @multimail/[email protected] in your config args.

More MCP clients

The only agent email with a verifiable sender

Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a hosted MCP server. Formally verified in Lean 4.