Koskamo

Proton Mail MCP

An unofficial, community-built Model Context Protocol server that allows AI assistants to interact with Proton Mail accounts. It enables sending, reading, searching, and organizing emails via SMTP and IMAP through the Proton Mail Bridge, supporting features like markdown bodies, attachments, bulk operations, and folder management without using private APIs.

Package and access

Local package with source-attributed installation metadata. Koskamo does not execute packages during review.

Proton Mail MCP logo, by sethbangCommunity listingLocal stdioSource reviewed; not executedPublished by sethbang
Vendor documentation

Checks and signals

Each line is separate evidence, not a trust score.

  • Popularity 8 GitHub stars

What you can do with it

  • Send, reply, and forward emails with markdown support
  • Search messages by sender, subject, or body content
  • Organize inbox by moving, deleting, or flagging messages
  • Manage folders and labels for email organization

Source and maintenance

Community listingRegistry 1.0.2MIT
Last repository push
Latest release
v1.0.2
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

proton-mail-mcp 1.0.2

npmnpx
proton-mail-mcp package definition
{
  "version": "1.0.2",
  "transport": "stdio",
  "identifier": "proton-mail-mcp",
  "runtimeHint": "npx",
  "registryType": "npm",
  "registryBaseUrl": "https://registry.npmjs.org",
  "environmentVariables": [
    {
      "name": "PROTONMAIL_USERNAME",
      "isRequired": true,
      "description": "Your Proton Mail email address"
    },
    {
      "name": "PROTONMAIL_PASSWORD",
      "isRequired": true,
      "description": "Your Proton Mail SMTP password (not your login password; generate one in Proton settings)"
    },
    {
      "name": "PROTONMAIL_HOST",
      "default": "smtp.protonmail.ch",
      "description": "SMTP host"
    },
    {
      "name": "PROTONMAIL_PORT",
      "format": "number",
      "default": "587",
      "description": "SMTP port"
    },
    {
      "name": "PROTONMAIL_SECURE",
      "default": "false",
      "description": "Use TLS for SMTP (true for port 465)"
    },
    {
      "name": "IMAP_HOST",
      "default": "127.0.0.1",
      "description": "Proton Mail Bridge IMAP host (required for read/search tools)"
    },
    {
      "name": "IMAP_PORT",
      "format": "number",
      "default": "1143",
      "description": "Proton Mail Bridge IMAP port"
    },
    {
      "name": "IMAP_SECURE",
      "default": "false",
      "description": "Use TLS for IMAP"
    },
    {
      "name": "IMAP_USERNAME",
      "description": "Proton Mail Bridge username (falls back to PROTONMAIL_USERNAME)"
    },
    {
      "name": "IMAP_PASSWORD",
      "description": "Proton Mail Bridge password (falls back to PROTONMAIL_PASSWORD)"
    },
    {
      "name": "READONLY",
      "default": "false",
      "description": "Disable all mutating tools (send, move, delete, flags, labels, bulk ops, folder/label management)"
    },
    {
      "name": "RESTRICT_OUTBOUND_TO_SELF",
      "default": "false",
      "description": "Refuse live sends to any recipient other than PROTONMAIL_USERNAME (for throwaway/QA accounts)"
    },
    {
      "name": "ALLOW_FILE_DOWNLOAD_DIR",
      "description": "Allowlist directory enabling download_attachment.saveTo; when unset, attachments return as inline base64"
    },
    {
      "name": "ALLOW_EMPTY_FOLDER",
      "default": "false",
      "description": "Register the empty_folder tool (not recommended)"
    },
    {
      "name": "DEBUG",
      "default": "false",
      "description": "Enable verbose logging to stderr"
    }
  ]
}

Tools

Reported by the attributed source; not independently observed by Koskamo.

No tool definitions available.

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · repository · passed · metadata changed · updated
  • · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "mcpServers": {
    "proton-mail-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "proton-mail-mcp@1.0.2"
      ],
      "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>"
      }
    }
  }
}

Cline

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "mcpServers": {
    "proton-mail-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "proton-mail-mcp@1.0.2"
      ],
      "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

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "servers": {
    "proton-mail-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "proton-mail-mcp@1.0.2"
      ],
      "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 Desktop

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "mcpServers": {
    "proton-mail-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "proton-mail-mcp@1.0.2"
      ],
      "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>"
      }
    }
  }
}

Let your agent find its tools

Find servers like Proton Mail MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.