项目简介

IMAP MCP服务器是一个基于Model Context Protocol(MCP)构建的应用后端,旨在为AI助手(如Claude)提供访问和操作电子邮件的能力。通过与IMAP邮件服务器交互,该服务器允许AI助手浏览、搜索、读取和管理用户的电子邮件,从而实现智能化的邮件处理和用户偏好学习。

主要功能点

  • 邮件账户认证: 支持多种IMAP服务器的安全访问认证方式。
  • 邮件浏览与搜索: 允许AI助手列出文件夹和邮件,并支持邮件内容过滤和基本搜索。
  • 邮件内容访问: 提供邮件文本、HTML内容以及附件的读取能力。
  • 邮件操作: 支持移动、删除、标记邮件已读/未读、添加标记等邮件管理操作。
  • 交互模式: (计划中)支持结构化模式,用于处理邮件和学习用户偏好。
  • 学习层: (计划中)记录和分析用户决策,以预测未来操作。

核心特点

  • MCP兼容性: 完全兼容Model Context Protocol,可与任何MCP客户端协同工作,例如Claude。
  • 安全访问: 安全地连接和访问IMAP服务器,保护用户邮件隐私。
  • 可扩展性: 框架设计支持未来功能的扩展,如高级搜索和多账户支持。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.8 或更高版本。
    • 确保已安装 'uv' Python 包安装工具 ('pip install uv'),或者使用 'pip'。
    • 拥有一个启用了 IMAP 的邮箱账户。
    • 建议安装 Claude Desktop 或其他 MCP 兼容的客户端。
  2. 克隆仓库:

    git clone https://github.com/non-dirty/imap-mcp.git
    cd imap-mcp
  3. 安装依赖:

    pip install -e .

    或使用 'uv':

    uv pip install -e .
  4. 配置邮箱账户: 复制示例配置文件并进行编辑:

    cp examples/config.yaml.example config.yaml
    # 编辑 config.yaml 文件,填入您的邮箱设置

    请务必配置 'config.yaml' 文件,填入您的 IMAP 服务器地址、端口、用户名和密码等信息。

服务器配置

要将 IMAP MCP 服务器集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端以连接到该服务器。以下是 Claude Desktop 的 'mcpServers' 配置示例,请添加到您的 Claude Desktop 配置文件中:

{
  "mcpServers": {
    "imap": {
      "command": "python",
      "args": ["-m", "imap_mcp.server", "--config", "/path/to/config.yaml"],
      "env": {
        "IMAP_PASSWORD": "your_secure_password"
      }
    }
  }
}

配置参数说明:

  • server name: 'imap' - 服务器在 MCP 客户端中显示的名称,可以自定义。
  • command: 'python' - 启动服务器的命令解释器,确保您的系统可以执行 'python' 命令。
  • args: '["-m", "imap_mcp.server", "--config", "/path/to/config.yaml"]' - 启动服务器的参数。
    • '-m imap_mcp.server': 指定运行 'imap_mcp.server' 模块作为服务器。
    • '--config /path/to/config.yaml': 指定服务器配置文件的路径。请替换 '/path/to/config.yaml' 为您实际的 'config.yaml' 文件路径。
  • env: '{"IMAP_PASSWORD": "your_secure_password"}' - 环境变量配置。
    • 'IMAP_PASSWORD': (可选)如果您选择使用环境变量而不是在 'config.yaml' 中直接写入密码,可以在这里配置邮箱密码。请替换 '"your_secure_password"' 为您的实际邮箱密码。建议使用更安全的方式管理密码,如密钥管理工具。

请根据您的实际环境和 'config.yaml' 文件路径调整上述配置。

基本使用方法

  1. 启动服务器: 在仓库根目录下,使用以下命令启动 IMAP MCP 服务器:

    python -m imap_mcp.server --config config.yaml

    或者,如果使用开发模式启动,可以使用 '--dev' 参数:

    python -m imap_mcp.server --dev --config config.yaml
  2. 连接客户端: 配置并启动您的 MCP 客户端(如 Claude Desktop),客户端将根据您在 'mcpServers' 中配置的命令和参数连接到 IMAP MCP 服务器。

  3. 通过客户端与邮件互动: 使用 MCP 客户端的功能,例如在 Claude 中,您可以指示 Claude 使用 'imap' 服务器来检查邮件、搜索邮件或执行其他邮件操作。具体的交互方式取决于您的 MCP 客户端的功能。

请参考仓库中的 'read_inbox.py' 和 'list_inbox.py' 脚本,了解如何通过 HTTP 请求或直接使用 IMAP 客户端与服务器进行交互。

信息

分类

通信与社交