项目简介

protonmail-mcp 是一个 MCP (Model Context Protocol) 服务器,旨在为大型语言模型 (LLM) 客户端(如 Claude 和 Cline VSCode 扩展)提供邮件发送能力。它利用 Protonmail 的 SMTP 服务,允许用户通过 LLM 应用发送电子邮件。

主要功能点

  • 邮件发送: 支持通过 Protonmail SMTP 服务发送邮件。
  • 多 recipients: 可以向一个或多个收件人发送邮件。
  • 抄送和密送: 支持添加抄送 (CC) 和密送 (BCC) 收件人。
  • 内容格式: 支持纯文本和 HTML 格式的邮件正文。
  • 错误处理: 提供全面的错误处理和日志记录,方便问题排查。
  • 兼容性: 兼容 Claude Desktop App 和 Cline VSCode Extension 等 MCP 客户端。

安装步骤

  1. 克隆仓库

    git clone https://github.com/amotivv/protonmail-mcp.git
    cd protonmail-mcp
  2. 安装依赖并构建项目

    npm install
    npm run build

    构建成功后,会在项目根目录下生成 'dist' 文件夹,服务器程序 'index.js' 位于 'dist' 文件夹中。

服务器配置

为了让 MCP 客户端(如 Claude 或 Cline)连接到 protonmail-mcp 服务器,您需要在客户端的 MCP 设置中添加服务器配置信息。以下是配置示例,以 JSON 格式提供:

{
  "servers": [
    {
      "server_name": "protonmail-mcp",
      "command": "node",
      "args": [
        "dist/index.js"
      ],
      "env": {
        "PROTONMAIL_USERNAME": "<您的Protonmail邮箱地址>",
        "PROTONMAIL_PASSWORD": "<您的Protonmail SMTP 密码>",
        "PROTONMAIL_HOST": "smtp.protonmail.ch",  // 默认 Protonmail SMTP 主机
        "PROTONMAIL_PORT": "587",                 // 默认端口 (STARTTLS)
        "PROTONMAIL_SECURE": "false",              // 默认安全连接设置 (STARTTLS)
        "DEBUG": "false"                         // 是否开启debug日志,默认为false
      }
    }
  ]
}

配置参数说明:

  • '"server_name"': 服务器名称,设置为 'protonmail-mcp'。
  • '"command"': 启动服务器的命令,这里使用 'node' 运行 Node.js 程序。
  • '"args"': 命令参数,指定服务器程序 'dist/index.js' 的路径。
  • '"env"': 环境变量配置,请务必根据您的 Protonmail 账户信息和需求进行配置
    • '"PROTONMAIL_USERNAME"': 您的 Protonmail 邮箱地址。
    • '"PROTONMAIL_PASSWORD"': 您的 Protonmail SMTP 密码 (不是您常用的 Protonmail 登录密码,请参考 Protonmail SMTP 文档 获取 SMTP 密码)。
    • '"PROTONMAIL_HOST"': Protonmail SMTP 服务器主机名,默认为 'smtp.protonmail.ch'。
    • '"PROTONMAIL_PORT"': SMTP 服务器端口,默认为 '587' (STARTTLS)。 如果使用 SSL/TLS,可以设置为 '465' 并将 '"PROTONMAIL_SECURE"' 设置为 '"true"'。
    • '"PROTONMAIL_SECURE"': 是否使用安全连接。 '"false"' 对应端口 '587' (STARTTLS), '"true"' 对应端口 '465' (SSL/TLS)。
    • '"DEBUG"': 是否开启 debug 日志。设置为 '"true"' 可以在控制台看到详细日志, '"false"' 则关闭。

请注意:

  • MCP 客户端的配置文件路径通常位于用户目录下的特定位置,例如 Claude Desktop App 的配置文件路径为 '/Users/your-username/Library/Application Support/Claude/claude_desktop_config.json',Cline VSCode Extension 的配置文件路径为 '/Users/your-username/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json'。请根据您的 MCP 客户端类型查找正确的配置文件路径。
  • 请务必正确配置 Protonmail SMTP 相关的环境变量,特别是 SMTP 密码,以确保邮件发送功能正常工作。

基本使用方法

配置完成后,您可以在支持 MCP 协议的 LLM 客户端中使用 'send_email' 工具发送邮件。使用方式通常是在 LLM 的 Prompt 中使用 '<use_mcp_tool>' 标签,指定 'server_name' 为 'protonmail-mcp', 'tool_name' 为 'send_email',并提供邮件参数,例如:

<use_mcp_tool>
<server_name>protonmail-mcp</server_name>
<tool_name>send_email</tool_name>
<arguments>
{
  "to": "[email protected]",
  "subject": "测试邮件",
  "body": "这是一封来自 MCP 服务器的测试邮件。",
  "cc": "[email protected]",
  "bcc": "[email protected]",
  "isHtml": false
}
</arguments>
</use_mcp_tool>

LLM 客户端会将 '<use_mcp_tool>' 标签转换为 MCP 请求发送给 protonmail-mcp 服务器,服务器执行邮件发送操作后,会将结果返回给 LLM 客户端。

信息

分类

通信与社交