Gmail API服务器

一个基于Gmail API的MCP服务器,允许AI助手通过OAuth 2.0认证读取、搜索、发送和起草邮件。

  • by Porkbutts
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Porkbutts/gmail-mcp-server

使用说明

Gmail MCP服务器

用于Gmail API的MCP(模型上下文协议)服务器。该服务器允许AI助手使用OAuth 2.0身份验证读取、搜索、发送和起草电子邮件。

特性

  • 搜索电子邮件 使用完整的Gmail查询语法(例如。 from:boss is:unread)
  • 阅读完整消息 带有解码的正文和附件元数据
  • 发送邮件 支持to、cc、bcc
  • 创建草稿 发送前进行审核
  • 回复消息 具有正确的螺纹(在回复/参考标头中)
  • 列出标签 用于过滤和组织

先决条件

  • Node.js 18+
  • 启用Gmail API的谷歌云项目
  • OAuth 2.0凭据(桌面应用程序类型)
  • 使用适当的Gmail作用域刷新令牌

安装

npm install
npm run build

配置

通过环境变量设置OAuth 2.0凭据:

export GMAIL_CLIENT_ID=your-client-id
export GMAIL_CLIENT_SECRET=your-client-secret
export GMAIL_REFRESH_TOKEN=your-refresh-token

使用Claude代码

claude mcp add-json gmail '{
  "command": "node",
  "args": ["/path/to/gmail-mcp-server/dist/index.js"],
  "env": {
    "GMAIL_CLIENT_ID": "your-client-id",
    "GMAIL_CLIENT_SECRET": "your-client-secret",
    "GMAIL_REFRESH_TOKEN": "your-refresh-token"
  }
}'

可用工具

gmail_list_消息

列出或搜索Gmail邮件。支持完整的Gmail搜索查询语法。

参数:

  • query:Gmail搜索查询(例如。 is:unread, from:alice subject:meeting)
  • maxResults:要返回的消息数(1-100,默认值:20)
  • pageToken:分页的页面标记(来自之前的响应 nextPageToken)
  • labelIds:按标签ID筛选(例如。 ["INBOX", "UNREAD"])

gmail_get_message

按ID获取电子邮件的完整内容。返回解码后的正文(首选纯文本,后退为精简HTML)。

参数:

  • messageId (必填):消息ID(来自 gmail_list_messages)

gmail_list_labels

列出所有Gmail标签(收件箱、发送、自定义标签)。可用于发现标签ID以过滤邮件。

gmail_send_message

通过Gmail发送电子邮件。

参数:

  • to (必填):收件人电子邮件地址,逗号分隔为多个
  • subject (必填):电子邮件主题行
  • body (必填):电子邮件正文(纯文本)
  • cc:抄送收件人,逗号分隔
  • bcc:密件抄送收件人,逗号分隔

gmail_create_draft

在Gmail中创建电子邮件草稿。草稿可以从Gmail UI进行审核和发送。

参数:

  • to (必填):收件人电子邮件地址,逗号分隔为多个
  • subject (必填):电子邮件主题行
  • body (必填):电子邮件正文(纯文本)
  • cc:抄送收件人,逗号分隔
  • bcc:密件抄送收件人,逗号分隔

gmail_reply_to_message

回复现有电子邮件。保留线程,以便回复出现在同一对话中。

参数:

  • messageId (必填):要回复的邮件ID
  • body (必填):回复正文(纯文本)

安装指南

第一步:创建Google Cloud项目

  1. 首选https://console.cloud.google.com并创建一个新项目(或选择一个现有项目)
  2. 引导到 API和服务>库
  3. 搜索 Gmail API 然后单击 启用

步骤2:创建OAuth 2.0凭据

  1. 首选 API和服务>凭据
  2. 点击 创建凭据>OAuth客户端ID
  3. 如果出现提示,请配置 OAuth同意屏幕 第一:
    • 选择 外部的 用户类型(如果使用谷歌工作区,则为内部)
    • 填写所需的应用程序名称和电子邮件字段
    • 添加作用域: gmail.readonly, gmail.send, gmail.modify
    • 将您的Google帐户添加为 测试用户
  4. 回到凭据中,创建一个 OAuth客户端ID:
    • 应用程序类型: 桌面应用程序
    • 名称:任何东西(例如“Gmail MCP服务器”)
  5. 复制 客户端ID 和 客户端密钥

步骤3:获取刷新令牌

设置您的客户端凭据并运行附带的帮助程序脚本:

export GMAIL_CLIENT_ID=your-client-id
export GMAIL_CLIENT_SECRET=your-client-secret
npx tsx scripts/get-refresh-token.ts

这将:

  1. 打印授权URL——在浏览器中打开它
  2. 使用您的Google帐户登录并授予访问权限
  3. 自动捕获重定向并打印刷新令牌

步骤4:配置MCP服务器

将所有三个值添加到您的Claude Code MCP配置中(请参阅 使用Claude代码 上文)。

许可证

麻省理工学院