Gmail邮件管理协议服务器

一个强大的Gmail模型上下文协议(MCP)服务器,可直接从Claude Desktop或任何MCP兼容的AI助手读取、发送、回复和管理邮件。

  • by Mr-Godot
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 GodotH/Easy-Gmail-MCP

使用说明

简易Gmail MCP

一个强大的Gmail模型上下文协议(MCP)服务器 --直接从Claude Desktop或任何兼容MCP的AI助手读取、发送、回复和管理电子邮件。


是什么让这个特别

简易Gmail MCP 让像克劳德这样的人工智能助手自然地与你的Gmail收件箱互动。无需复杂的OAuth流程,无需设置谷歌云控制台——只需一个简单的应用程序密码,您就可以在5分钟内准备就绪。

主要特点

特性 描述
阅读完整电子邮件 获取完整的电子邮件内容,而不仅仅是片段
发送邮件 使用CC/BCC支持撰写和发送电子邮件
线程回复 回复电子邮件,同时保持对话线索完整
查看对话 查看电子邮件线程中的所有消息
标记为已读/未读 管理收件箱状态
下载附件 从电子邮件中提取附件
搜索收件箱 使用Gmail搜索语法查找电子邮件

快速入门(5分钟)

步骤1:获取Gmail应用程序密码

  1. 首选 Google帐户安全
  2. 启用 两步验证 (必填)
  3. 首选 应用程序密码 (在帐户设置中搜索“应用密码”)
  4. 选择 邮件 以及您的设备
  5. 点击 生成 → 复制16个字符的密码

重要提示: 您需要启用两步验证才能创建应用程序密码。

步骤2:克隆并安装

git clone https://github.com/GodotH/Easy-Gmail-MCP.git
cd Easy-Gmail-MCP
npm install

步骤3:配置环境

创建 .env 项目根目录中的文件:

EMAIL_ADDRESS=your.email@gmail.com
EMAIL_PASSWORD=xxxx xxxx xxxx xxxx
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587

替换 xxxx xxxx xxxx xxxx 使用16个字符的应用程序密码(空格可选)。

步骤4:构建

npm run build

步骤5:添加到Claude桌面

打开您的Claude Desktop配置文件:

  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

添加此配置:

{
  "mcpServers": {
    "gmail": {
      "command": "node",
      "args": ["C:/path/to/Easy-Gmail-MCP/dist/index.js"],
      "cwd": "C:/path/to/Easy-Gmail-MCP"
    }
  }
}

替换 C:/path/to/Easy-Gmail-MCP 你的实际路径。

步骤6:重新启动克劳德桌面

关闭并重新打开Claude Desktop。您现在应该可以与您的Gmail进行交互了!


可用工具

list消息

列出收件箱中的最新消息。

"Show me my last 10 emails"

参数:

  • count (可选):消息数(1-100,默认值:10)

查找消息

使用Gmail搜索语法搜索电子邮件。

"Find emails from john@example.com about the project"

参数:

  • query (必填):搜索查询

支持的搜索运算符:

  • from:sender@example.com
  • to:recipient@example.com
  • subject:keyword
  • has:attachment
  • is:unread
  • after:2024/01/01
  • before:2024/12/31

getMessage

阅读特定电子邮件的完整内容。

"Read email ID 19"

参数:

  • id (必填):消息ID(来自listMessages或findMessage)

退货: 完整的电子邮件,包括正文、附件信息和线程标题。


发送消息

发送一封新电子邮件。

"Send an email to jane@example.com with subject 'Meeting Tomorrow' saying 'Hi Jane, can we meet at 3pm?'"

参数:

  • to (必填):收件人电子邮件
  • subject (必填):电子邮件主题
  • body (必填):消息内容
  • cc (可选):CC收件人
  • bcc (可选):BCC收件人

replyToMessage

回复现有电子邮件(维护线程)。

"Reply to email 19 saying 'Thanks for the information!'"

