protonmail-mcp
Provides tools for managing and interacting with ProtonMail via the local ProtonMail Bridge, including reading, searching, sending, replying to, and forwarding emails, managing labels and folders, and downloading attachments.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@protonmail-mcpsearch my emails for meeting notes from yesterday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
protonmail-mcp
An MCP (Model Context Protocol) server for ProtonMail, connected through ProtonMail Bridge.
Unlike generic IMAP MCP servers, this connector is Bridge-aware:
Auto-detects a local Bridge install and discovers its IMAP/SMTP ports and TLS certificate.
Verifies TLS against Bridge's own certificate — never
verify=False(enforced by a test that scans the source tree).Understands ProtonMail's model: labels are folders under
Labels/, custom folders live underFolders/, and destructive operations on the virtualAll Mailview are refused with an explanation.Turns every Bridge failure mode into an actionable message: not installed, not running, wrong bridge password, certificate mismatch.
Prerequisites
ProtonMail Bridge installed, running, and logged in (Bridge requires a paid Proton plan).
Python ≥ 3.12, or just
uv— it provisions Python for you.
Related MCP server: Proton Mail MCP Server
Install
# Guided setup: discovers Bridge, writes config, checks the login
uvx protonmail-mcp setup
# Run the MCP server (stdio)
uvx protonmail-mcpMCP client configuration
Claude Code:
claude mcp add protonmail -- uvx protonmail-mcpClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"protonmail": {
"command": "uvx",
"args": ["protonmail-mcp"]
}
}
}Configuration
~/.config/protonmail-mcp/config.toml (created by setup, permissions 600):
[[accounts]]
name = "default"
email = "you@proton.me"
display_name = "Your Name"
password = "<bridge password from Bridge → Mailbox details>"
# Optional — only needed when Bridge uses non-default ports:
# imap = { port = 1143 }
# smtp = { port = 1025 }Multiple [[accounts]] blocks are supported; tools take an account
parameter (default "default").
Environment variables configure a single account without a file:
PROTONMAIL_MCP_ADDRESS, PROTONMAIL_MCP_PASSWORD, and optionally
PROTONMAIL_MCP_USERNAME, PROTONMAIL_MCP_ACCOUNT_NAME,
PROTONMAIL_MCP_IMAP_HOST, PROTONMAIL_MCP_IMAP_PORT,
PROTONMAIL_MCP_SMTP_HOST, PROTONMAIL_MCP_SMTP_PORT.
Tools
Reading
Tool | Description |
| List configured accounts (no credentials) |
| Folders with message/unread counts |
| Paginated listing with unread/sender/date filters; |
| Full body, headers, threading ids, attachment metadata |
| Keyword search across subject, sender, and body |
| Conversation reconstruction via Message-ID/References |
| One attachment, base64, capped at 5 MB |
Sending
Tool | Description |
| New email (text or HTML, cc/bcc); Bridge files it into Sent |
| Reply with In-Reply-To/References threading, quoting, reply-all |
| Forward with the original quoted |
| Save to Drafts without sending |
Organisation
Tool | Description |
| Move between folders |
| To Trash by default; permanent only with |
| Read/unread, flagged/unflagged |
| New folder (bare names go under |
ProtonMail labels
Tool | Description |
| Labels (folders under |
| Copy the email into |
| Delete the email's copy from the label folder (located by Message-ID) |
| Manage label folders |
Diagnostics
Tool | Description |
| Bridge install, ports (and how they were discovered), certificate, accounts |
| IMAP + SMTP login and latency per account; structured guidance when Bridge is down |
| Server liveness |
Security
All Bridge connections use STARTTLS, verified against Bridge's own self-signed certificate loaded as the only trust root (certificate pinning). TLS verification is never disabled.
Passwords live in a
chmod 600config file (or env vars) and are never logged; validation errors name keys, not values.Message bodies are never logged at info level or above.
Attachment downloads are capped at 5 MB.
Everything stays on 127.0.0.1 — this server talks only to your local Bridge, never to Proton's servers directly.
Development
uv sync
uv run ruff format --check . && uv run ruff check .
uv run mypy
uv run pytestConventional Commits are required — see CONTRIBUTING.md.
The product requirements, including live-verification results against a
real Bridge v3 install, live in docs/prd.md. The
behavioral reference for Proton label semantics is the sibling
email-mcp TypeScript server.
Bridge v3 notes (verified against a real install):
Port settings live in Bridge's encrypted vault, so discovery falls back to the defaults (1143/1025) with a logged notice; override ports in the config if you changed them in Bridge.
The TLS certificate also lives in the vault and must be exported once: Bridge → Settings → Advanced settings → "Export TLS certificates", saving
cert.pemto~/.config/protonmail-mcp/(or setPROTONMAIL_MCP_CERTto its location). Thesetupwizard walks you through this.
License
LGPL-3.0-or-later — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Connect any mailbox to Claude, ChatGPT & AI: read, send, reply, schedule & search emails.
Email inboxes for AI agents: send, receive, reply, search, and manage threaded email over MCP.
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to send, read, search, and organize emails via ProtonMail using Proton Bridge. Supports MCP-compatible clients like Claude and Cursor.17323MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to send, read, search, and organize email from Proton Mail accounts via SMTP and IMAP.122MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to send, read, search, and organize Proton Mail email via SMTP and IMAP through the Model Context Protocol.MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to read and search Proton Mail inbox through Proton Mail Bridge, providing tools to list mailboxes, list messages, search messages, and fetch full message bodies. Read-only, with secure certificate pinning.427MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dadamonis/protonmail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server