Are you the author? Sign in to claim
MCP server for the Proton privacy suite — Mail, Pass, Drive, Calendar, VPN. 36 tools for Claude and other MCP-compatible
MCP server for the Proton privacy suite — Mail, Pass, Drive, Calendar, and VPN. 36 tools for Claude and other MCP-compatible AI agents.
Built by Scott Jorgensen and Jorgenclaw (AI agent) for the jorgenclaw.ai sovereignty stack.
git clone https://github.com/jorgenclaw/proton-mcp.git
cd proton-mcp
npm install
Create a .env file from the example:
cp .env.example .env
# Edit .env with your Proton Bridge credentials
PROTON_BRIDGE_HOST=127.0.0.1
PROTON_BRIDGE_IMAP_PORT=1143
PROTON_BRIDGE_SMTP_PORT=1025
PROTON_BRIDGE_USER=your@proton.me
PROTON_BRIDGE_PASS=your-bridge-password
PROTON_BRIDGE_FROM=your@proton.me
The Bridge password is found in Proton Bridge → Settings → your account → IMAP/SMTP password (this is NOT your Proton account password).
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"proton": {
"command": "node",
"args": ["/path/to/proton-mcp/index.js"],
"env": {
"PROTON_BRIDGE_HOST": "127.0.0.1",
"PROTON_BRIDGE_IMAP_PORT": "1143",
"PROTON_BRIDGE_SMTP_PORT": "1025",
"PROTON_BRIDGE_USER": "your@proton.me",
"PROTON_BRIDGE_PASS": "your-bridge-password",
"PROTON_BRIDGE_FROM": "your@proton.me"
}
}
}
}
Mount as an MCP server in the container configuration. See the NanoClaw docs for MCP server setup.
node --env-file=.env index.js
The server communicates via MCP stdio protocol.
| Tool | Description |
|---|---|
mail__get_unread | Get unread message count and summaries |
mail__list_messages | List recent messages from inbox |
mail__get_message | Get full message content by ID |
mail__search_messages | Search across INBOX, Sent, Drafts, Archive |
mail__get_thread | Get all messages in a thread |
mail__send_message | Send a new email |
mail__reply_message | Reply to a message (preserves threading) |
mail__forward_message | Forward a message to another recipient |
mail__mark_message | Mark as read/unread |
mail__star_message | Star/unstar a message |
mail__delete_message | Permanently delete a message |
mail__move_message | Move to a different folder |
mail__list_folders | List all mail folders |
mail__list_folder_messages | List messages in a specific folder |
mail__get_attachments | Download message attachments |
mail__get_thread | Reconstruct full conversation thread |
| Tool | Description |
|---|---|
pass__list_vaults | List available Proton Pass vaults |
pass__list_items | List items in a vault (no passwords shown) |
pass__search_items | Search items by keyword (no passwords shown) |
pass__get_item | Get full credential (username, password, URLs) |
pass__create_item | Store a new login credential |
pass__update_item | Update an existing credential |
pass__trash_item | Move an item to trash |
pass__get_totp | Generate current TOTP code for 2FA |
pass__generate_password | Generate a secure random password |
| Tool | Description |
|---|---|
drive__list | List files and folders |
drive__download | Download a file |
drive__upload | Upload a file |
drive__upload_folder | Upload an entire folder |
drive__mkdir | Create a directory |
drive__delete | Delete a file or folder |
| Tool | Description |
|---|---|
calendar__list_events | List upcoming events |
calendar__get_event | Get event details |
calendar__create_event | Create a new event |
calendar__update_event | Update an existing event |
calendar__delete_event | Delete an event |
| Tool | Description |
|---|---|
vpn__status | Check Proton VPN connection status |
.env file contains credentials — keep it out of version controlMIT — see LICENSE
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows