JMAP

v1.0.0β€’Communicationβ€’stable

πŸ“‡ ☁️ - 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.

jmap-mcpmcpai-integration
Share:
171
Stars
0
Downloads
0
Weekly
0/5

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

Interact with JMAP email servers through AI.
Manage email using JSON Meta Application Protocol.
wyattjoh

Maintainer

LicenseMIT License
Languagetypescript
Versionv1.0.0
UpdatedMay 18, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx jmap-mcp

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

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
1

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.

2

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`.

3

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.

4

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]
5

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.

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.

Quick Config Preview

{ "mcpServers": { "jmap-mcp": { "command": "npx", "args": ["-y", "jmap-mcp"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide β†’

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.

33,000+ ServersFree & Open SourceStep-by-Step Guides