Fastmail MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Fastmail MCP Serverfind the 5 most recent emails from Sarah about the project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Fastmail MCP Server (Unofficial)
Unofficial Model Context Protocol server for Fastmail integration. Exposes a single execute tool that acts as a validated JMAP proxy — the LLM writes raw JMAP method calls, and the server handles validation, authentication, and response cleaning.
Setup Instructions
1. Get Your Fastmail API Token
Log in to Fastmail
Go to Settings → Privacy & Security → API tokens
Click New API token
Give it a name (e.g., "Claude MCP")
Select the required scopes:
Mail(read/write as needed)Copy the generated token
2. Configure Claude Code
Add the following to your Claude Code MCP settings (~/.claude/claude_desktop_config.json or project .mcp.json):
{
"mcpServers": {
"fastmail": {
"type": "url",
"url": "https://fastmail-mcp.i11v.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_FASTMAIL_API_TOKEN"
}
}
}
}Security Note: Keep your API token secure. Never commit it to version control. Consider using environment variables or a secrets manager.
Available Tools
execute
Execute JMAP method calls against Fastmail. Accepts an array of JMAP method call triples [methodName, args, callId].
Input:
{
"methodCalls": [
["Email/query", {
"filter": { "inMailbox": "INBOX_ID" },
"sort": [{ "property": "receivedAt", "isAscending": false }],
"limit": 10
}, "call-0"],
["Email/get", {
"ids": { "resultOf": "call-0", "name": "Email/query", "path": "/ids" },
"properties": ["from", "subject", "receivedAt", "preview"]
}, "call-1"]
]
}What the server does:
Validates structure, method names, and hygiene rules
Injects
accountIdautomaticallySends to Fastmail's JMAP API
Strips protocol noise (
state,queryState,canCalculateChanges, etc.)Returns cleaned
methodResponses
Allowed JMAP methods:
Core/echoMailbox/get,Mailbox/query,Mailbox/queryChanges,Mailbox/setEmail/get,Email/query,Email/queryChanges,Email/setThread/getSearchSnippet/getIdentity/getEmailSubmission/get,EmailSubmission/query,EmailSubmission/set
Validation rules:
Every
/getcall (exceptMailbox/get,Identity/get) must include apropertiesarrayEvery
/querycall must include alimitids: nullon/getcalls is rejected (use/queryfirst)Destructive operations (
destroy,EmailSubmission/set) return an error asking for user confirmation
compose_email (MCP App)
Open an interactive email compose form. Optionally pre-fill fields (to, cc, bcc, subject, body). On hosts that support MCP Apps, renders an inline compose UI with send and save-draft buttons. Falls back to structured text on other hosts.
Input:
{
"to": "recipient@example.com",
"subject": "Hello",
"body": "Message text..."
}read_email (MCP App)
Display the full content of an email in a rich reader view. Fetches the email by JMAP ID and renders headers, sanitized body, and action buttons (reply, reply all, forward). Falls back to structured text on hosts without MCP Apps support.
Input:
{
"emailId": "M1234abcd"
}Available Resources
Resource-aware MCP clients automatically receive the Fastmail skill — a set of
markdown files teaching the LLM how to drive the execute JMAP tool. Clients
that support resource priority will load SKILL.md first and follow its links
lazily.
All resources use the file:///fastmail-skill/<path> URI scheme and
text/markdown mime type. Tagged audience: ["assistant"].
URI | Priority | Purpose |
| 1.0 | Entry point — JMAP methods, rules, UI tools |
| 0.5 | Method-call triples, back-references, callId |
| 0.5 | JMAP error handling |
| 0.5 | Email/query filters and sort |
| 0.5 | Email/get body fetching |
| 0.5 | Drafts, flags, move, delete |
| 0.5 | SearchSnippet/get highlights |
| 0.5 | Mailbox CRUD |
| 0.5 | Show unread inbox |
| 0.5 | Move / archive |
| 0.5 | Reply pattern |
| 0.5 | EmailSubmission/set workflow |
| 0.5 | Thread/get |
API Endpoints
POST /mcp- MCP protocol endpointGET /health- Health check endpoint
Environment Variables
Copy .env.example to .env.development.local and fill in the values:
cp .env.example .env.development.localVariable | Required | Description |
| No | Honeycomb ingest key for OpenTelemetry tracing |
| No | Honeycomb API server (default: |
Development
pnpm install # Install dependencies
pnpm dev # Run local dev server (wrangler)
pnpm check # Run all checks (typecheck + lint + fmt + test)
pnpm run deploy:prod # Deploy to CloudflareThis is an unofficial community project and is not affiliated with Fastmail.
Source code and issues: GitHub
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/i11v/fastmail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server