Proton Mail MCP vs Jmap MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Proton Mail MCP vs Jmap MCP
In-depth architectural comparison of the Proton Mail MCP and Jmap MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Proton Mail MCP
Communication · Local stdio
Quality: 59/100 (Good) | Auth: other
Jmap MCP
Communication · Remote HTTP/SSE
Quality: 61/100 (Good) | Auth: API Key required
Verdict Summary: Choose Proton Mail MCP if you need specialized Communication tools running via a local process. Choose Jmap MCP if your workspace requires Communication integration with remote web transport. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Proton Mail MCP when:
You need dedicated capabilities in the Communication domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: other (Free / Open Source).
You have access to required keys: PROTONMAIL_USERNAME, PROTONMAIL_PASSWORD.
Unofficial Proton Mail MCP server — send, read, search, and organize email over SMTP and IMAP (via Proton Mail Bridge). Bulk ops with dry-run previews, read-only mode, and Trash-by-default deletes. Not affiliated with Proton AG.
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.
Category & Scope
Tools & Capabilities Breakdown
Proton Mail MCP Tools (32)
send_email
Send an email using Proton Mail SMTP.
reply_email
Reply to a message with proper threading headers (In-Reply-To, References). Includes the quoted original message with attribution by default.
reply_all_email
Reply to all original recipients (sender + TO + CC), excluding the authenticated user. Same threading + quoting semantics as `reply_email`. Use this instead of `reply_email` + `replyAll: true` for clarity. Self-exclusion covers the whole recipient set including the primary `To`: replying-all to a m…
forward_email
Forward a message to new recipients. Original attachments are carried forward by default. Unlike reply, a forward does **not** set `In-Reply-To`/`References` — it starts its own conversation and leaves the original message's `\Answered` flag untouched.
save_draft
Save an email as a draft without sending it. The draft is placed in the user's `\Drafts` special-use folder (resolved at runtime; falls back to literal `Drafts` if no annotation). Returns the draft UID when available.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Proton Mail MCP is categorized under Communication and uses a local stdio subprocess. In contrast, Jmap MCP belongs to Communication using remote streaming HTTP/SSE transport. Select Proton Mail MCP when you need capabilities focused on communication and Jmap MCP when you require tools for communication.
List all mailbox folders with message and unread counts. No parameters. Counts come from a cached IMAP STATUS that Proton Bridge can serve stale — for an exact count (e.g. before deleting or emptying a folder), use `count_messages` or `folder_stats`, which query the live mailbox. The output include…
list_messages
List recent messages from a folder. Supports UID-based pagination.
read_message
Read a specific message by UID. Returns full headers, body, and attachment metadata. Prefers plain text; strips HTML tags from HTML-only messages. Body-part selection skips parts marked `Content-Disposition: attachment`, so a `text/plain` attachment sitting next to an HTML body is never returned as…
list_attachments
List attachment metadata (part numbers, filenames, types, sizes) for a message without downloading the body. Composes with `download_attachment` for bulk extraction. The reported size is the **decoded** file size (roughly what you get on save), **estimated** from the IMAP-encoded octet count — base…
download_attachment
Download an attachment by MIME part number. Use `list_attachments` or `read_message` first to see available parts. By default returns base64-encoded content inline. Bad part numbers produce an actionable error listing known parts.
search_messages
Search messages by various criteria. Date filters use IMAP semantics: `since` is inclusive, `before` is exclusive.
get_thread
Get all messages in a conversation thread by walking In-Reply-To and References headers. Returns messages sorted chronologically (oldest first).
+20 more tools listed on main page
Jmap MCP Tools (11)
get_mailboxes
List mailboxes/folders with their IDs, names, and metadata. **Call this first**
search_emails
Search emails with filters. **All filters are AND'd together.** Returns only
get_emails
Retrieve specific emails by their IDs. Use `properties` to request only what you
get_threads
Get email threads by their IDs. Thread IDs come from `get_emails` responses
get_email_changes
Get IDs of emails created, updated, or destroyed since a previous state. Use the
get_search_updates
Get changes within a previous search query since its `queryState`. Must use the
mark_emails
Mark emails as read/unread or flagged/unflagged.
move_emails
Move emails to a different mailbox. Use `get_mailboxes` to find the target
delete_emails
Delete emails permanently (cannot be undone). Prefer moving to Trash via
send_email
Send a new email. Requires either `textBody` or `htmlBody` (or both).
reply_to_email
Reply to an existing email. Automatically sets To/CC, Re: subject prefix, and