返回 MCP 目录
public公开dns本地运行

claude-post

ClaudePost是一个通过Claude实现自然语言交互的邮件管理服务,支持搜索、阅读和发送邮件等功能。

article

README

🚀 ClaudePost

ClaudePost 是一个模型上下文协议(MCP)服务器,它通过 Claude 提供无缝的电子邮件管理界面。这种集成使你能够通过与 Claude 进行自然语言对话直接处理电子邮件,安全地支持搜索、阅读和发送电子邮件等功能。

✨ 主要特性

邮件搜索与阅读

  • 📧 按日期范围和关键词搜索邮件
  • 📅 查看每日邮件统计信息
  • 📝 阅读完整邮件内容,并支持线程查看

邮件撰写与发送

  • ✉️ 支持抄送收件人发送邮件
  • 🔒 通过 TLS 安全处理邮件

📦 安装指南

前提条件

  • Python 3.12 或更高版本
  • 一个 Gmail 账户(或其他邮件提供商)
  • 若使用 Gmail:
  • Claude 桌面应用程序

安装步骤

  1. 安装 uv:

    # MacOS/Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # 安装后请重启终端
    
  2. 克隆并设置项目:

    # 克隆仓库
    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 .
    
  3. 在项目根目录创建一个 .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
    
  4. 配置 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 用户:
    1. 在你的 Google 账户中启用两步验证
    2. 为该应用生成一个应用密码
    3. 在你的 .env 文件中使用该应用密码

日志记录

应用程序会将详细信息记录到 email_client.log 文件中。查看此文件以获取调试信息和错误消息。

📄 许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端