Proton Safe MCP — Claude Code MCP server: features and setup
Connects your agent to Proton Mail via the local desktop Bridge to search mail and draft replies. The server has no send capabilities by design.
claude mcp add --env PROTON_BRIDGE_USER=<PROTON_BRIDGE_USER> --env PROTON_IMAP_PORT=<PROTON_IMAP_PORT> --transport stdio proton-safe-mcp -- uvx proton-safe-mcpWhat Proton Safe MCP does
This server bridges local agents with Proton Mail over STDIO, communicating strictly with 127.0.0.1 through the official Proton Mail Bridge. It searches mailboxes, extracts plain text from incoming attachments, and writes draft messages. Before creating any draft, the server requires explicit confirmation of the recipient and message contents directly in the agent dialogue.
Outgoing delivery is omitted entirely: the codebase lacks SMTP facilities, message deletion, and moving tools. This design protects the workspace against prompt injections hidden inside incoming mail. Without an active Bridge instance and an unlocked system keyring, the server cannot establish an IMAP session.
What it helps with
- search inbox messages inside Proton Mail
- extract readable text from received documents
- prepare draft responses with human review before dispatch
- attach approved local files via chunked base64 transfer
Example prompts for the agent
- Find the latest emails from billing in Proton Mail.
- Read the attached invoice text from the most recent thread.
- Create a draft reply to [email protected] confirming our meeting time.
How to install Proton Safe MCP
Platform CLI
claude mcp add --env PROTON_BRIDGE_USER=<PROTON_BRIDGE_USER> --env PROTON_IMAP_PORT=<PROTON_IMAP_PORT> --transport stdio proton-safe-mcp -- uvx proton-safe-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from proton-safe-mcp <command>
Platform CLI
codex mcp add proton-safe-mcp --env PROTON_BRIDGE_USER=<PROTON_BRIDGE_USER> --env PROTON_IMAP_PORT=<PROTON_IMAP_PORT> -- uvx proton-safe-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from proton-safe-mcp <command>
Config file
{
"mcpServers": {
"proton-safe-mcp": {
"command": "uvx",
"args": [
"proton-safe-mcp"
],
"env": {
"PROTON_BRIDGE_USER": "<PROTON_BRIDGE_USER>",
"PROTON_IMAP_PORT": "<PROTON_IMAP_PORT>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from proton-safe-mcp <command>
Config file
{
"servers": {
"proton-safe-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"proton-safe-mcp"
],
"env": {
"PROTON_BRIDGE_USER": "<PROTON_BRIDGE_USER>",
"PROTON_IMAP_PORT": "<PROTON_IMAP_PORT>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from proton-safe-mcp <command>
Platform CLI
gemini mcp add -e PROTON_BRIDGE_USER=<PROTON_BRIDGE_USER> -e PROTON_IMAP_PORT=<PROTON_IMAP_PORT> proton-safe-mcp uvx proton-safe-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from proton-safe-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Proton Safe MCP
How do I install Proton Safe MCP in Claude Code?
Run claude mcp add proton-safe-mcp -e PROTON_BRIDGE_USER=<PROTON_BRIDGE_USER> -- uvx proton-safe-mcp or use the explicit port syntax `claude mcp add --env PROTON_BRIDGE_USER=<PROTON_BRIDGE_USER> --env PROTON_IMAP_PORT=<PROTON_IMAP_PORT> --transport stdio proton-safe-mcp -- uvx proton-safe-mcp`. Replace the placeholders with your Bridge credentials.
Why can the server not send messages?
It omits SMTP libraries and dispatch tools on purpose so malicious email contents cannot trigger unintended outbound messages. You inspect the draft and click Send in Proton Mail yourself.
What system requirements must be met before running it?
You need a running Proton Mail Bridge on a paid Proton subscription, a functional system keyring such as gnome-keyring, and Python 3.11–3.14 with uv.