Proton Bridge MCP
Provides tools for searching, replying to, and verifying threaded email messages through Proton Mail Bridge using SMTP and IMAP.
Allows sending correctly threaded replies via Proton Mail Bridge, with search, dry-run, and header verification capabilities.
Click on "Deploy 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., "@Proton Bridge MCPSend a threaded reply to the latest email from Bob about project status"
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.
Proton Bridge MCP
CLI and MCP server for sending correctly threaded replies through Proton Mail Bridge.
The main lesson encoded here is simple:
Use Proton Bridge SMTP with explicit
In-Reply-ToandReferencesfor agent-sent replies.Do not create same-thread reply drafts by IMAP
APPEND; Proton Bridge may rewrite those draft headers and the sent email can leave the original conversation.Proton web/app reply composer is also safe because it creates the reply from the existing conversation.
Features
Search message headers through Proton Bridge IMAP.
Find a thread anchor by sender and subject.
Send a threaded reply through Proton Bridge SMTP.
Verify sent-message headers.
Expose the same operations as MCP tools for coding agents.
Sending tools are dry-run by default unless
confirm_sendis set.
Related MCP server: ProtonMail MCP Server
Requirements
Python 3.10+
Proton Mail Bridge running locally
Bridge IMAP enabled, usually
127.0.0.1:1143Bridge SMTP enabled, usually
127.0.0.1:1025
No third-party Python dependencies are required.
Configuration
Set the Bridge account and Bridge mailbox password:
export PROTON_BRIDGE_ACCOUNT="you@example.com"
export PROTON_BRIDGE_PASSWORD="your-bridge-mailbox-password"PROTON_PW is also accepted for the password if you already use that name.
These are Proton Bridge credentials, not necessarily your Proton web password.
CLI Usage
From the repo root:
python3 -m krantiutils_proton.cli search \
--from-addr collaborator@example.com \
--subject-contains "Paper draft" \
--limit 3Dry-run a threaded reply to the latest matching incoming message:
python3 -m krantiutils_proton.cli reply-latest \
--thread-from collaborator@example.com \
--subject-contains "Paper draft" \
--to collaborator@example.com \
--body-file /tmp/reply.txt \
--attach /tmp/paper.pdfActually send only after checking the dry-run output:
python3 -m krantiutils_proton.cli reply-latest \
--thread-from collaborator@example.com \
--subject-contains "Paper draft" \
--to collaborator@example.com \
--body-file /tmp/reply.txt \
--attach /tmp/paper.pdf \
--confirm-sendVerify sent headers:
python3 -m krantiutils_proton.cli verify-sent \
--to-addr collaborator@example.com \
--subject-contains "Paper draft" \
--limit 5Send a controlled threading test to yourself:
python3 -m krantiutils_proton.cli thread-test \
--to you+thread-test@example.com \
--count 3 \
--confirm-sendMCP Server
Run:
./proton-bridge-mcpCodex-style config:
[mcp_servers.proton_bridge]
command = "/absolute/path/to/proton-bridge-mcp/proton-bridge-mcp"
env = { PROTON_BRIDGE_ACCOUNT = "you@example.com" }Set PROTON_BRIDGE_PASSWORD in the environment available to the MCP process.
Available tools:
proton_search_headersproton_latest_thread_anchorproton_send_emailproton_reply_to_latestproton_verify_sentproton_send_thread_test
Agent Workflow
For a thread-safe reply:
Use
proton_latest_thread_anchorto find the latest incoming message in the target thread.Inspect the returned
message_id,in_reply_to,references, sender, and subject.Dry-run
proton_reply_to_latestwithoutconfirm_send.Check recipient, subject, attachment paths, and the generated
In-Reply-To/References.Send only after explicit user approval with
confirm_send: true.Use
proton_verify_sentto confirm the sent copy kept thread headers.
Never claim an IMAP-created draft is definitely on the original thread unless
the stored draft has the expected In-Reply-To and References headers.
This server cannot be deployed
Maintenance
Related MCP Connectors
Letterkeel: send email from your own domain via SMTP, Resend, SendGrid, Mailgun, Postmark
Letterkeel: send email from your own domain via SMTP, Resend, SendGrid, Mailgun, Postmark
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI clients to interact with ProtonMail accounts through the Proton Bridge using SMTP and IMAP protocols. Provides email management capabilities via secure local bridge connections.8 npmMIT
- AlicenseAqualityCmaintenanceEnables AI agents to send, read, search, and organize emails via ProtonMail using Proton Bridge. Supports MCP-compatible clients like Claude and Cursor.1716 npm4MIT
- AlicenseAqualityCmaintenanceUnofficial MCP server for Proton Mail (not affiliated with Proton AG) — send, read, search & organize email over SMTP/IMAP3173 npm6MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to send, read, search, and organize Proton Mail email via SMTP and IMAP through the Model Context Protocol.MIT