protonmail-mcp
Provides tools to search, read, draft, send, and manage emails in Proton Mail via Proton Bridge.
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-mcpCheck my unread mail and summarize anything that needs a reply today"
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
Give your AI coding agent access to your ProtonMail — search, read, draft, and send — from Claude Code, Claude Desktop, Cursor, or any MCP client.
"Check my Proton and tell me anything I need to deal with today." "Find Sarah's last email and draft a reply saying Thursday at 2pm works — don't send it yet."
Because Proton is end-to-end encrypted, there's no public mail API — so this talks to Proton
Bridge, the official local gateway Proton ships for exactly this. Everything stays on 127.0.0.1;
your decrypted mail never leaves your machine, and nothing here is a hosted service.
Before you start — the one requirement
You need Proton Bridge running on the same machine.
Bridge requires a paid Proton plan (Mail Plus / Proton Unlimited). Free Proton accounts can't use Bridge, and therefore can't use this. That's a Proton limitation, not ours.
Bridge runs on macOS, Windows, and Linux (headless via
protonmail-bridge --clion servers).Bridge gives each account its own generated IMAP/SMTP username & password — you'll use those here, not your normal Proton login.
Install
# Claude Code — one line, no global install:
claude mcp add protonmail --scope user -- npx -y protonmail-mcpThen tell it how to reach Bridge — either environment variables or a config file.
Config file (~/.config/protonmail-mcp/config.json):
{
"user": "you@proton.me",
"pass": "your-bridge-generated-password",
"imapPort": 1143,
"smtpPort": 1025
}Or environment variables: PROTONMAIL_USER, PROTONMAIL_PASS, PROTONMAIL_IMAP_PORT,
PROTONMAIL_SMTP_PORT. (Copy config.example.json for the full set of options.)
Check it works before wiring it into an agent:
npx protonmail-mcp doctorThat connects to Bridge, authenticates, and lists your mailboxes — so any setup problem shows up here with a clear message instead of failing cryptically mid-conversation.
Other MCP clients
Any MCP client works — point it at the protonmail-mcp command over stdio. For a JSON-config client
(Claude Desktop, Cursor, …):
{
"mcpServers": {
"protonmail": {
"command": "npx",
"args": ["-y", "protonmail-mcp"],
"env": { "PROTONMAIL_USER": "you@proton.me", "PROTONMAIL_PASS": "…" }
}
}
}Tools
Read (safe — let the agent run these freely):
Tool | What it does |
| List folders/labels |
| Newest messages in a mailbox (summaries) |
| Unread messages (summaries) |
| Search by text / from / to / subject / date range |
| Full message by uid (quoted history trimmed by default) |
Write (your MCP client should ask before running these):
Tool | What it does |
| Save a draft (never sends) |
| Threaded reply — saves a draft by default, |
| Send a new email immediately |
| Toggle the read flag |
| Move between folders |
| Move to Trash (reversible until emptied) |
Set "readOnly": true (or PROTONMAIL_READONLY=1) to register only the read tools — a hard
guarantee the agent can never send, move, or delete, regardless of client approval settings.
Safety model
The write tools that matter — send_message, trash_message, and reply_to_message with
send=true — are named and described so your MCP client's per-tool approval is the natural gate;
reads never prompt. Prefer drafting over sending: the agent writes, you review in Proton, you
hit send. For an unattended/headless setup, run readOnly and there's simply nothing dangerous to
approve.
On your phone
This is a local server, so it's reachable wherever your agent is. Pair the machine with BrainBoxx and you can do the whole thing from your pocket — "check my Proton and tell me what needs dealing with" on the train, replies drafted by the time you're home.
How it works
MCP client (Claude Code / Cursor / …)
│ MCP over stdio
▼
protonmail-mcp ──IMAP──► 127.0.0.1:1143 ┐
│ ──SMTP──► 127.0.0.1:1025 ├─ Proton Bridge ──► Proton Mail
└── clean JSON in, tool calls out ┘ (local, TLS, your machine only)Bridge presents a self-signed cert on localhost (expected); this trusts it by default for
127.0.0.1. Set "allowSelfSigned": false to enforce full verification if you've given Bridge a
trusted cert.
Licence
MIT © 2026 Simon Stark. Not affiliated with or endorsed by Proton AG.
This server cannot be installed
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
Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.
Shipmail MCP server for AI agent custom-domain email inboxes with REST API and webhooks.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
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/apexxapps/proton-mail-bridge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server