邮件读取服务

一个通过IMAP协议读取和搜索Gmail邮件的模型上下文协议(MCP)服务器,适用于AI驱动的电子邮件工作流、自动化和智能邮件管理。

  • by automatearmy
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 automatearmy/email-reader-mcp

使用说明

电子邮件阅读器 MCP

一个模型上下文协议(MCP)服务器,使Claude Desktop或任何客户端能够通过IMAP读取和搜索您的Gmail邮件。非常适合AI驱动的电子邮件工作流程、自动化和智能邮件管理。

🚀 快速入门

1. 先决条件

  • Node.js (v18或更高版本)
  • Gmail账户 已启用IMAP
  • 应用密码 (如果使用双因素认证)

2. Gmail 设置

  1. 在Gmail中启用IMAP:

    • 进入Gmail设置 → 查看所有设置 → 转发和POP/IMAP
    • 启用“IMAP访问”
    • 保存更改
  2. 创建应用程序密码(如果使用双因素认证):

    • 参观 Google 应用密码
    • 选择“邮件”作为应用程序,选择“其他(自定义名称)”作为设备
    • 将其命名为“Claude Desktop MCP”
    • 复制生成的密码

3. MCP服务器配置

将此添加到您的Claude桌面配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "email-reader": {
      "command": "npx",
      "args": ["-y", "@automatearmy/email-reader-mcp"]
    }
  }
}

4. 环境设置

创建一个 .env 在您的主目录或项目文件夹中创建文件:

# Copy the example file
cp .env.example .env

# Edit with your credentials
USER_EMAIL="your-email@gmail.com"
USER_PASS="your-app-specific-password"

5. 重启Claude桌面版

重启Claude桌面应用以加载新的MCP服务器。现在您可以让Claude阅读您的电子邮件了!

📧 可用工具

get-messages

利用强大的搜索功能,从您的Gmail收件箱中获取并筛选电子邮件。

参数

参数 类型 默认值 描述
limit number 10 要获取的消息的最大数量
includeFullContent 布尔值 false 是否包含完整的邮件正文(默认:500字符预览)
dateFrom 字符串 - 过滤此日期之后的消息(ISO 格式:“2024-01-01”)
dateTo 字符串 - 过滤此日期之前的消息(ISO 格式)
unreadOnly 布尔值 false 仅获取未读消息
from 字符串 - 按发件人电子邮件地址过滤
subject 字符串 - 按主题过滤(部分匹配)

响应格式

{
  "messages": [
    {
      "uid": 12345,
      "subject": "Email Subject",
      "from": "sender@example.com",
      "to": "recipient@example.com",
      "date": "2024-01-15T10:30:00.000Z",
      "body": "Email content...",
      "flags": ["\\Seen"]
    }
  ],
  "count": 1,
  "filters": {
    "limit": 10,
    "includeFullContent": false,
    "unreadOnly": false
  }
}

💡 使用示例

基本的电子邮件阅读

"Show me my latest 5 emails"

仅显示未读消息

"Get all unread messages from today"

高级过滤

"Find emails from notifications@github.com about 'pull request' in the last week"

全文内容搜索

"Show me the complete content of the 3 most recent emails from my boss"

日期范围查询

"Get all emails from December 2024 with 'invoice' in the subject"

🔒 安全最佳实践

  • 永远不要承诺 .env 文件 进行版本控制
  • 使用应用密码 而不是你的主Gmail密码
  • 限制访问 仅保留必要的电子邮件文件夹
  • 定期轮换 您的应用密码
  • 监控访问 在您的Google账户安全设置中

⚡ 性能提示

  • 使用 日期范围 以减少处理时间
  • 设定 合理的限度 (默认:10条消息)
  • 使用 预览模式 (includeFullContent: false) 用于初步搜索
  • 申请 特定过滤器 (发件人,主题)以缩小结果范围

🛠️ 故障排除

常见问题

“认证失败”

  • 在Gmail设置中确认已启用IMAP
  • 确保您使用的是应用程序密码(而非常规密码)
  • 确保电子邮件和密码设置正确。

“未找到消息”

  • 检查你的搜索条件是否过于严格
  • 验证日期格式是否正确(ISO字符串)
  • 首先尝试不使用过滤器来测试连接性

“连接超时”

  • 检查你的网络连接
  • 验证Gmail IMAP服务器是否可访问
  • 尝试重启Claude桌面应用

🏗️ 开发

从源代码构建

# Clone the repository
git clone https://github.com/automatearmy/email-reader-mcp.git
cd email-reader-mcp

# Install dependencies
npm install

# Build the project
npm run build

项目结构

src/
├── index.ts              # MCP server entry point
├── imap/
│   └── index.ts          # IMAP client configuration
└── tools/
    └── get-messages/
        ├── schema.ts     # Zod validation schema
        └── index.ts      # Tool handler implementation

📄 许可证

ISC 许可证 - 详见 许可证 文件中有详细信息。

🤝 贡献(或“参与贡献”)

欢迎贡献!请随时提交拉取请求。对于重大更改,请先打开一个问题进行讨论,说明您想要做出的更改。

📞 支持

对于问题和疑问:

  • 在GitHub上创建一个问题
  • 查看上面的故障排除部分
  • 审查/回顾 MCP文档

由……建造 “Automate Army”可以翻译为“机械化军队”或“自动化军队”,具体取决于上下文和语境中强调的重点。如果是指通过技术手段提高军队的自动化水平,那么“机械化军队”可能更贴切,因为它强调了通过机械和技术手段增强军队的能力。而“自动化军队”则更侧重于军队运作的自动化程度。不过,在大多数情况下,这两个翻译都可以被理解为军队在技术上的高度发展和应用 - 通过强大的集成功能,增强人工智能工作流程的能力。