参数:

  • id (必填):要回复的邮件ID
  • body (必填):回复内容
  • includeQuote (可选):包含原始消息(默认值:true)

getThread

获取对话中的所有消息。

"Show me the full conversation for email 19"

参数:

  • id (必填):线程中的任何消息ID

markAs阅读

将电子邮件标记为已读或未读。

"Mark email 19 as read"

参数:

  • id (必填):消息ID
  • read (可选):读为true,未读为false(默认值:true)

获取附件

从电子邮件中下载附件。

"Download the first attachment from email 19"

参数:

  • messageId (必填):消息ID
  • attachmentIndex (可选):哪个附件(从0开始,默认值:0)
  • maxSizeBytes (可选):大小限制(默认值:10MB,最大值:25MB)

配置选项

环境变量

变量 必填 默认 描述
EMAIL_ADDRESS 是 - 您的Gmail地址
EMAIL_PASSWORD 是 - Gmail应用程序密码
IMAP_HOST 没有 imap.gmail.com IMAP服务器
IMAP_PORT 没有 993 IMAP端口
SMTP_HOST 没有 smtp.gmail.com SMTP服务器
SMTP_PORT 没有 587 SMTP端口

其他电子邮件提供商

Easy Gmail MCP适用于任何支持IMAP/SMTP的电子邮件提供商:

Outlook/Hotmail:

IMAP_HOST=outlook.office365.com
IMAP_PORT=993
SMTP_HOST=smtp-mail.outlook.com
SMTP_PORT=587

雅虎:

IMAP_HOST=imap.mail.yahoo.com
IMAP_PORT=993
SMTP_HOST=smtp.mail.yahoo.com
SMTP_PORT=587

Docker用法(可选)

# Build
docker build -t easy-gmail-mcp .

# Run
docker run --rm -i --env-file .env easy-gmail-mcp

或者使用docker编写:

docker-compose up -d

发展

# Install dependencies
npm install

# Development mode (with tsx)
npm run dev

# Watch for changes
npm run watch

# Build for production
npm run build

# Start production
npm start

安全说明

  • 应用程序密码 特定于您的应用程序,可以随时撤销
  • 从不分享 你的 .env 将其归档或提交到git
  • 这 .gitignore 已排除 .env
  • 应用程序密码无法访问您的Google帐户设置
  • 您可以随时删除应用程序密码以撤销访问权限

故障排除

“身份验证失败”

  • 确保您的Google帐户已启用两步验证
  • 生成新的应用程序密码(只能查看一次)
  • 确保您使用的是应用程序密码,而不是常规密码

“连接被拒绝”

  • 检查防火墙是否允许端口993(IMAP)和587(SMTP)
  • 验证Gmail设置中是否启用了IMAP:设置→ 查看所有设置→ 转发和POP/IMAP→ 启用IMAP

“未找到消息”

  • 会话之间的消息ID会发生变化
  • 使用 listMessages 或 findMessage 获取当前ID

Claude Desktop看不到工具

  • 验证中的路径 claude_desktop_config.json 是正确的
  • 完全重新启动Claude Desktop(而不仅仅是关闭窗口)
  • 检查路径是否使用正斜杠或转义反斜杠

更新日志

v2.0.0(当前)

  • 新 getMessage -阅读完整的电子邮件内容
  • 新 replyToMessage -线程回复
  • 新 getThread -查看完整对话
  • 新 markAsRead -标记电子邮件为已读/未读
  • 新 getAttachment -下载附件
  • 使用mailparser改进电子邮件解析
  • 更好的错误处理

v1.0.0(原始)

  • 基本 listMessages, findMessage, sendMessage

积分

这个项目是 Sallytion/Gmail MCP,扩展了完整电子邮件管理的附加功能。


许可证

MIT许可证——可以自由使用、修改和分发。


作者

戈多·瓦尔德


贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

明星历史

如果你觉得这个有用,请给它一颗星!它帮助其他人发现项目。