Set up
Runs on your computer. Pick your agent and operating system.
Before you start
- Node.js 20 or newer
{
"mcpServers": {
"barhatch-protonmail-mcp-server": {
"command": "npx",
"args": [
"-y",
"protonmail-mcp-server"
]
}
}
}same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12
Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs
README
synced Oct 25, 2026ProtonMail MCP Server
Model Context Protocol server for ProtonMail with 23 tools for email management through Proton Bridge.
Features
- Email sending - Send emails with HTML/text, attachments, CC/BCC, custom headers
- Email reading - Fetch, search, and filter emails via IMAP
- Folder management - Create, delete, rename, list, and sync folders
- Email operations - Mark read/unread, star, move, delete
- Analytics - Email volume trends, contact statistics, response time analysis
- System tools - Connection status, cache management, logging
Quick Start
Prerequisites
- ProtonMail account
- Proton Bridge installed and running
- Node.js 18.0.0+
Installation
From npm:
npm install -g protonmail-mcp-server
From source:
git clone https://github.com/barhatch/protonmail-mcp-server.git
cd protonmail-mcp-server
npm install && npm run build
Configuration
Edit Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"protonmail": {
"command": "npx",
"args": ["-y", "protonmail-mcp-server"],
"env": {
"PROTONMAIL_USERNAME": "your-email@protonmail.com",
"PROTONMAIL_PASSWORD": "your-bridge-password",
"PROTONMAIL_SMTP_HOST": "127.0.0.1",
"PROTONMAIL_SMTP_PORT": "1025",
"PROTONMAIL_IMAP_HOST": "127.0.0.1",
"PROTONMAIL_IMAP_PORT": "1143"
}
}
}
}
Notes:
- Use
127.0.0.1notlocalhostto avoid IPv6 issues - Password is your Proton Bridge password, not your ProtonMail login
- Get Bridge password from Proton Bridge → Settings → Mailbox Password
Available Tools
Email Sending
send_email- Send email with HTML/text, attachments, CC/BCCsend_test_email- Send test email
Email Reading
get_emails- Fetch emails with pagination/filteringget_email_by_id- Get specific emailsearch_emails- Search with multiple criteria
Folder Management
get_folders- List folders with statssync_folders- Sync folder structurecreate_folder- Create new folderdelete_folder- Delete folder (must be empty)rename_folder- Rename folder
Email Actions
mark_email_read- Mark read/unreadstar_email- Star/unstarmove_email- Move between foldersdelete_email- Delete permanently
Analytics
get_email_stats- Email statisticsget_email_analytics- Analytics and insightsget_contacts- Contact interaction statsget_volume_trends- Email volume over time
System
get_connection_status- Check SMTP/IMAP statussync_emails- Manual syncclear_cache- Clear cacheget_logs- Get logs
Troubleshooting
Connection refused ::1:1143
- Use
127.0.0.1instead oflocalhost - Verify Proton Bridge is running:
lsof -i :1025 -i :1143
Authentication failed
- Use Proton Bridge password (not ProtonMail login)
- Get from Proton Bridge → Settings → Mailbox Password
Certificate errors
- Self-signed certs are automatically accepted for localhost
Development
npm run dev # Watch mode
npm run build # Build
npm run lint # Type check
License
MIT - See LICENSE
Links
Unofficial third-party server, not affiliated with Proton AG.