JMAP
π βοΈ - A Model Context Protocol (MCP) server that provides tools for interacting with JMAP (JSON Meta Application Protocol) email servers. Built with Deno and using the jmap-jam client library.
What is JMAP?
JMAP is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to π βοΈ - a model context protocol (mcp) server that provides tools for interacting with jmap (json meta application protocol) email servers. built with deno and using the jmap-jam client library.
π βοΈ - A Model Context Protocol (MCP) server that provides tools for interacting with JMAP (JSON Meta Application Protocol) email servers. Built with Deno and using the jmap-jam client library.
This server falls under the Communication category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- π βοΈ - A Model Context Protocol (MCP) server that provides t
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx jmap-mcpConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use JMAP
The JMAP MCP server (published as `@wyattjoh/jmap-mcp` on JSR) provides AI assistants with a complete email interface to any JMAP-compliant server, implementing RFC 8620 and RFC 8621 through the jmap-jam client library. Agents can search, read, compose, reply to, move, and delete emails, and list mailbox folders with full pagination and incremental state sync. Built with Deno and TypeScript, it is well-suited for workflows that require AI to triage inboxes, draft responses, or automate email actions on providers like Fastmail, Cyrus IMAP, and Stalwart Mail Server.
Prerequisites
- Deno v1.40 or later installed (https://deno.land)
- A JMAP-compatible email provider account (Fastmail, Cyrus IMAP, Stalwart, etc.)
- A JMAP bearer token from your email provider
- The JMAP session URL for your provider (e.g. https://api.fastmail.com/jmap/session)
- An MCP-compatible client such as Claude Desktop or Claude Code
Obtain a JMAP bearer token from your provider
For Fastmail: go to Settings β Privacy & Security β API Tokens and create a new token with mail read/write access. Other JMAP providers have similar token management pages.
Note your JMAP session URL
The session URL is the JMAP discovery endpoint. For Fastmail it is `https://api.fastmail.com/jmap/session`. For self-hosted servers it is usually `https://mail.yourdomain.com/.well-known/jmap`.
Add the MCP server entry to your config file
Register the server in your MCP client's config, passing the required environment variables. The Deno command fetches the server directly from JSR so no separate install is needed.
Restrict Deno network permissions to your JMAP server
For security, scope the `--allow-net` flag to only your JMAP server's hostname rather than allowing all network access.
deno run --allow-net=api.fastmail.com --allow-env=JMAP_SESSION_URL,JMAP_BEARER_TOKEN,JMAP_ACCOUNT_ID jsr:@wyattjoh/[email protected]Test by asking your client to list mailboxes
Open your MCP client and ask it to list your mailboxes or retrieve the five most recent emails to verify the connection is working.
JMAP Examples
Client configuration
Claude Desktop config that launches the JMAP MCP server via Deno, scoped to the Fastmail API.
{
"mcpServers": {
"jmap-mcp": {
"type": "stdio",
"command": "deno",
"args": [
"run",
"--allow-net=api.fastmail.com",
"--allow-env=JMAP_SESSION_URL,JMAP_BEARER_TOKEN,JMAP_ACCOUNT_ID",
"jsr:@wyattjoh/[email protected]"
],
"env": {
"JMAP_SESSION_URL": "https://api.fastmail.com/jmap/session",
"JMAP_BEARER_TOKEN": "YOUR_FASTMAIL_API_TOKEN"
}
}
}
}Prompts to try
Tasks you can delegate to your AI client using the JMAP MCP server.
- "Show me all unread emails in my inbox"
- "Find the email thread with Bob about the contract renewal and summarise it"
- "Reply to the latest email from my manager saying I will have the report ready by Friday"
- "List all my mailbox folders"
- "Search for emails containing invoice attachments from the last 30 days"Troubleshooting JMAP
Deno exits immediately with permission error
Check that `--allow-net` includes the exact hostname of your JMAP server and `--allow-env` lists the three environment variable names. Mismatched hostnames are the most common cause.
401 Unauthorized when trying to access email
The bearer token may be wrong or expired. Regenerate it from your provider's API token page and update the `JMAP_BEARER_TOKEN` value in your MCP config.
Server connects but returns empty results for searches
Verify `JMAP_SESSION_URL` points to the correct discovery endpoint for your account. If your provider uses a non-standard path, check their JMAP documentation. You may also need to set `JMAP_ACCOUNT_ID` explicitly if auto-detection is failing.
Frequently Asked Questions about JMAP
What is JMAP?
JMAP is a Model Context Protocol (MCP) server that π βοΈ - a model context protocol (mcp) server that provides tools for interacting with jmap (json meta application protocol) email servers. built with deno and using the jmap-jam client library. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install JMAP?
Follow the installation instructions on the JMAP GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with JMAP?
JMAP works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is JMAP free to use?
Yes, JMAP is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.
JMAP Alternatives β Similar Communication Servers
Looking for alternatives to JMAP? Here are other popular communication servers you can use with Claude, Cursor, and VS Code.
Slack
β 86.1kEnables interaction with Slack workspaces through comprehensive channel management, messaging, user management, file uploads, and Block Kit formatting. Features secure credential storage via macOS Keychain and supports all major Slack operations incl
LibreChat
β 37.3kEnhanced ChatGPT Clone: Features Agents, MCP, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, Code Interpreter, langchain, DALL-E-3, OpenA
Note Gen
β 11.9kA cross-platform Markdown AI note-taking software.
DeepChat
β 5.8kπ¬DeepChat - A smart assistant that connects powerful AI to your personal world
WhatsApp MCP
β 5.7kConnects AI assistants to the official Meta WhatsApp Cloud API for managing conversations and sending various message types through natural language. It provides tools for media management, template messages, and real-time webhook processing without
Apple
β 3.1kEnables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.
Browse More Communication MCP Servers
Explore all communication servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up JMAP in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use JMAP?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.