项目简介

MCP Notmuch Sendmail 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 Claude Desktop 提供邮件管理能力。通过此服务器,Claude 可以访问您的 Notmuch 邮件数据库,从而实现邮件的搜索、阅读、撰写和发送等操作,让 Claude 成为您的智能邮件助手。

主要功能点

  • 邮件搜索与浏览: 允许 Claude 搜索和浏览 Notmuch 数据库中的邮件会话。
  • 会话视图: 以清晰的文本格式查看邮件会话,方便 Claude 理解邮件内容。
  • 邮件撰写: 支持使用 Markdown 格式撰写新邮件,并能自动添加签名。
  • 邮件回复: 支持回复邮件会话,智能去除重复引用的内容。
  • 邮件发送: 发送撰写好的邮件草稿。
  • LaTeX 风格: 使用 LaTeX 风格美化邮件样式。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/runekaagaard/mcp-notmuch-sendmail.git
    cd mcp-notmuch-sendmail
  2. 确保已安装 uv:

    # 如果没有安装 uv,请运行以下命令安装
    curl -LsSf https://astral.sh/uv/install.sh | sh
  3. 配置 Claude Desktop: 编辑您的 'claude_desktop_config.json' 文件,添加以下配置信息。请根据您的实际路径修改 '/path/to/mcp-notmuch-sendmail' 和 '/path/to/your/notmuch/db'。

服务器配置

以下 JSON 配置信息需要添加到 Claude Desktop 的 'claude_desktop_config.json' 文件中,以便 Claude Desktop 可以连接到 MCP Notmuch Sendmail 服务器。

{
  "mcpServers": {
    "email": {  // 服务器名称,可以自定义,例如 "email"
      "command": "uv", // 启动服务器的命令,这里使用 uv
      "args": ["--directory", "/path/to/mcp-notmuch-sendmail", "run", "server.py"], // 启动参数,--directory 指定仓库路径,run server.py 运行服务器
      "env": {
        "NOTMUCH_DATABASE_PATH": "/path/to/your/notmuch/db", // 你的 Notmuch 数据库路径 (必需)
        "NOTMUCH_REPLY_SEPARATORS": "Pipe|Separated|Phrases", // 回复分隔符,用于去除引用内容 (必需),请参考文档根据语言设置
        "SENDMAIL_FROM_EMAIL": "[email protected]", // 你的发件人邮箱地址 (必需)
        "SENDMAIL_EMAIL_SIGNATURE_HTML": "<p>Optional HTML signature</p>", // (可选) HTML 格式的邮件签名
        "LOG_FILE_PATH": "/path/to/log/file.log" // (可选) 日志文件路径
      }
    }
  }
}

环境变量说明:

  • 'NOTMUCH_DATABASE_PATH': Notmuch 数据库的路径,必须配置为您的实际数据库路径。
  • 'NOTMUCH_REPLY_SEPARATORS': 用于识别邮件回复分隔符的管道符分隔列表,必须根据您的语言习惯配置,用于在查看邮件会话时去除引用的旧邮件内容,保持会话简洁。示例值:'On|wrote:|From:|Sent:' 等。
  • 'SENDMAIL_FROM_EMAIL': 您的发件人邮箱地址,用于设置邮件的 'From' 字段,必须配置。
  • 'SENDMAIL_EMAIL_SIGNATURE_HTML': (可选) HTML 格式的邮件签名,将添加到您发送的邮件末尾。
  • 'LOG_FILE_PATH': (可选) 日志文件路径,用于记录服务器运行日志,方便调试。

基本使用方法

  1. 确保 MCP Notmuch Sendmail 服务器已按照上述配置启动。
  2. 在 Claude Desktop 中,您可以使用自然语言指令来调用 MCP Notmuch Sendmail 提供的工具,例如:
    • "搜索关于 '项目进展' 的邮件" (对应 'find_email_thread' 工具)
    • "查看 thread id 为 'xxxx' 的邮件会话" (对应 'view_email_thread' 工具)
    • "写一封邮件给 [email protected],主题是 '会议邀请',内容是 '请参加下周一的会议...'" (对应 'compose_new_email' 工具)
    • "回复 thread id 为 'yyyy' 的邮件,内容是 '好的,我参加。'" (对应 'compose_email_reply' 工具)
    • "发送邮件" (对应 'send_email' 工具)

具体如何与 Claude Desktop 交互取决于 Claude Desktop 的功能和界面,请参考 Claude Desktop 的相关文档。

信息

分类

通信与社交