e2a MCP
An inbox for an AI agent: send, receive and reply in thread through MCP with optional human approval
- 199 ★ on the repository
- Last commit
Broad access
Why this level
- The agent sends mail from your address and reads inbound mail including attachments
- Tokens and API keys give access to the mailbox and review queue
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/e2aDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent sends mail from your address and reads inbound mail including attachments
- Tokens and API keys give access to the mailbox and review queue
This is third-party code. Review the repository files before installing.
What it does
e2a gives an agent its own email address and opens the mailbox through MCP. The server tools cover the whole loop: `list_messages`, `get_message`, `get_attachment` and `list_conversations` read inbound mail, `send_message`, `reply_to_message` and `forward_message` send it and `list_reviews`, `approve_review` and `reject_review` handle the review queue. Inbound mail passes SPF, DKIM and DMARC checks and reaches the agent by MCP, REST, webhook or WebSocket. No public address is needed to receive, a laptop behind a firewall works. Human-in-the-loop mode holds outbound mail until approval in the dashboard, from an email link or through MCP tools. The server runs at `https://api.e2a.dev/mcp`: browser sign-in over OAuth 2.1 or a key in a Bearer header. Claude Code has a plugin with a skill and Cursor takes an `mcp.json` entry. The same project can be self-hosted from a Docker image under Apache 2.0.
Who it is for. Agent developers who need a real address for sending and receiving mail with human review before sending.
Good fit when
- A support agent needs its own mailbox to read requests and reply in the same thread
- Agent outbound mail goes through approval until the team fully trusts it
- An app sends transactional mail and the agent needs access to customer replies
- Development sits behind a firewall with no webhook: mail is fetched through MCP or REST
- The mail service is self-hosted from a Docker image so messages stay inside your infrastructure
Not a fit when
- You need a mass marketing blast: e2a builds agent mail and not a newsletter service
- Reading one personal Gmail mailbox is enough for the agent: a Google connector fits
- You have no domain and no wish to tune deliverability: the shared domain starts quickly but is not your brand
Example request
Read new mail in the agent inbox, reply to the customer in the same thread and leave the message for approvalMCP
- Transport
- http
- Authentication
- OAuth
Limitations
The hosted version at `e2a.dev` requires sign-up and the agent sign-in is confirmed in the browser through OAuth. The `@e2a/mcp-server` npm package is frozen at 0.5.0 and the hosted server is now the main path. Content screening currently works only when self-hosted. A custom domain needs DNS records and deliverability setup. Mail goes out as the agent, so turn on human approval until you have checked its behavior. See the project site for hosted terms.
How to disable. Remove the plugin (`claude plugin uninstall e2a@e2a`) or the server entry in `mcp.json`, revoke access in the e2a dashboard and delete the agent with its address.
FAQ
How do I connect e2a to Claude Code?
Run `claude plugin marketplace add tokencanopy/e2a` and `claude plugin install e2a@e2a`. The plugin registers the hosted server and a skill, and sign-in opens in the browser on the first call.
How do I connect to Cursor?
Add an entry with the URL `https://api.e2a.dev/mcp` to `.cursor/mcp.json`. On first use Cursor opens the browser for sign-in.
Can I hold mail for approval?
Yes. Turn on human-in-the-loop mode: outbound mail waits for a decision in the dashboard, from an email link or through the `approve_review` and `reject_review` tools.
Can I self-host it?
Yes, from a Docker image under Apache 2.0. Nearly all features match the hosted version and content screening is currently self-host only.
How does the agent receive inbound mail?
Through MCP tools, REST polling, a webhook or WebSocket. A public address is not required: MCP, REST and WebSocket work even behind a firewall.
Discussion
No questions or reviews yet.
Related
MCP serversOpen Agent Email — a self-hosted mail server for AI agents: inboxes, in-thread replies, human approval, webhooks and an MCP endpoint with 96 tools
The Atomic Mail MCP server: an agent creates its own atomicmail.ai inbox and works with mail through JMAP with no human involved.
KeyID agent-kit
@keyid/agent-kit
An MCP server that gives an agent a real email address: 27 tools for sending, replying, inbox search and contacts
Self-hosted agent email on Cloudflare Workers: wait for verification codes, reply in thread, get webhooks, with MCP and a skill.
A plugin with MCP and skills gives an agent email, phone, an encrypted credential vault and tunnels through Inkbox.
Official Mailtrap MCP server: send email, test in the sandbox, read delivery logs, manage templates, contacts and domains
README in short
The README offers a ready phrase to paste into an agent, then describes the choice between hosted and self-hosted, plugin install for Claude Code and Codex, a Cursor entry and inbound delivery methods. Then come the MCP server, CLI and deployment sections.