Gmail邮件管理服务

一个用于Gmail集成的模型上下文协议(MCP)服务器,使AI助手能够通过自然语言交互起草、发送和管理电子邮件。

  • by vincent-deng
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 vincent-deng/gmail-mcp-server

使用说明

Gmail MCP服务器

用于Gmail集成的模型上下文协议(MCP)服务器,使Gemini CLI等AI助手能够通过自然语言交互起草、发送和管理电子邮件。

特性

  • 电子邮件草稿:创建包含收件人、主题和正文的电子邮件草稿
  • 发送电子邮件:直接通过Gmail发送电子邮件
  • 列出草稿:查看您帐户中的所有电子邮件草稿
  • 获取草稿:按ID检索特定草稿内容
  • 删除草稿:删除电子邮件草稿
  • OAuth2身份验证:使用Google API进行安全身份验证

安装说明

1.安装依赖项

npm install

2.创建Google云项目并启用Gmail API

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用Gmail API:
    • 转到“API和服务”>“库”
    • 搜索“Gmail API”并启用它
  4. 创建OAuth 2.0凭据:
    • 转到“API和服务”>“凭据”
    • 点击“创建凭据”>“OAuth客户端ID”
    • 选择“桌面应用程序”
    • 下载JSON格式的凭据

3.配置凭据

  1. 将下载的文件重命名为 credentials.json
  2. 将其放置在项目根目录中
  3. 在Google Cloud控制台中更新重定向URI:
    • 编辑您的OAuth客户端
    • 添加 http://localhost:3000/callback 到“授权重定向URI”

4.身份验证

运行身份验证设置脚本:

node setup-auth.js

这将:

  • 打开Google OAuth的浏览器窗口
  • 重定向到本地回调服务器
  • 将刷新令牌保存到 token.json

5.测试服务器

启动MCP服务器:

npm start

使用Gemini CLI

将此服务器添加到MCP客户端配置中。对于Gemini CLI或Claude Desktop,请在配置文件中添加:

{
  "mcpServers": {
    "gmail": {
      "command": "node",
      "args": ["/path/to/your/gmail-mcp-server/index.js"]
    }
  }
}

可用工具

草稿_邮件

在Gmail中创建电子邮件草稿。

参数:

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

send_邮件

直接通过Gmail发送电子邮件。

参数:

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

list_drafts

列出所有电子邮件草稿。

参数:

  • maxResults (可选):要返回的最大草稿数(默认值:10)

get_draft

通过ID获取特定的电子邮件草稿。

参数:

  • draftId (必填):要检索的草稿ID

delete_draft

按ID删除电子邮件草稿。

参数:

  • draftId (必填):要删除的草稿ID

示例用法

配置Gemini CLI后,您可以使用自然语言命令,如:

  • “起草一封电子邮件至john@example.com主题为“明天见面”,正文为“嗨,约翰,我们明天下午3点见面吧。'"
  • “发送电子邮件至team@company.com关于项目更新”
  • “显示我的电子邮件草稿”
  • “删除ID为xyz123的草稿”

安全说明

  • 保持你的 credentials.json 和 token.json 文件安全
  • 切勿将这些文件提交到版本控制
  • 服务器仅使用您明确授予的权限访问您的Gmail帐户
  • 令牌存储在本地,不会传输到任何外部服务

需求

  • Node.js 18.0.0或更高版本
  • 可访问API的Gmail帐户
  • 启用Gmail API的谷歌云项目

许可证

麻省理工学院