protonmail-mcp-server

protonmail-mcp-server

MCP server for reading, searching, and sending ProtonMail emails via the ProtonMail Bridge.

Category
Visit Server

README

protonmail-mcp-server

CI

A Model Context Protocol server that lets Claude read, search, and send email through a locally running ProtonMail Bridge.

Requirements

Installation

git clone https://github.com/mattias242/protonmail-mcp-server
cd protonmail-mcp-server
uv sync
cp .env.example .env

Edit .env:

PROTONMAIL_USERNAME=user@proton.me
PROTONMAIL_PASSWORD=bridge-generated-password  # from the Bridge app, not your Proton password

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "protonmail": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/protonmail-mcp-server", "protonmail-mcp"],
      "env": {
        "PROTONMAIL_USERNAME": "user@proton.me",
        "PROTONMAIL_PASSWORD": "bridge-password"
      }
    }
  }
}

Claude Code

claude mcp add protonmail -s user -- uv --directory /path/to/protonmail-mcp-server run protonmail-mcp

Then set credentials in ~/.claude.json under the protonmail entry's env field.

Available tools (16)

Reading

Tool Description
list_mailboxes List all folders and labels (with type: folder|label)
get_mailbox_status Count messages and unread in a folder
list_emails List emails with metadata — paginated (page, page_size, has_more)
get_email Fetch full email — supports body_format (full/text/stripped) and max_length
get_email_headers Fetch headers only, no body (fast)
search_emails Search by from/subject/date/unread — returns metadata, accepts ISO 8601 dates

Sending

Tool Description
send_email Send an email (to, subject, body, cc, bcc, reply_to)
reply_to_email Reply — sets Re: prefix, In-Reply-To and References headers automatically
forward_email Forward — sets Fwd: prefix and quotes original

Management

Tool Description
mark_email_read Mark as read
mark_email_unread Mark as unread
move_email Move to another folder
delete_email Delete an email

Folders

Tool Description
create_folder Create a new folder
delete_folder Delete a folder (must be empty)
rename_folder Rename a folder

Testing

# Unit and BDD tests (no Bridge required)
uv run pytest tests/unit/ tests/features/ -v

# Integration tests (requires running Bridge + .env)
uv run pytest tests/integration/ -m integration -v

Or test interactively with the MCP Inspector:

npx @modelcontextprotocol/inspector uv run protonmail-mcp

Open http://localhost:6274 → Connect → Tools.

Configuration

All settings use the PROTONMAIL_ prefix and can be set in .env or as environment variables:

Variable Default Description
PROTONMAIL_USERNAME Your Proton email address
PROTONMAIL_PASSWORD Bridge-generated password
PROTONMAIL_IMAP_HOST 127.0.0.1 IMAP host
PROTONMAIL_IMAP_PORT 1143 IMAP port
PROTONMAIL_SMTP_HOST 127.0.0.1 SMTP host
PROTONMAIL_SMTP_PORT 1026 SMTP port
PROTONMAIL_VERIFY_SSL false Enable SSL verification
PROTONMAIL_SMTP_CA_CERT Path to Bridge cert for pinning

Technical notes

ProtonMail Bridge v3 exposes:

  • IMAP on 127.0.0.1:1143 — plain TCP
  • SMTP on 127.0.0.1:1026 — direct TLS with self-signed certificate

The IMAP connection is persistent (one per server session) with automatic reconnect on timeout. SMTP connects per send.

License

GNU General Public License v3.0 — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured