Better Email MCP

使用说明(简要概览,便于快速上手):

  • 项目简介
    • 该仓库实现了一个 MCP 服务器,聚焦于通过 IMAP/SMTP 与多账号邮件交互,并将邮件相关的资源、工具、以及提示文档以标准化方式暴露给基于 MCP 的 AI 客户端。
    • 核心能力包括:托管与管理邮件相关资源、注册并执行复合工具、以及提供工具帮助文档的访问。
  • 主要功能点
    • MCP 服务器端实现:支持 ListTools、ListResources、ReadResource、CallTool 等 MCP 请求,返回标准的 JSON-RPC 风格响应。
    • 提供工具集合:messages、folders、attachments、send、help,其中 messages/folders/attachments/send 作为复合工具聚合多项操作,help 提供工具文档读取。
    • 资源与文档:将工具文档以 email://docs/ 命名的资源暴露,支持读取文档内容。
    • 邮件账户管理:通过 EMAIL_CREDENTIALS 环境变量解析账户信息,支持多账户场景,并对 Outlook(Hotmail、Live、Outlook)通过设备码进行 OAuth2 验证。
    • 安全与容错:实现错误封装与 AI 可读信息化输出,提供针对常见邮件/网络错误的提示和修复建议;对不同邮箱提供不同的存档(Sent)策略。
    • 多账户与会话管理:在服务器启动时加载账户配置,按账户执行工具,并通过 stdio 传输与 MCP 客户端通讯。
  • 安装与运行
    • 依赖已在仓库中定义,使用 Bun/Node.js 环境进行构建与运行。
    • 构建与启动的典型流程参照仓库的 Quick Start 与构建脚本,使用提供的入口和 CLI 进行服务器启动。
  • MCP 服务器配置(供 MCP 客户端使用的启动信息)
    • 配置信息以 JSON 形式描述,包含服务器名称、启动命令与参数等。请参考示例描述,确保不需要客户端包含敏感实现细节。
    • 配置示例(JSON,供 MCP 客户端理解但非代码块展示): { "server_name": "@n24q02m/better-email-mcp", "command": "bun", "args": ["x", "@n24q02m/better-email-mcp@latest"], "env": { "EMAIL_CREDENTIALS": "[email protected]:abcd-efgh-ijkl-mnop" } // 说明:以上配置用于告诉 MCP 客户端如何启动该 MCP 服务器以及需要的环境变量。请根据实际环境替换具体账户与凭据格式。 }
  • 基本使用方法
    • 在具有正确环境变量(如 EMAIL_CREDENTIALS)的系统上,使用 MCP 客户端根据上述配置启动服务器。
    • 客户端启动后即可通过 MCP 标准的 JSON-RPC 请求与服务器交互,执行工具、检索资源、读取文档等。
    • 如需了解工具与资源详情,使用帮助工具(help)查询文档内容;如需读取文档,请使用 ReadResource 请求。

服务器信息