Proton Mail MCP vs Email MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Proton Mail MCP vs Email MCP
In-depth architectural comparison of the Proton Mail MCP and Email 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
Email MCP
Communication · Local stdio
Quality: 68/100 (Great) | Auth: other
Verdict Summary: Choose Proton Mail MCP if you need specialized Communication tools running via a local process. Choose Email MCP if your workspace requires Communication integration with local subprocess execution. 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.
Unified MCP server for email across Gmail (REST API), Outlook (Microsoft Graph), iCloud, and generic IMAP/SMTP. 24 tools for search, send, organize, and batch-manage emails with built-in OAuth2 and encrypted credential storage.
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, Email MCP belongs to Communication using local stdio subprocess. Select Proton Mail MCP when you need capabilities focused on communication and Email 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
Email MCP Tools (31)
email_list_accounts
List all configured email accounts and their connection status
email_add_account
Add a new IMAP or iCloud email account (Gmail and Outlook require the setup wizard for OAuth)
email_remove_account
Remove an email account
email_test_account
Test an email account connection
email_list_folders
List all email folders for an account
email_search
Search emails with filters. By default returns compact results without full body content to save context. Set returnBody=true to include full email bodies.
email_get
Get a single email by ID
email_get_thread
Get an email thread by thread ID
email_get_attachment
Get an email attachment by ID, returns base64 encoded data
email_save_attachment
Download an email attachment and save it directly to disk, returning metadata only (no base64 in the response) — avoids paying the token cost of round-tripping large attachments through the calling model. outputPath is relative to a fixed downloads directory (/home/user/.email-mcp/downloads, override with EMAIL_MCP_DOWNLOADS_DIR) and cannot escape it.