Skip to content

MCP Getting Started

The MinuteMail MCP server lets AI assistants like Claude operate your MinuteMail account conversationally: create test mailboxes, wait for verification emails, extract codes and links, manage custom domains, teams, and mock OAuth identities — all through the Model Context Protocol.

  • Endpoint: https://mcp.minutemail.co/mcp
  • Transport: Streamable HTTP (protocol revision 2025-06-18)
  • Auth: a MinuteMail API key sent as Authorization: Bearer mmak_...

The server is a stateless proxy over the MinuteMail REST API: it holds no credentials or sessions of its own and forwards your key verbatim, so API scopes and quotas apply exactly as they do for the REST API and SDK.

  1. Sign up at minutemail.co (free during early access)
  2. Open the dashboard → API Keys and create a key
  3. Copy the key — it is shown only once (mmak_XXXXXXXX)
Terminal window
claude mcp add --transport http minutemail https://mcp.minutemail.co/mcp \
--header "Authorization: Bearer mmak_XXXXXXXX"

Add the server to your client config (claude_desktop_config.json for Claude Desktop, ~/.cursor/mcp.json for Cursor):

{
"mcpServers": {
"minutemail": {
"type": "http",
"url": "https://mcp.minutemail.co/mcp",
"headers": {
"Authorization": "Bearer mmak_XXXXXXXX"
}
}
}
}

Older Claude Desktop builds only support stdio servers in the JSON config. If yours rejects type: "http", use its built-in remote-server UI with the URL and header above, or bridge with mcp-remote:

{
"mcpServers": {
"minutemail": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.minutemail.co/mcp",
"--header",
"Authorization: Bearer mmak_XXXXXXXX"
]
}
}
}

Once connected, ask your assistant to create a mailbox, then send a test email to its address:

“Create a MinuteMail mailbox that expires in 30 minutes.”

The agent will call the mailboxes.create tool and return the address. When a message arrives, mails.list / mails.get retrieve it so the agent can extract verification codes or links.

Every tool maps 1:1 to a REST API route. Write operations require the matching API key scope.

GroupToolsScope
Mailboxesmailboxes.list/create/get/delete/delete_bulk, mails.*, attachments.*mailboxes
Archived mailboxesarchived.list/get/delete/reactivatemailboxes
Custom domainsdomains.list/register/verify/deletedomains
Teamteam.members.*, team.invitations.*team
Mock identities & OAuth clientsidentities.list/create/get/update/delete, oauth.clients.*identities

Note: the claims parameter on identities.create / identities.update is a custom-provider feature — the API rejects it with a 400 for google, github, apple, and facebook clients. See Provider Behavior.

Errors surface as tool errors with the HTTP status: 401 invalid key, 403 scope/domain, 429 quota exceeded, 502 upstream down.