
JMAP Email
A JMAP protocol wrapper that gives you programmatic access to email operations like querying, moving, flagging, and deleting messages, plus mailbox management and Sieve script editing. Built on the Go MCP SDK and talks to any JMAP-compatible server (Fastmail, Cyrus, etc). You get tight mappings to JMAP methods from RFC 8621, so email_query hits Email/query, email_set handles mutations, and mailbox operations work as you'd expect. Email sending and Sieve tools are gated behind flags since they're higher risk. Runs in stdio mode for local use or HTTP mode for shared deployments, with per-request auth tokens in the latter. Reach for this when you need Claude to interact with JMAP mail providers directly instead of fumbling with IMAP.
- GitHub stars
- 1
- tools
- 14
- auth
- Secret needed
- transport
- STDIO
- env vars
- 2
- last updated
- Feb 19, 2026
Tools
14 toolsPublic tool metadata for what this MCP can expose to an agent.
mailbox_getGet mailboxes by ID, or list all
Get mailboxes by ID, or list all
No parameter schema in public metadata yet.
mailbox_setCreate, update, or destroy mailboxes
Create, update, or destroy mailboxes
No parameter schema in public metadata yet.
email_querySearch emails with filters, returns IDs and total count
Search emails with filters, returns IDs and total count
No parameter schema in public metadata yet.
email_getGet full content of emails by ID
Get full content of emails by ID
No parameter schema in public metadata yet.
email_createCreate a new email draft in the Drafts mailbox
Create a new email draft in the Drafts mailbox
No parameter schema in public metadata yet.
email_moveMove emails to a different mailbox
Move emails to a different mailbox
No parameter schema in public metadata yet.
email_flagSet or remove flags (seen, flagged, answered, draft)
Set or remove flags (seen, flagged, answered, draft)
No parameter schema in public metadata yet.
email_deleteDelete emails (move to Trash or permanently destroy)
Delete emails (move to Trash or permanently destroy)
No parameter schema in public metadata yet.
email_attachment_urlSigned URL streaming an attachment, expires in 30 s (HTTP mode only)
Signed URL streaming an attachment, expires in 30 s (HTTP mode only)
No parameter schema in public metadata yet.
identity_getList sender identities (email addresses)
List sender identities (email addresses)
No parameter schema in public metadata yet.
email_submission_setSubmit a draft for delivery (requires -enable-send)
Submit a draft for delivery (requires -enable-send)
No parameter schema in public metadata yet.
sieve_getList all scripts, or get one with full content (requires -enable-sieve)
List all scripts, or get one with full content (requires -enable-sieve)
No parameter schema in public metadata yet.
sieve_setCreate, update, or destroy Sieve scripts (requires -enable-sieve)
Create, update, or destroy Sieve scripts (requires -enable-sieve)
No parameter schema in public metadata yet.
sieve_validateValidate a Sieve script without saving (requires -enable-sieve)
Validate a Sieve script without saving (requires -enable-sieve)
No parameter schema in public metadata yet.
Sponsors
Configuration
JMAP_SESSION_URL*JMAP session endpoint URL (e.g. https://api.fastmail.com/jmap/session)
JMAP_AUTH_TOKEN*secretJMAP bearer token for authentication
Readme
jmap-mcp
MCP server exposing JMAP email and Sieve script operations as tools.
Built with the Go MCP SDK (go-sdk) and jmap library.
Tools
Tools map closely to JMAP methods. Email mutation tools provide structured convenience wrappers over Email/set patches.
Mailbox (RFC 8621)
| Tool | JMAP Method | Description |
|---|---|---|
mailbox_get | Mailbox/get | Get mailboxes by ID, or list all |
mailbox_set | Mailbox/set | Create, update, or destroy mailboxes |
Email (RFC 8621)
Details
- Repository
- github.com/mikluko/jmap-mcp
- Category
- Communication & Messaging
- Package
ghcr.io/mikluko/jmap-mcp:0.10.0- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active