Proton Mail MCP Server
A Model Context Protocol (MCP) server that gives AI assistants full access to your Proton Mail account -- send, read, search, and organize email over SMTP and IMAP.
⚠️ Unofficial — not affiliated with Proton. This is an independent, community-built project. It is not developed, endorsed, sponsored, or supported by Proton AG. "Proton", "Proton Mail", and "Proton Mail Bridge" are trademarks of Proton AG, used here only to describe interoperability. It talks to Proton Mail over the standard SMTP submission endpoint and the locally-run Proton Mail Bridge; no Proton private API is used. Use at your own risk.
Demo

Features
- Send, reply, and forward email via Proton Mail SMTP with threading headers; dedicated
reply_all_emailtool - Markdown bodies -- pass
markdownBodytosend_email/reply_email/reply_all_email/forward_email; rendered to HTML with a plain-text fallback - Read email via IMAP through Proton Mail Bridge
- Attachments -- send files (base64), download to memory or to disk (
saveTo+ALLOW_FILE_DOWNLOAD_DIR), forward a subset by part number - Search messages by sender, recipient, subject, body, date, flags, size, List-ID, attachment presence, attachment name (substring), and attachment MIME type
- Organize -- move, delete, and flag/unflag messages individually or in bulk; bulk-update labels too
- Bulk operations --
bulk_move,bulk_delete,bulk_update_flags,bulk_update_labelswithdryRunpreview and XOR uid/match input - Folder & label management --
create_folder,create_label,rename_folder,delete_folder(non-destructive on Proton);empty_folder(opt-in viaALLOW_EMPTY_FOLDER=true; not recommended) - Labeling --
update_message_labelsadds and removes Proton labels on a message (additive — message stays in its source folder) - Aggregations --
count_messages,folder_stats,top_senders(withexcludeSelf+ per-row direction) for inbox analytics - Thread mutations --
move_thread,delete_thread,flag_threadwith optional cross-folder walk;get_threaddedupes by Message-ID across mailbox copies - Snippets -- optional
includeSnippetonlist_messagesandsearch_messagesfor at-a-glance previews - List folders with message and unread counts
- Honest accounting -- post-STORE FETCH verify on flags/labels surfaces silently-dropped operations as
notApplied; sent-copy lookup retries SEARCH to defeat Proton's index lag; Reply-To rewrites are surfaced in the send response - Safety first -- delete moves to Trash by default (via special-use resolver), read-only mode via
READONLY=true,dryRunon all bulk ops, MCP tool annotations for client-side confirmation prompts, path-traversal defense on filesystem-touching tools - Security hardened -- input validation, credential sanitization, rate limiting, attachment size limits
- Works with any MCP-compatible client (Claude Desktop, Claude Code, Cursor, etc.)






