Proton Mail (unofficial) for VS Code
io.github.sethbang/proton-mail-mcp
Unofficial Proton Mail MCP — send, read, search & organize email over SMTP and IMAP
client:VS Code
transport:stdio
runtime:npm
Install Proton Mail (unofficial) in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "protonmail-username",
"description": "PROTONMAIL_USERNAME",
"password": true
},
{
"type": "promptString",
"id": "protonmail-password",
"description": "PROTONMAIL_PASSWORD",
"password": true
},
{
"type": "promptString",
"id": "protonmail-host",
"description": "PROTONMAIL_HOST",
"password": true
},
{
"type": "promptString",
"id": "protonmail-port",
"description": "PROTONMAIL_PORT",
"password": true
},
{
"type": "promptString",
"id": "protonmail-secure",
"description": "PROTONMAIL_SECURE",
"password": true
},
{
"type": "promptString",
"id": "imap-host",
"description": "IMAP_HOST",
"password": true
},
{
"type": "promptString",
"id": "imap-port",
"description": "IMAP_PORT",
"password": true
},
{
"type": "promptString",
"id": "imap-secure",
"description": "IMAP_SECURE",
"password": true
},
{
"type": "promptString",
"id": "imap-username",
"description": "IMAP_USERNAME",
"password": true
},
{
"type": "promptString",
"id": "imap-password",
"description": "IMAP_PASSWORD",
"password": true
},
{
"type": "promptString",
"id": "readonly",
"description": "READONLY",
"password": true
},
{
"type": "promptString",
"id": "restrict-outbound-to-self",
"description": "RESTRICT_OUTBOUND_TO_SELF",
"password": true
},
{
"type": "promptString",
"id": "allow-file-download-dir",
"description": "ALLOW_FILE_DOWNLOAD_DIR",
"password": true
},
{
"type": "promptString",
"id": "allow-empty-folder",
"description": "ALLOW_EMPTY_FOLDER",
"password": true
},
{
"type": "promptString",
"id": "debug",
"description": "DEBUG",
"password": true
}
],
"servers": {
"proton-mail-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"proton-mail-mcp"
],
"env": {
"PROTONMAIL_USERNAME": "${input:protonmail-username}",
"PROTONMAIL_PASSWORD": "${input:protonmail-password}",
"PROTONMAIL_HOST": "${input:protonmail-host}",
"PROTONMAIL_PORT": "${input:protonmail-port}",
"PROTONMAIL_SECURE": "${input:protonmail-secure}",
"IMAP_HOST": "${input:imap-host}",
"IMAP_PORT": "${input:imap-port}",
"IMAP_SECURE": "${input:imap-secure}",
"IMAP_USERNAME": "${input:imap-username}",
"IMAP_PASSWORD": "${input:imap-password}",
"READONLY": "${input:readonly}",
"RESTRICT_OUTBOUND_TO_SELF": "${input:restrict-outbound-to-self}",
"ALLOW_FILE_DOWNLOAD_DIR": "${input:allow-file-download-dir}",
"ALLOW_EMPTY_FOLDER": "${input:allow-empty-folder}",
"DEBUG": "${input:debug}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs