邮件管理协议

一个通过自然语言对话实现邮件搜索、阅读和发送的集成服务。

  • by Avinash027
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 avinash027/mailing-mcp-server

使用说明

ClaudePost

通过Claude提供无缝电子邮件管理接口的模型上下文协议(MCP)服务器。这种集成允许您通过与Claude的自然语言对话直接处理电子邮件,支持安全搜索、阅读和发送电子邮件等功能。

功能与演示

电子邮件搜索和阅读

  • 📧 按日期范围和关键字搜索电子邮件
  • 📅 查看每日电子邮件统计数据
  • 📝 使用线程支持阅读完整的电子邮件内容

电子邮件的撰写和发送

  • ✉️ 发送支持CC收件人的电子邮件
  • 🔒 使用TLS安全处理电子邮件

先决条件

  • Python 3.12或更高版本
  • Gmail帐户(或其他电子邮件提供商)
  • 如果使用Gmail:
  • Claude桌面应用程序

设置

  1. 安装紫外线:

    # MacOS/Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Remember to restart your terminal after installation
    
  2. 克隆并设置项目:

    # Clone the repository
    git clone https://github.com/ZilongXue/claude-post.git
    cd claude-post
    
    # Create and activate virtual environment
    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
    # Install dependencies
    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 for Desktop。您可以安装最新版本 这里。如果您已经有Claude for Desktop,请确保它已更新到最新版本。

    打开您的Claude Desktop配置文件:

    # MacOS
    ~/Library/Application Support/Claude/claude_desktop_config.json
    
    # Create the file if it doesn't exist
    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 Desktop以使更改生效。

运行服务器

服务器通过Claude Desktop自动运行:

  • 如果配置正确,服务器将在Claude启动时启动
  • 无需手动管理服务器
  • Claude关闭时服务器停止

通过克劳德使用

您可以使用自然语言命令与电子邮件进行交互。以下是一些示例:

搜索电子邮件

  • “显示上周的电子邮件”
  • “查找主题包含“会议”的电子邮件”
  • “搜索来自的电子邮件recruiting@linkedin.com2024年1月1日至2024年01月7日”
  • “搜索上个月发送的电子邮件”

阅读电子邮件内容

  • “显示电子邮件#12345的内容”
  • “人力资源部最后一封电子邮件的完整信息是什么?”

电子邮件统计

  • “我今天收到了多少封电子邮件?”
  • “显示过去一周的每日电子邮件计数”

发送电子邮件

  • “我想发一封电子邮件到john@example.com"
  • “向发送会议确认team@company.com"

注意:出于安全原因,Claude在实际发送之前会始终向您显示电子邮件详细信息以供确认。

项目结构

claude-post/
├── pyproject.toml
├── README.md
├── LICENSE
├── .env                    # Not included in repo
├── .python-version        # Python version specification
└── src/
    └── email_client/
        ├── __init__.py
        ├── __main__.py
        └── server.py       # Main implementation

安全说明

  • 使用特定于应用程序的密码,而不是您的主帐户密码
  • 对于Gmail用户:
    1. 在您的Google帐户中启用两步验证
    2. 为此应用程序生成应用程序密码
    3. 在您的应用程序中使用应用程序密码 .env 文件

日志记录

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

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。