loading…
Search for a command to run...
loading…
Enables AI clients to interact with ProtonMail accounts through the Proton Bridge using SMTP and IMAP protocols. Provides email management capabilities via secu
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.
MCP server that gives AI assistants full access to your ProtonMail account via Proton Bridge. Read, send, search, and manage email through any MCP-compatible client.
npm install -g @darkroomhq/protonmail-mcp
Or use without installing:
npx @darkroomhq/protonmail-mcp
Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"protonmail": {
"command": "protonmail-mcp",
"env": {
"PROTONMAIL_USERNAME": "[email protected]",
"PROTONMAIL_PASSWORD": "bridge-app-password"
}
}
}
}
With npx (no global install needed):
{
"mcpServers": {
"protonmail": {
"command": "npx",
"args": ["-y", "@darkroomhq/protonmail-mcp"],
"env": {
"PROTONMAIL_USERNAME": "[email protected]",
"PROTONMAIL_PASSWORD": "bridge-app-password"
}
}
}
}
Note:
PROTONMAIL_PASSWORDis the Bridge app password shown in Proton Bridge, not your ProtonMail account password.
| Variable | Required | Default | Description |
|---|---|---|---|
PROTONMAIL_USERNAME |
Yes | — | Your ProtonMail email address |
PROTONMAIL_PASSWORD |
Yes | — | Proton Bridge app password |
SMTP_HOST |
No | 127.0.0.1 |
Bridge SMTP host |
SMTP_PORT |
No | 1025 |
Bridge SMTP port |
IMAP_HOST |
No | 127.0.0.1 |
Bridge IMAP host |
IMAP_PORT |
No | 1143 |
Bridge IMAP port |
DEBUG |
No | false |
Enable debug logging |
| Tool | Description |
|---|---|
sendEmail |
Send an email with optional CC, BCC, HTML body, attachments, and priority |
replyEmail |
Reply to an existing email by UID |
listFolders |
List all mailboxes and folders |
listEmails |
List emails with pagination (page-based or stable cursor via beforeUid) |
readEmail |
Read email by UID (supports headersOnly and maxBodyLength for efficiency) |
searchEmails |
Search by sender, subject, body, date range, read/flagged status (with cursor pagination) |
bulkAction |
Bulk delete, move, mark read/unread, flag/unflag by criteria or UIDs (dry run by default) |
markRead |
Mark an email as read |
markUnread |
Mark an email as unread |
flagEmail |
Star/flag an email |
unflagEmail |
Remove star/flag from an email |
moveEmail |
Move an email to another folder |
deleteEmail |
Move an email to Trash |
createFolder |
Create a new mail folder |
deleteFolder |
Delete a mail folder |
renameFolder |
Rename a mail folder |
createLabel |
Create a new mail label |
deleteLabel |
Delete a mail label |
renameLabel |
Rename a mail label |
connectionStatus |
Check SMTP and IMAP connection health |
beforeUid (returned as nextCursor) instead of page for stable pagination that isn't affected by new emails arriving between requests.headersOnly: true on readEmail to skip downloading the full message body — useful when you only need metadata.maxBodyLength on readEmail to cap body size (e.g. 2000 chars) and avoid large responses from email-heavy messages.bulkAction with search criteria instead of looping over individual emails. It runs a single IMAP SEARCH + a single bulk command, regardless of how many emails match.bulkAction defaults to dryRun: true — preview affected emails before committing destructive operations.npm install
npm run build # compile TypeScript
npm run dev # watch mode
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"protonmail-mcp": {
"command": "npx",
"args": []
}
}
}