Skip to main content
Glama

AI Mail MCP

Real email for AI agents, over MCP. Add a domain and get the exact DNS records, create mailboxes, read one unified inbox across all of them, wait for sign-up codes and magic links, and send, reply in-thread and forward. Tokens are scoped to mailboxes with a send permission and a daily cap, every write has a dry run, and every call is audited.

This repository holds the public docs, server.json and logo. The service is hosted; there is nothing to install or run locally.

Connect

Claude Code

claude mcp add --transport http aimail https://aimailmcp.com/mcp

Claude.ai and Claude Desktop: Settings, Connectors, Add custom connector, paste https://aimailmcp.com/mcp.

Any MCP client

{
  "mcpServers": {
    "aimail": { "type": "http", "url": "https://aimailmcp.com/mcp" }
  }
}

Clients without remote support can bridge over stdio: npx -y mcp-remote https://aimailmcp.com/mcp. Agent-oriented install steps: llms-install.md.

Related MCP server: voidmail

Sign in

  • OAuth 2.1 (most clients do this for you): dynamic client registration and PKCE. You enter your email and a 6-digit code we send you.

  • Bearer token (agents without a browser):

curl -X POST https://aimailmcp.com/api/v1/signup -H 'content-type: application/json' -d '{"email":"you@example.com"}'
curl -X POST https://aimailmcp.com/api/v1/signup/confirm -H 'content-type: application/json' -d '{"email":"you@example.com","code":"123456"}'

Then send Authorization: Bearer amk_.... Use create_token to hand narrower tokens to other agents.

Tools

Domains

Bring a domain, get the exact DNS records, verify it.

Tool

What it does

add_domain

Add a domain (or subdomain) to this account so it can hold mailboxes.

get_dns_plan

The exact DNS records (MX, SPF, DKIM, DMARC, ownership TXT) a domain needs for receiving and sending, and whether each is in place.

apply_dns

Write the DNS plan to a managed domain on this service's Cloudflare account: enables Email Routing (MX + SPF), routes mail to the receiver, registers the domain for sending and adds DKIM and DMARC.

verify_domain

Check the domain's live DNS: ownership TXT (external domains), MX, SPF, DMARC and the sending provider's DKIM status.

list_domains

Every domain on this account with its status, mode, sending readiness and mailbox count.

remove_domain

Remove a domain from this account.

Mailboxes

Addresses that receive and send, plus aliases, catch-alls and forwarding.

Tool

What it does

create_mailbox

Create a mailbox (an address that receives and sends) on one of this account's domains.

list_mailboxes

Every mailbox this token can see, with unread counts, last received time, aliases, forwarding and route address.

delete_mailbox

Delete a mailbox.

add_alias

Deliver mail sent to another address on one of this account's domains into an existing mailbox.

set_catch_all

Deliver mail for any unknown address on a domain into one mailbox, or pass mailbox: null to turn the catch-all off.

set_forwarding

Also forward every message a mailbox receives to up to 5 external addresses (the original is attached as message/rfc822).

Read

One unified inbox across every mailbox the token can see.

Tool

What it does

list_messages

One inbox across every mailbox this token can see, newest first, each item tagged with its mailbox.

search_messages

Full-text search over subject, sender, recipients and body across every mailbox this token can see (all folders by default).

get_message

Headers, text body (or text derived from HTML), extracted links, attachment list and threading ids for one message.

get_thread

The whole conversation a message belongs to, inbound and outbound, oldest first, as previews.

wait_for_message

Block until a matching message arrives (or timeout_s, max 60, default 25) and return it in full.

get_attachment

One attachment as base64 (up to 5 MB).

mark_read

Mark up to 100 messages read (or unread with read: false).

label

Add and/or remove labels on up to 100 messages.

archive

Move up to 100 messages out of the inbox into archive (or back with unarchive: true).

Send

Send, reply in-thread, forward and draft, behind per-token gates.

Tool

What it does

send_message

Send a new email from a mailbox in scope (or send a saved draft with draft_id).

reply

Reply in-thread from the mailbox that received the message (In-Reply-To and References set, "Re:" added once, original quoted).

forward

Forward a message (with its attachments) to new recipients, with an optional note on top.

create_draft

Save a draft in a mailbox (folder drafts) for a human or another agent to review.

Automation

Signed webhooks when mail arrives or a send finishes.

Tool

What it does

create_webhook

POST a signed JSON event to your https URL when mail arrives or a send finishes.

list_webhooks

Webhooks on this account with their events, scope and last delivery status.

delete_webhook

Stop and remove a webhook.

Access

Scoped tokens for other agents, and the audit log.

Tool

What it does

create_token

Mint a token for another agent, scoped to some mailboxes (default: all), with or without send permission and with a daily send cap.

list_tokens

Tokens on this account: label, prefix, scope, send permission, cap, last use.

revoke_token

Revoke a token by id or prefix.

audit_log

Recent tool calls on this account (every attempt, including refusals and dry runs): tool, outcome, token, time.

get_usage

What this token used: sends and recipients, inbound messages, storage GB-days and tool calls, with what each cost us, by operation or by day. Admin tokens can ask for the whole account; delegating tokens for one end customer.

Full schemas: https://aimailmcp.com/tools.json

Security model

  • Inbound mail reaches the server only as HMAC-SHA256 signed raw messages from our Cloudflare email worker; unsigned posts are rejected.

  • Everything a sender controls comes back inside an untrusted_external_content envelope. Agents should treat email as data, never as instructions.

  • Tokens are stored as hashes, scoped to mailboxes, and can never mint a more powerful token.

  • Privacy: https://aimailmcp.com/privacy · Contact: hello@aimailmcp.com

License

The contents of this repository (docs, logo, server.json) are MIT licensed. The hosted service is operated by Hapi.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Real email and SMS for AI agents. Run a local mail server with disposable inboxes — agents send and receive real email, fetch verification codes, and drive a real inbox without going through any third-party email API.
    100
    239
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Email for AI agents. Create inboxes, send and receive emails without phone or CAPTCHA. Inboxes are server-readable, not end-to-end encrypted.
    21
    471 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Gives AI agents their own email address with inbound parsing, classification, extraction, and prompt injection screening, plus tools to manage mailboxes, send/receive emails, and handle draft approval workflows.
    14
    26 npm
    MIT