Proton
БесплатноНе проверенMCP server for ProtonMail via Proton Bridge — gives AI agents full email management over IMAP/SMTP
Описание
MCP server for ProtonMail via Proton Bridge — gives AI agents full email management over IMAP/SMTP
README
An MCP (Model Context Protocol) server that connects to ProtonMail via Proton Bridge, giving AI agents full email management capabilities over IMAP and SMTP.
Prerequisites
- Proton Bridge — must be installed, logged in, and running
- Node.js >= 18
- A Proton Mail account (any paid plan — Bridge requires it)
Setup
1. Install dependencies
npm install
2. Configure environment
cp .env.example .env
Edit .env with your Bridge credentials:
PROTON_BRIDGE_IMAP_HOST=127.0.0.1
PROTON_BRIDGE_IMAP_PORT=1143
PROTON_BRIDGE_SMTP_HOST=127.0.0.1
PROTON_BRIDGE_SMTP_PORT=1025
[email protected]
PROTON_BRIDGE_PASSWORD=your-bridge-generated-password
Finding your Bridge password: Open Proton Bridge > click your account > "Mailbox details" > copy the password. This is NOT your Proton account password.
3. Build
npm run build
4. Add to your MCP client
Add to your Claude Desktop claude_desktop_config.json or Claude Code settings:
{
"mcpServers": {
"protonmail": {
"command": "node",
"args": ["/absolute/path/to/proton-mcp-server/dist/index.js"]
}
}
}
Tools
Folder Management
| Tool | Description |
|---|---|
list_folders |
List all folders and labels |
create_folder |
Create a new folder (supports nesting with /) |
delete_folder |
Delete a folder (supports dryRun to preview first) |
rename_folder |
Rename or move a folder |
get_folder_stats |
Get total/unread counts for all folders |
Reading Messages
| Tool | Description |
|---|---|
get_messages |
Paginated message list with metadata |
read_message |
Full message content by UID |
get_messages_with_snippets |
Message list with body preview snippets |
search_messages |
Search by sender, subject, date, body text — across multiple folders |
get_thread |
Get all messages in a conversation thread |
get_sender_summary |
Messages grouped by sender with counts and UIDs |
get_inbox_digest |
One-call overview: folder stats + top senders + counts |
get_unread_count |
Quick unread count for a single folder |
get_changes_since |
Stateless: returns new messages since an ISO 8601 timestamp |
Organizing Messages
| Tool | Description |
|---|---|
move_message |
Move a message to a different folder |
apply_label |
Copy a message to a label folder |
remove_label |
Remove a label from a message |
delete_message |
Move a message to Trash |
batch_move_messages |
Move up to 500 messages at once |
batch_apply_label |
Label up to 500 messages at once |
batch_delete_messages |
Trash up to 500 messages at once |
cross_folder_batch_move |
Move messages from multiple source folders to one destination |
move_by_sender |
Move all messages from a specific sender (exact envelope-address match) |
batch_move_by_senders |
Move messages from up to 100 senders in one call over a single connection |
move_by_search |
Search + move in one call |
route / batch_route |
Atomic label-and-move (avoids UID invalidation between separate calls) |
suggest_sender_routes |
Suggests routing rules based on historical sender→folder distribution (inboxOnly filters to actionable senders; limit caps output, default 50) |
Flags
| Tool | Description |
|---|---|
mark_read / mark_unread |
Toggle read status |
star_message / unstar_message |
Toggle star/flag |
batch_mark_read / batch_mark_unread |
Bulk read/unread (up to 500) |
mark_all_read |
Mark entire folder as read |
Sending & Attachments
| Tool | Description |
|---|---|
send_email |
Send email via SMTP (supports HTML, CC/BCC, reply threading) |
get_attachment |
Download an attachment by part ID |
get_attachment_text |
Extract plain text from PDF or text/* attachments |
Batch behavior: All batch organize tools (
batch_move_messages,batch_apply_label,batch_remove_label,batch_delete_messages,cross_folder_batch_move,move_by_sender,batch_move_by_senders,move_by_search,batch_route) acceptdryRun: trueto preview UIDs that would be affected without mutating. All move/copy ops pre-validate folder paths and post-verify counts, returning{success, requested, moved|copied, failedUids?}.Exact sender matching:
move_by_senderandbatch_move_by_senderspost-filter IMAP's substringFROMsearch against the exact envelope address, so[email protected]never grabs[email protected]mail.Clean snippets: Snippets returned by
get_messages_with_snippetsare cleaned via mailparser (quoted-printable decoded, HTML stripped) and includehasUnsubscribe/unsubscribeOneClickflags when theList-Unsubscribeheader is present. FullunsubscribeMailto/unsubscribeHttpURLs are returned only withincludeUnsubscribeLinks: true(they can be very long).
Development
npm run dev # Run with tsx (no build needed)
npm run build # Compile TypeScript
npm test # Run tests
Security Notes
- Credentials are loaded from
.env(gitignored — never committed) - All input is validated with Zod schemas at the MCP boundary
- Batch operations are capped at 500 items
- Email addresses are validated before sending
- IMAP error messages are sanitized to prevent credential leakage
rejectUnauthorized: falseis used for TLS because Proton Bridge uses self-signed certificates on localhost
License
MIT
Установка Proton
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/bernardogv/proton-mcp-serverFAQ
Proton MCP бесплатный?
Да, Proton MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Proton?
Нет, Proton работает без API-ключей и переменных окружения.
Proton — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Proton в Claude Desktop, Claude Code или Cursor?
Открой Proton на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Proton with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
