Give your AI
agent an inbox.

Connect Gmail, iCloud, Fastmail, or any IMAP inbox once. Paste one MCP endpoint URL into claude.ai, Claude Desktop, Cursor, or any MCP-compatible agent. OAuth clients connect in a click, no API key setup. Your agent reads, searches, and sends mail live, and the mail it reads is never stored.

Unlimited, free forever No card required Email fetched live
How a call flows
t+0ms → t+312ms
AI agent
claude.ai · Desktop · Cursor
MCP
mcpemails
/api/mcp endpoint
JMAP
Your provider
Gmail · iCloud · IMAP
live · t+12msinbox_list()
agent calls inbox_list()
· returns inbox IDs, no dashboard copy-paste
agent calls email_read(action="list" · inbox_id="3f7a…")
· mcpemails fetches via Gmail API (token rotated)
20 messages returned · nothing stored
mcpemails (the pipe) live request your data, your provider
Works with every MCP-compatible agent and client
ClaudeChatGPTCursorVS CodeClineWindsurfGemini CLIZedJetBrainsRaycastWarpcurl / APIClaudeChatGPTCursorVS CodeClineWindsurfGemini CLIZedJetBrainsRaycastWarpcurl / APIClaudeChatGPTCursorVS CodeClineWindsurfGemini CLIZedJetBrainsRaycastWarpcurl / APIClaudeChatGPTCursorVS CodeClineWindsurfGemini CLIZedJetBrainsRaycastWarpcurl / APIClaudeChatGPTCursorVS CodeClineWindsurfGemini CLIZedJetBrainsRaycastWarpcurl / APIClaudeChatGPTCursorVS CodeClineWindsurfGemini CLIZedJetBrainsRaycastWarpcurl / API
Principles

Six things we believe
about email and agents.

The decisions that shaped the product. If any of them stop being true, that's a bug worth filing.

  1. 01Scope

    Six core tools. The essentials, covered.

    A handful of tools cover the everyday work — inbox_list, email_read (list, read, search) and email_compose (send, reply) — and more advanced tools (email_organize, folder, draft, schedule) are there when you need them. Paste the MCP endpoint URL into claude.ai, Claude Desktop, Cursor, or any MCP-compatible agent.

  2. 02Storage

    Email is fetched live. Never stored.

    Every tool call hits your provider in real time: Gmail API, Fastmail JMAP, or IMAP. Message bodies, subjects, and attachments go to the agent and are discarded immediately. We persist one thing per inbox, an encrypted token or app password, so we can make the next call. The one exception is a message you schedule to send later: we hold it until the send time, then keep a record for your history.

  3. 03Sending

    Sending goes through your provider.

    When your agent calls email_compose (to send or reply), the message is dispatched via the Gmail API, Fastmail JMAP, or your own SMTP server. Your domain reputation and deliverability stay entirely in your hands. We never relay mail from our own domain.

  4. 04Providers

    Gmail, iCloud, Fastmail & any IMAP inbox.

    OAuth 2.0 for Gmail; app-specific passwords for Fastmail, iCloud, Yahoo, Zoho, and Yandex; a generic IMAP / SMTP connector for everything else. Connect multiple inboxes, label them by use case (work-gmail, ops-fastmail, support-imap), and scope each API key to the inboxes you want that agent to reach.

  5. 05Access

    OAuth 2.0 for agents. One click to revoke.

    Any MCP client that supports OAuth (claude.ai, Claude Desktop, Cursor, and others) connects automatically via authorization code + PKCE. No API key setup. API keys are there for clients without OAuth and for scripted access. Either way, you revoke any connection from the dashboard in one click.

  6. 06Security

    Credentials are encrypted at rest.

    OAuth tokens and app passwords are AES-256-GCM encrypted before being written to the database. Decryption happens only inside an isolated Edge Function at call time. The encryption key is stored as an environment secret, separate from the database.

Product preview

See your whole MCP operation at a glance.

A real-time dashboard for every connected inbox, API key, and tool call — so you always know what your agents are doing.

app.mcpemails.com/dashboard
mcpemails
Overview
Inboxes4
API keys3
Usage
J
jordan
Team plan
Overview
Real-time view of your connected inboxes and MCP traffic.
Inboxes connected
4
MCP calls (30d)
12,484
Avg. response
214ms
Plan
Team
Recent activity
email_read()· work-gmailjust now
email_compose()· work-gmail12s ago
email_organize()· ops-fastmail1m ago
email_read()· support-imap3m ago
How it works

You're the user. We're the pipe.

Three steps from sign-up to your agent reading and sending mail.

01

Connect your inbox

Sign in and click Connect Inbox. Choose Gmail, iCloud, Fastmail, or any IMAP inbox, then complete OAuth or paste an app password. Credentials are encrypted; the mail your agent reads is never stored.

02

Paste the URL: OAuth or API key

For an MCP client that supports OAuth 2.0 (claude.ai, Claude Desktop, Cursor, and others), paste https://mcpemails.com/api/mcp, click Connect, and authorize. No key needed. For clients without OAuth (Cline, JetBrains, custom scripts), generate a scoped API key in the dashboard instead.

03

Your agent works the inbox

The agent calls tools like email_read() or email_compose(). MCPEmails fetches live from your provider and returns the result. Nothing is cached between calls.

inbox_list()
Discover all connected inboxes and their IDs. Call this first, no UUID copy-pasting from the dashboard.
email_read()
Read mail: list recent summaries, fetch a full message by ID, batch-read up to 50, or run a provider-agnostic search — all via the action argument.
email_organize()
Organize mail: move, delete, flag, or archive — one at a time, in bulk, or straight from a search.
email_compose()
Compose: send a new message, reply in-thread, or forward. Dispatched through Gmail API, Fastmail JMAP, or SMTP: your domain, your deliverability.
folder()
Manage folders (labels on Gmail): list, create, rename, or delete, and use them as move destinations.
draft()
Drafts: list, create, update, and send drafts stored in the provider's Drafts folder.
schedule()
Schedule a message for a future time, list pending scheduled sends, and cancel them before they go out.
contact_search()
Find people by name or email with a live scan of recent matching mail. Nothing is stored.
I wanted my agents to work my inbox, but every option meant handing a third party a copy of my email. So I built the pipe I wished existed: connect once, your inbox is fetched live and never stored, and you can cut off any agent in a click. That's the product I trust with my own inbox.
Asgeir Albretsen · founder, mcpemails
Pricing

Unlimited on every plan.

Free is genuinely unlimited. Upgrade for higher burst limits, team features, and support. Switch plans any time.

Free

$0 /forever

Everything, unlimited. For everyone building with MCP agents.

  • Unlimited connected inboxes
  • Unlimited MCP tool calls
  • Unlimited API keys
  • Gmail, iCloud, Fastmail & any IMAP
  • 60 requests / minute
  • Community support
Start free

Solo

$12 /month

For power users running agents around the clock.

  • Everything in Free, unlimited
  • 300 requests / minute (5× burst)
  • Full usage analytics (90-day history)
  • Gmail, iCloud, Fastmail & any IMAP
  • Email support
Get Solo

All plans: the mail your agent reads is fetched live and never stored. OAuth tokens encrypted at rest. Need something custom? Contact us. See full feature comparison →