Unofficial Proton Mail MCP — send, read, search & organize email over SMTP and IMAP
Connect Runs on your machine
claude mcp add proton-mail-mcp -e PROTONMAIL_USERNAME=<PROTONMAIL_USERNAME> -e PROTONMAIL_PASSWORD=<PROTONMAIL_PASSWORD> -e PROTONMAIL_HOST=<PROTONMAIL_HOST> -e PROTONMAIL_PORT=<PROTONMAIL_PORT> -e PROTONMAIL_SECURE=<PROTONMAIL_SECURE> -e IMAP_HOST=<IMAP_HOST> -e IMAP_PORT=<IMAP_PORT> -e IMAP_SECURE=<IMAP_SECURE> -e IMAP_USERNAME=<IMAP_USERNAME> -e IMAP_PASSWORD=<IMAP_PASSWORD> -e READONLY=<READONLY> -e RESTRICT_OUTBOUND_TO_SELF=<RESTRICT_OUTBOUND_TO_SELF> -e ALLOW_FILE_DOWNLOAD_DIR=<ALLOW_FILE_DOWNLOAD_DIR> -e ALLOW_EMPTY_FOLDER=<ALLOW_EMPTY_FOLDER> -e DEBUG=<DEBUG> -- npx -y [email protected]
{
"mcpServers": {
"proton-mail-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"PROTONMAIL_USERNAME": "<PROTONMAIL_USERNAME>",
"PROTONMAIL_PASSWORD": "<PROTONMAIL_PASSWORD>",
"PROTONMAIL_HOST": "<PROTONMAIL_HOST>",
"PROTONMAIL_PORT": "<PROTONMAIL_PORT>",
"PROTONMAIL_SECURE": "<PROTONMAIL_SECURE>",
"IMAP_HOST": "<IMAP_HOST>",
"IMAP_PORT": "<IMAP_PORT>",
"IMAP_SECURE": "<IMAP_SECURE>",
"IMAP_USERNAME": "<IMAP_USERNAME>",
"IMAP_PASSWORD": "<IMAP_PASSWORD>",
"READONLY": "<READONLY>",
"RESTRICT_OUTBOUND_TO_SELF": "<RESTRICT_OUTBOUND_TO_SELF>",
"ALLOW_FILE_DOWNLOAD_DIR": "<ALLOW_FILE_DOWNLOAD_DIR>",
"ALLOW_EMPTY_FOLDER": "<ALLOW_EMPTY_FOLDER>",
"DEBUG": "<DEBUG>"
}
}
}
}
{
"mcpServers": {
"proton-mail-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"PROTONMAIL_USERNAME": "<PROTONMAIL_USERNAME>",
"PROTONMAIL_PASSWORD": "<PROTONMAIL_PASSWORD>",
"PROTONMAIL_HOST": "<PROTONMAIL_HOST>",
"PROTONMAIL_PORT": "<PROTONMAIL_PORT>",
"PROTONMAIL_SECURE": "<PROTONMAIL_SECURE>",
"IMAP_HOST": "<IMAP_HOST>",
"IMAP_PORT": "<IMAP_PORT>",
"IMAP_SECURE": "<IMAP_SECURE>",
"IMAP_USERNAME": "<IMAP_USERNAME>",
"IMAP_PASSWORD": "<IMAP_PASSWORD>",
"READONLY": "<READONLY>",
"RESTRICT_OUTBOUND_TO_SELF": "<RESTRICT_OUTBOUND_TO_SELF>",
"ALLOW_FILE_DOWNLOAD_DIR": "<ALLOW_FILE_DOWNLOAD_DIR>",
"ALLOW_EMPTY_FOLDER": "<ALLOW_EMPTY_FOLDER>",
"DEBUG": "<DEBUG>"
}
}
}
}
{
"servers": {
"proton-mail-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"PROTONMAIL_USERNAME": "<PROTONMAIL_USERNAME>",
"PROTONMAIL_PASSWORD": "<PROTONMAIL_PASSWORD>",
"PROTONMAIL_HOST": "<PROTONMAIL_HOST>",
"PROTONMAIL_PORT": "<PROTONMAIL_PORT>",
"PROTONMAIL_SECURE": "<PROTONMAIL_SECURE>",
"IMAP_HOST": "<IMAP_HOST>",
"IMAP_PORT": "<IMAP_PORT>",
"IMAP_SECURE": "<IMAP_SECURE>",
"IMAP_USERNAME": "<IMAP_USERNAME>",
"IMAP_PASSWORD": "<IMAP_PASSWORD>",
"READONLY": "<READONLY>",
"RESTRICT_OUTBOUND_TO_SELF": "<RESTRICT_OUTBOUND_TO_SELF>",
"ALLOW_FILE_DOWNLOAD_DIR": "<ALLOW_FILE_DOWNLOAD_DIR>",
"ALLOW_EMPTY_FOLDER": "<ALLOW_EMPTY_FOLDER>",
"DEBUG": "<DEBUG>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
PROTONMAIL_USERNAMERequired | Your Proton Mail email address |
PROTONMAIL_PASSWORDRequired, secret | Your Proton Mail SMTP password (not your login password; generate one in Proton settings) |
PROTONMAIL_HOSTOptional | SMTP host |
PROTONMAIL_PORTOptional | SMTP port |
PROTONMAIL_SECUREOptional | Use TLS for SMTP (true for port 465) |
IMAP_HOSTOptional | Proton Mail Bridge IMAP host (required for read/search tools) |
IMAP_PORTOptional | Proton Mail Bridge IMAP port |
IMAP_SECUREOptional | Use TLS for IMAP |
IMAP_USERNAMEOptional | Proton Mail Bridge username (falls back to PROTONMAIL_USERNAME) |
IMAP_PASSWORDOptional, secret | Proton Mail Bridge password (falls back to PROTONMAIL_PASSWORD) |
READONLYOptional | Disable all mutating tools (send, move, delete, flags, labels, bulk ops, folder/label management) |
RESTRICT_OUTBOUND_TO_SELFOptional | Refuse live sends to any recipient other than PROTONMAIL_USERNAME (for throwaway/QA accounts) |
ALLOW_FILE_DOWNLOAD_DIROptional | Allowlist directory enabling download_attachment.saveTo; when unset, attachments return as inline base64 |
ALLOW_EMPTY_FOLDEROptional | Register the empty_folder tool (not recommended) |
DEBUGOptional | Enable verbose logging to stderr |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 30 May 2026 |
| Last updated | 30 May 2026 |
| Registry name | io.github.sethbang/proton-mail-mcp |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
