Skip to main content
Glama
krantiutils

Proton Bridge MCP

by krantiutils

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-To and References for 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_send is set.

Related MCP server: protonmail-mcp

Requirements

  • Python 3.10+

  • Proton Mail Bridge running locally

  • Bridge IMAP enabled, usually 127.0.0.1:1143

  • Bridge 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 3

Dry-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.pdf

Actually 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-send

Verify sent headers:

python3 -m krantiutils_proton.cli verify-sent \
  --to-addr collaborator@example.com \
  --subject-contains "Paper draft" \
  --limit 5

Send a controlled threading test to yourself:

python3 -m krantiutils_proton.cli thread-test \
  --to you+thread-test@example.com \
  --count 3 \
  --confirm-send

MCP Server

Run:

./proton-bridge-mcp

Codex-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_headers

  • proton_latest_thread_anchor

  • proton_send_email

  • proton_reply_to_latest

  • proton_verify_sent

  • proton_send_thread_test

Agent Workflow

For a thread-safe reply:

  1. Use proton_latest_thread_anchor to find the latest incoming message in the target thread.

  2. Inspect the returned message_id, in_reply_to, references, sender, and subject.

  3. Dry-run proton_reply_to_latest without confirm_send.

  4. Check recipient, subject, attachment paths, and the generated In-Reply-To/References.

  5. Send only after explicit user approval with confirm_send: true.

  6. Use proton_verify_sent to 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.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    F
    maintenance
    Enables comprehensive ProtonMail management through SMTP and IMAP, supporting email sending/reading, folder operations, analytics, and contact tracking with advanced search and automation capabilities.
    Last updated
    39
  • A
    license
    -
    quality
    C
    maintenance
    Enables 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.
    Last updated
    14
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to send, read, search, and organize emails via ProtonMail using Proton Bridge. Supports MCP-compatible clients like Claude and Cursor.
    Last updated
    17
    27
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Unofficial MCP server for Proton Mail (not affiliated with Proton AG) — send, read, search & organize email over SMTP/IMAP
    Last updated
    31
    111
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…

  • Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.

  • Continuity protocol for autonomous AI agents. Agent messaging with SMTP bridge and LN payments.

View all MCP Connectors

Latest Blog Posts

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/krantiutils/proton-bridge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server