jmap
MCP Server for JMAP (Fastmail) over stdio
claude mcp add --transport stdio jahfer-jmap-mcp-server npx -y @jahfer/jmap-mcp-server \ --env JMAP_TOKEN="<your-jmap-token>" \ --env JMAP_SESSION_URL="https://api.fastmail.com/jmap/session"
How to use
JMAP-MCP is a connector that lets you read emails through the MCP (Model Context Protocol) by interfacing with a JMAP server (demoed with Fastmail in this project). Once configured in your MCP file under an mcpServer entry, the server exposes MCP-based capabilities that allow you to navigate mailboxes and fetch messages from your JMAP-compatible email server. The configuration requires you to provide the JMAP session URL and an API token so MCP can authenticate against your email provider. Use the MCP tooling to query the emails resource through the JMAP bridge, enabling MCP clients to model and access your mailbox content.
How to install
Prerequisites:
- Node.js installed on your system
- npm available
- Access to the MCP configuration where you will register this server
Steps:
-
Clone the repository (or copy the server package if distributing as an MCP server): git clone https://github.com/jahfer/jmap-mcp-server cd jmap-mcp-server
-
Install dependencies: npm install
-
Add the MCP configuration in your MCP config file (see example in the repository README): { "mcpServers": { "emails": { "command": "npx", "args": ["-y", "@jahfer/jmap-mcp-server"], "env": { "JMAP_SESSION_URL": "https://api.fastmail.com/jmap/session", "JMAP_TOKEN": "<your-jmap-token>" } } } }
-
Run MCP with your updated configuration. The server will start and connect to your JMAP provider using the supplied environment variables.
Additional notes
Tips:
- Ensure JMAP_SESSION_URL and JMAP_TOKEN are kept secure and not committed to source control.
- The example uses the npm package name @jahfer/jmap-mcp-server to run via npx. Adjust the configuration if you publish under a different package name.
- If you encounter authentication failures, verify that the token has the correct scope and that the JMAP endpoint is reachable from your running environment.
- MCP configuration can include additional environment variables if supported by the server; consult the upstream repository for any optional options.
- For local development, you can test connectivity by temporarily providing a test JMAP_TOKEN with limited scope.
Related MCP Servers
zen
Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage
MCP -Deepseek_R1
A Model Context Protocol (MCP) server implementation connecting Claude Desktop with DeepSeek's language models (R1/V3)
mcp-fhir
A Model Context Protocol implementation for FHIR
mcp
Inkdrop Model Context Protocol Server
mcp-appium-gestures
This is a Model Context Protocol (MCP) server providing resources and tools for Appium mobile gestures using Actions API..
dubco -npm
The (Unofficial) dubco-mcp-server enables AI assistants to manage Dub.co short links via the Model Context Protocol. It provides three MCP tools: create_link for generating new short URLs, update_link for modifying existing links, and delete_link for removing short links.