项目简介
MCP Notmuch Sendmail 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 Claude Desktop 提供邮件管理能力。通过此服务器,Claude 可以访问您的 Notmuch 邮件数据库,从而实现邮件的搜索、阅读、撰写和发送等操作,让 Claude 成为您的智能邮件助手。
主要功能点
- 邮件搜索与浏览: 允许 Claude 搜索和浏览 Notmuch 数据库中的邮件会话。
- 会话视图: 以清晰的文本格式查看邮件会话,方便 Claude 理解邮件内容。
- 邮件撰写: 支持使用 Markdown 格式撰写新邮件,并能自动添加签名。
- 邮件回复: 支持回复邮件会话,智能去除重复引用的内容。
- 邮件发送: 发送撰写好的邮件草稿。
- LaTeX 风格: 使用 LaTeX 风格美化邮件样式。
安装步骤
-
克隆仓库:
git clone https://github.com/runekaagaard/mcp-notmuch-sendmail.git cd mcp-notmuch-sendmail -
确保已安装 uv:
# 如果没有安装 uv,请运行以下命令安装 curl -LsSf https://astral.sh/uv/install.sh | sh -
配置 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': (可选) 日志文件路径,用于记录服务器运行日志,方便调试。
基本使用方法
- 确保 MCP Notmuch Sendmail 服务器已按照上述配置启动。
- 在 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 的相关文档。
信息
分类
通信与社交