jmap-mcp
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., "@jmap-mcpShow me my unread emails from yesterday."
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.
jmap-mcp
Local MCP server that exposes a Stalwart mail server's JMAP surface to an AI assistant: mail, calendar, contacts, files, sharing, Sieve.
No data leaves your machine except the exchange with your own server.
Status: early. The scaffolding, the JMAP client and the policy guard are in place. No domain tool is implemented yet, so the server currently registers zero tools.
Why
Prior art stops at mail and executes writes without asking. This server differs on two points:
Six JMAP domains, not one.
A write policy that gates every irreversible operation behind an explicit confirmation.
Related MCP server: fastmail-mcp
Write policy
Every tool call is classified from its arguments, not from its method name — one argument is enough to turn a write into a deletion. Each class has a configurable level: allow, confirm, or deny.
Class | Covers | Default |
| Reading, searching, listing |
|
| Reversible writes, drafts |
|
| Outbound sending, irreversible |
|
| Permanent deletion |
|
confirm relies on MRTR, the required-input pattern of MCP revision 2026-07-28. When the client does not expose it, the tool refuses — it never executes silently. Claude Desktop does not support elicitation today, so send and destroy operations fail there by design.
Configuration
Set both variables, or put the same keys in ~/.config/jmap-mcp/config.json. The environment wins.
export JMAP_SESSION_URL="https://mail.example.com/.well-known/jmap"
export JMAP_BEARER_TOKEN="…" # never passed as a CLI argumentOptional: JMAP_ACCOUNT_ID pins one account when the session exposes several.
Register with a client
claude mcp add jmap -- npx -y jmap-mcpDevelopment
Requires Node 24 (nvm use) and pnpm.
pnpm install
pnpm typecheck # tsc, native Go compiler
pnpm test # vitest
pnpm lint # biome
pnpm build # emits dist/Architecture, decisions and the full file tree live in aidd_docs/INSTALL.md. Contribution workflow in CONTRIBUTING.md.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage multiple email accounts with secure credentials, local full-text search, thread-aware replies, and automation.11MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage Fastmail email accounts via JMAP, including reading, sending, organizing emails, and handling mailboxes, drafts, and masked emails.43MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to read, send, and manage emails, calendars, and contacts in a Fastmail account via the JMAP protocol.47401MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to read, organize, and send Proton Mail through the local Proton Bridge, with careful gating for sending and attachment access.6341Apache 2.0
Related MCP Connectors
Governed email for AI agents (Mailbuttons / mbag.ai): sandbox inboxes, policy gate, audit log.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Give an AI agent its own email address: send, reply, read, and wait for mail.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/BryanBerger98/jmap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server