PluginBench
MCP Server

Proton Mail (unofficial) MCP Server

io.github.sethbang/proton-mail-mcp

What is the Proton Mail (unofficial) MCP server?

Unofficial Proton Mail MCP — send, read, search & organize email over SMTP and IMAP

How to install Proton Mail (unofficial)

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • PROTONMAIL_USERNAME
    required

    Your Proton Mail email address

  • PROTONMAIL_PASSWORD
    required
    secret

    Your Proton Mail SMTP password (not your login password; generate one in Proton settings)

  • PROTONMAIL_HOST

    SMTP host

  • PROTONMAIL_PORT

    SMTP port

  • PROTONMAIL_SECURE

    Use TLS for SMTP (true for port 465)

  • IMAP_HOST

    Proton Mail Bridge IMAP host (required for read/search tools)

  • IMAP_PORT

    Proton Mail Bridge IMAP port

  • IMAP_SECURE

    Use TLS for IMAP

  • IMAP_USERNAME

    Proton Mail Bridge username (falls back to PROTONMAIL_USERNAME)

  • IMAP_PASSWORD
    secret

    Proton Mail Bridge password (falls back to PROTONMAIL_PASSWORD)

  • READONLY

    Disable all mutating tools (send, move, delete, flags, labels, bulk ops, folder/label management)

  • RESTRICT_OUTBOUND_TO_SELF

    Refuse live sends to any recipient other than PROTONMAIL_USERNAME (for throwaway/QA accounts)

  • ALLOW_FILE_DOWNLOAD_DIR

    Allowlist directory enabling download_attachment.saveTo; when unset, attachments return as inline base64

  • ALLOW_EMPTY_FOLDER

    Register the empty_folder tool (not recommended)

  • DEBUG

    Enable verbose logging to stderr

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "proton-mail-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "proton-mail-mcp"
      ],
      "env": {
        "PROTONMAIL_USERNAME": "<YOUR_PROTONMAIL_USERNAME>",
        "PROTONMAIL_PASSWORD": "<YOUR_PROTONMAIL_PASSWORD>",
        "PROTONMAIL_HOST": "<YOUR_PROTONMAIL_HOST>",
        "PROTONMAIL_PORT": "<YOUR_PROTONMAIL_PORT>",
        "PROTONMAIL_SECURE": "<YOUR_PROTONMAIL_SECURE>",
        "IMAP_HOST": "<YOUR_IMAP_HOST>",
        "IMAP_PORT": "<YOUR_IMAP_PORT>",
        "IMAP_SECURE": "<YOUR_IMAP_SECURE>",
        "IMAP_USERNAME": "<YOUR_IMAP_USERNAME>",
        "IMAP_PASSWORD": "<YOUR_IMAP_PASSWORD>",
        "READONLY": "<YOUR_READONLY>",
        "RESTRICT_OUTBOUND_TO_SELF": "<YOUR_RESTRICT_OUTBOUND_TO_SELF>",
        "ALLOW_FILE_DOWNLOAD_DIR": "<YOUR_ALLOW_FILE_DOWNLOAD_DIR>",
        "ALLOW_EMPTY_FOLDER": "<YOUR_ALLOW_EMPTY_FOLDER>",
        "DEBUG": "<YOUR_DEBUG>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "proton-mail-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "proton-mail-mcp"
      ],
      "env": {
        "PROTONMAIL_USERNAME": "<YOUR_PROTONMAIL_USERNAME>",
        "PROTONMAIL_PASSWORD": "<YOUR_PROTONMAIL_PASSWORD>",
        "PROTONMAIL_HOST": "<YOUR_PROTONMAIL_HOST>",
        "PROTONMAIL_PORT": "<YOUR_PROTONMAIL_PORT>",
        "PROTONMAIL_SECURE": "<YOUR_PROTONMAIL_SECURE>",
        "IMAP_HOST": "<YOUR_IMAP_HOST>",
        "IMAP_PORT": "<YOUR_IMAP_PORT>",
        "IMAP_SECURE": "<YOUR_IMAP_SECURE>",
        "IMAP_USERNAME": "<YOUR_IMAP_USERNAME>",
        "IMAP_PASSWORD": "<YOUR_IMAP_PASSWORD>",
        "READONLY": "<YOUR_READONLY>",
        "RESTRICT_OUTBOUND_TO_SELF": "<YOUR_RESTRICT_OUTBOUND_TO_SELF>",
        "ALLOW_FILE_DOWNLOAD_DIR": "<YOUR_ALLOW_FILE_DOWNLOAD_DIR>",
        "ALLOW_EMPTY_FOLDER": "<YOUR_ALLOW_EMPTY_FOLDER>",
        "DEBUG": "<YOUR_DEBUG>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "proton-mail-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "proton-mail-mcp"
      ],
      "env": {
        "PROTONMAIL_USERNAME": "<YOUR_PROTONMAIL_USERNAME>",
        "PROTONMAIL_PASSWORD": "<YOUR_PROTONMAIL_PASSWORD>",
        "PROTONMAIL_HOST": "<YOUR_PROTONMAIL_HOST>",
        "PROTONMAIL_PORT": "<YOUR_PROTONMAIL_PORT>",
        "PROTONMAIL_SECURE": "<YOUR_PROTONMAIL_SECURE>",
        "IMAP_HOST": "<YOUR_IMAP_HOST>",
        "IMAP_PORT": "<YOUR_IMAP_PORT>",
        "IMAP_SECURE": "<YOUR_IMAP_SECURE>",
        "IMAP_USERNAME": "<YOUR_IMAP_USERNAME>",
        "IMAP_PASSWORD": "<YOUR_IMAP_PASSWORD>",
        "READONLY": "<YOUR_READONLY>",
        "RESTRICT_OUTBOUND_TO_SELF": "<YOUR_RESTRICT_OUTBOUND_TO_SELF>",
        "ALLOW_FILE_DOWNLOAD_DIR": "<YOUR_ALLOW_FILE_DOWNLOAD_DIR>",
        "ALLOW_EMPTY_FOLDER": "<YOUR_ALLOW_EMPTY_FOLDER>",
        "DEBUG": "<YOUR_DEBUG>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "proton-mail-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "proton-mail-mcp"
      ],
      "env": {
        "PROTONMAIL_USERNAME": "<YOUR_PROTONMAIL_USERNAME>",
        "PROTONMAIL_PASSWORD": "<YOUR_PROTONMAIL_PASSWORD>",
        "PROTONMAIL_HOST": "<YOUR_PROTONMAIL_HOST>",
        "PROTONMAIL_PORT": "<YOUR_PROTONMAIL_PORT>",
        "PROTONMAIL_SECURE": "<YOUR_PROTONMAIL_SECURE>",
        "IMAP_HOST": "<YOUR_IMAP_HOST>",
        "IMAP_PORT": "<YOUR_IMAP_PORT>",
        "IMAP_SECURE": "<YOUR_IMAP_SECURE>",
        "IMAP_USERNAME": "<YOUR_IMAP_USERNAME>",
        "IMAP_PASSWORD": "<YOUR_IMAP_PASSWORD>",
        "READONLY": "<YOUR_READONLY>",
        "RESTRICT_OUTBOUND_TO_SELF": "<YOUR_RESTRICT_OUTBOUND_TO_SELF>",
        "ALLOW_FILE_DOWNLOAD_DIR": "<YOUR_ALLOW_FILE_DOWNLOAD_DIR>",
        "ALLOW_EMPTY_FOLDER": "<YOUR_ALLOW_EMPTY_FOLDER>",
        "DEBUG": "<YOUR_DEBUG>"
      }
    }
  }
}
Claude Code
claude mcp add proton-mail-mcp --env PROTONMAIL_USERNAME=<YOUR_PROTONMAIL_USERNAME> --env PROTONMAIL_PASSWORD=<YOUR_PROTONMAIL_PASSWORD> --env PROTONMAIL_HOST=<YOUR_PROTONMAIL_HOST> --env PROTONMAIL_PORT=<YOUR_PROTONMAIL_PORT> --env PROTONMAIL_SECURE=<YOUR_PROTONMAIL_SECURE> --env IMAP_HOST=<YOUR_IMAP_HOST> --env IMAP_PORT=<YOUR_IMAP_PORT> --env IMAP_SECURE=<YOUR_IMAP_SECURE> --env IMAP_USERNAME=<YOUR_IMAP_USERNAME> --env IMAP_PASSWORD=<YOUR_IMAP_PASSWORD> --env READONLY=<YOUR_READONLY> --env RESTRICT_OUTBOUND_TO_SELF=<YOUR_RESTRICT_OUTBOUND_TO_SELF> --env ALLOW_FILE_DOWNLOAD_DIR=<YOUR_ALLOW_FILE_DOWNLOAD_DIR> --env ALLOW_EMPTY_FOLDER=<YOUR_ALLOW_EMPTY_FOLDER> --env DEBUG=<YOUR_DEBUG> -- npx -y proton-mail-mcp

Related MCP servers

MCP server for web page and cross-platform system screenshots (macOS, Linux, Windows)

View repository →