How to give your Claude agent its own email inbox
Give your Claude agent a real email inbox: connect the AgenticEmail hosted MCP server so Claude can create inboxes and send, read, and reply over email.
Dvir Atias
Founder
The fastest way to give a Claude agent its own email inbox is to stop treating email as something a human sets up by hand and start treating it as a runtime resource. With AgenticEmail you create a real, live inbox over an API, then connect it to Claude through the hosted MCP server so Claude can send, receive, and reply on its own address. Claude speaks the Model Context Protocol natively, so once the AgenticEmail MCP server is wired in, your Claude agent gets a set of email tools it can call like any other function: no mail server to run, no OAuth dance, no scraping a Gmail account a person logged into by hand.
Why a Claude agent needs a real inbox
A Claude agent that can only send is half an agent. The interesting workflows are two-way: the agent emails a vendor and waits for the quote, files a support ticket and reads the reply, kicks off a signup flow and clicks the confirmation link that lands in its inbox. That loop of send, receive, and reply is exactly what a real inbox gives you and exactly what a "send-only" transactional API cannot.
Most Claude setups that "do email" today are either send-only or they screen-scrape a human's mailbox. Both fall over in production. Tokens expire, one shared inbox becomes a bottleneck, and there is no clean way to give each agent, or each of your users' agents, its own address. AgenticEmail flips that model: inboxes are a resource you create with an API call, like a database row, and each one is a live address that can receive and reply. For the longer argument, see why AI agents need email and what an AI email agent actually is.
The MCP path: give Claude email tools
The cleanest integration for Claude is the hosted MCP server. MCP is the open protocol Claude uses to talk to external tools, and Claude Desktop plus the Claude Agent SDK and the Messages API all speak it. AgenticEmail runs a hosted MCP server at https://api.agenticemail.dev/mcp that you authenticate with your AgenticEmail API key as a Bearer token. Point Claude at it and Claude discovers the email tools on its own.
In Claude Desktop, you add the AgenticEmail server to your MCP configuration. Because the server is remote, the simplest approach is a small stdio proxy that forwards to the hosted URL and attaches your key:
{
"mcpServers": {
"agenticemail": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.agenticemail.dev/mcp",
"--header",
"Authorization: Bearer ${AGENTICEMAIL_API_KEY}"
]
}
}
}Set AGENTICEMAIL_API_KEY in your environment, restart Claude Desktop, and the AgenticEmail tools show up. If you prefer, Claude Desktop's custom connector UI also lets you paste the same URL and Bearer header without editing JSON.
For programmatic agents the story is the same server, wired in a different place. With the Claude Agent SDK you register AgenticEmail as an MCP server so any agent you spin up inherits the email tools. If you call the Messages API directly, the MCP connector (the mcp_servers parameter, with the server URL, a name, and your key as the authorization token) lets Claude reach the same hosted server on Anthropic's side. Either way you are pointing at one URL with one Bearer token. There is no dedicated Claude package to install beyond MCP itself. For a deeper look at the protocol side, read the AgenticEmail MCP email server.
The tools it unlocks
Once the server is connected, Claude sees a focused set of email tools and decides when to call them:
create_inboxgives the agent its own address, for exampleresearch-agent@inbox.agenticemail.dev.list_inboxesenumerates the inboxes the key can access.list_messagesandget_messagelet Claude read what has arrived, with parsed headers, text, HTML, and attachments.send_messagesends a new email from the agent's inbox.reply_to_messagereplies in-thread, with the threading headers handled for you.
The point is that Claude drives all of this in plain language. You can tell your agent, "Create an inbox for this project, email the three suppliers for a quote, and reply to each one that answers," and Claude will call create_inbox, then send_message three times, then poll list_messages and reply_to_message as responses land. The model handles the orchestration; AgenticEmail handles the mail.
The direct-SDK path for programmatic Claude agents
MCP is the right default, but it is not the only path. If you are building a Claude agent as code and you want email calls to run deterministically inside your own loop rather than as model-chosen tool calls, use the AgenticEmail SDKs directly. There are first-class TypeScript and Python SDKs plus a CLI, and they expose the same operations as the MCP tools.
A common pattern is to provision the inbox and send from your application code, and let Claude reason over the message bodies:
import { AgenticEmail } from "agenticemail";
const email = new AgenticEmail({ apiKey: process.env.AGENTICEMAIL_API_KEY });
const inbox = await email.inboxes.create({ username: "research-agent" });
await email.messages.send(inbox.id, {
to: ["supplier@example.com"],
subject: "Quote request",
text: "Hi, could you send pricing for 500 units?",
});The Python SDK mirrors this, and the CLI covers the same create, send, read, and reply operations for scripts and cron jobs. To receive without polling, register a webhook or subscribe to the WebSocket stream so inbound mail is pushed to your agent as it arrives. Mixing the two paths is fine: connect MCP so a conversational Claude agent can manage its own mailbox, and call the SDK from the parts of your system that need tight control.
End-to-end encryption for agent-to-agent mail
When two of your Claude agents email each other, the payload is often exactly what you would not want sitting in plaintext on someone else's server: customer records, tool outputs, scoped tokens. AgenticEmail offers opt-in, end-to-end encryption for agent-to-agent mail. It is zero-knowledge by design, the private key lives in your SDK or CLI runtime and never touches AgenticEmail servers, so the platform only ever stores ciphertext.
Be precise about what this is. It is opt-in, not the default, and it applies between two AgenticEmail inboxes that have each published a key, not to inbound mail from the outside world. If your requirement is confidential content between agents you control, it is a strong fit. The full model is covered in encrypted email for AI agents.
Getting started
Give your Claude agent an inbox first, then decide how it should reach it. If you live in Claude Desktop or build on the Claude Agent SDK, connect the hosted MCP server and let Claude call the email tools. If you are writing a programmatic agent, reach for the TypeScript or Python SDK. The full tool list, endpoints, and SDK reference are in the docs, and if you are weighing this against other approaches, the alternatives page lays out the tradeoffs. Either way, the shape is the same: one API key, one live inbox, and a Claude agent that can finally send, read, and reply on its own.