README
🚀 ClaudePost
ClaudePost 是一个模型上下文协议(MCP)服务器,它通过 Claude 提供无缝的电子邮件管理界面。这种集成使你能够通过与 Claude 进行自然语言对话直接处理电子邮件,安全地支持搜索、阅读和发送电子邮件等功能。
✨ 主要特性
邮件搜索与阅读
- 📧 按日期范围和关键词搜索邮件
- 📅 查看每日邮件统计信息
- 📝 阅读完整邮件内容,并支持线程查看
邮件撰写与发送
- ✉️ 支持抄送收件人发送邮件
- 🔒 通过 TLS 安全处理邮件
📦 安装指南
前提条件
- Python 3.12 或更高版本
- 一个 Gmail 账户(或其他邮件提供商)
- 若使用 Gmail:
- 启用两步验证
- 生成 应用专用密码
- Claude 桌面应用程序
安装步骤
-
安装 uv:
# MacOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # 安装后请重启终端 -
克隆并设置项目:
# 克隆仓库 git clone https://github.com/ZilongXue/claude-post.git cd claude-post # 创建并激活虚拟环境 uv venv source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate # 安装依赖项 uv pip install -e . -
在项目根目录创建一个
.env文件:EMAIL_ADDRESS=your.email@gmail.com EMAIL_PASSWORD=your-app-specific-password IMAP_SERVER=imap.gmail.com SMTP_SERVER=smtp.gmail.com SMTP_PORT=587 -
配置 Claude 桌面应用: 首先,确保你已安装 Claude 桌面应用。你可以从 这里 安装最新版本。如果你已经安装了 Claude 桌面应用,请确保它是最新版本。
打开你的 Claude 桌面配置文件:
# MacOS ~/Library/Application Support/Claude/claude_desktop_config.json # 如果文件不存在则创建 mkdir -p ~/Library/Application\ Support/Claude touch ~/Library/Application\ Support/Claude/claude_desktop_config.json添加以下配置:
{ "mcpServers": { "email": { "command": "/Users/username/.local/bin/uv", "args": [ "--directory", "/path/to/claude-post/src/email_client", "run", "email-client" ] } } }将
/Users/username和/path/to/claude-post替换为你实际的路径。更新配置后,重启 Claude 桌面应用使更改生效。
💻 使用示例
通过 Claude 使用
你可以使用自然语言命令与你的电子邮件进行交互。以下是一些示例:
搜索邮件
- "Show me emails from last week"(显示我上周的邮件)
- "Find emails with subject containing 'meeting'"(查找主题包含“会议”的邮件)
- "Search for emails from recruiting@linkedin.com between 2024-01-01 and 2024-01-07"(搜索 2024 年 1 月 1 日至 2024 年 1 月 7 日来自 recruiting@linkedin.com 的邮件)
- "Search sent emails from last month"(搜索上个月发出的邮件)
阅读邮件内容
- "Show me the content of email #12345"(显示邮件 #12345 的内容)
- "What's the full message of the last email from HR?"(人力资源部门最后一封邮件的完整内容是什么?)
邮件统计
- "How many emails did I receive today?"(我今天收到了多少封邮件?)
- "Show me daily email counts for the past week"(显示我过去一周的每日邮件数量)
发送邮件
- "I want to send an email to john@example.com"(我想给 john@example.com 发送一封邮件)
- "Send a meeting confirmation to team@company.com"(向 team@company.com 发送会议确认邮件)
注意:出于安全考虑,Claude 在实际发送邮件之前总会向你显示邮件详细信息以供确认。
📚 详细文档
项目结构
claude-post/
├── pyproject.toml
├── README.md
├── LICENSE
├── .env # 不包含在仓库中
├── .python-version # Python 版本规范
└── src/
└── email_client/
├── __init__.py
├── __main__.py
└── server.py # 主要实现文件
安全注意事项
- 使用应用专用密码,而不是你的主账户密码
- 对于 Gmail 用户:
- 在你的 Google 账户中启用两步验证
- 为该应用生成一个应用密码
- 在你的
.env文件中使用该应用密码
日志记录
应用程序会将详细信息记录到 email_client.log 文件中。查看此文件以获取调试信息和错误消息。
📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
Scan to join WeChat group