让 AI 助手通过 Model Context Protocol (MCP) 读取、发送和管理你的 Gmail 邮箱。
支持 22 个 MCP 工具,覆盖 Gmail 核心操作:
查询
get_profile— 获取邮箱资料(地址、邮件总数等)list_messages— 列出邮件,支持分页和标签过滤get_message— 获取单封邮件详情(正文、附件元数据)search_messages— 用 Gmail 搜索语法搜索邮件get_thread— 获取完整邮件线程(对话模式)list_threads— 列出邮件线程get_history— 获取邮箱变更历史(用于高效同步)
发送
send_message— 发送邮件(支持 CC/BCC、纯文本/HTML)create_draft— 创建草稿list_drafts— 列出草稿send_draft— 发送指定草稿
标签管理
list_labels— 列出所有标签(系统 + 自定义)create_label— 创建新标签modify_message— 修改邮件标签
邮件操作
mark_as_read/mark_as_unread— 标记已读/未读star_message/unstar_message— 加星/取消星标archive_message/move_to_inbox— 归档/移回收件箱trash_message/untrash_message— 移入/恢复出垃圾箱
注意:
delete_message(永久删除)默认禁用。永久删除需要https://mail.google.com/范围(敏感权限),本服务器未申请该范围,避免意外数据丢失。
- 打开 Google Cloud Console
- 创建一个项目(或选择已有项目)
- 启用 Gmail API
- 创建 OAuth 2.0 客户端 ID,应用类型选"桌面应用"
- 复制 Client ID 和 Client Secret
方式一:环境变量(推荐)
Windows (cmd):
set GMAIL_CLIENT_ID=your-client-id.apps.googleusercontent.com
set GMAIL_CLIENT_SECRET=your-client-secretmacOS / Linux:
export GMAIL_CLIENT_ID=your-client-id.apps.googleusercontent.com
export GMAIL_CLIENT_SECRET=your-client-secret方式二:凭据文件
将下载的 credentials.json 放到:
- Windows:
%USERPROFILE%\.gmail-mcp\credentials.json - macOS/Linux:
~/.gmail-mcp/credentials.json
# 安装依赖
npm install
# 编译
npm run build
# 启动(首次会在终端打印授权 URL)
npm start首次运行会在终端打印授权 URL,不会自动打开浏览器。请手动复制 URL 在浏览器中打开完成 Google 账号授权。
授权成功后,Token 会保存在 ~/.gmail-mcp/token.json,后续启动无需重复授权。
如需重新授权,使用:
node dist/index.js --reauth在 MCP 客户端(如 Claude Desktop)的配置文件中添加:
{
"mcpServers": {
"gmail": {
"command": "node",
"args": ["/path/to/gmail-mcp/dist/index.js"]
}
}
}| 变量 | 说明 | 默认值 |
|---|---|---|
GMAIL_CLIENT_ID |
Google OAuth2 客户端 ID | — |
GMAIL_CLIENT_SECRET |
Google OAuth2 客户端密钥 | — |
OAUTH_PORT |
OAuth 回调端口 | 3000 |
本服务器使用的 OAuth2 范围(定义在 src/auth.ts):
gmail.modify— 读写邮件、标签,支持发送(默认使用)gmail.compose— 创建和发送草稿gmail.labels— 创建和管理标签
未申请的范围:
https://mail.google.com/— 完全访问(含永久删除),高危,默认不申请gmail.readonly— 如需只读可自行切换
delete_message因需要https://mail.google.com/范围,默认已从工具列表中移除。如需启用,需修改src/auth.ts中的SCOPES、在src/tools.ts中恢复工具定义,并理解相应安全风险。
src/
├── index.ts # 入口:认证 → MCP 服务器
├── auth.ts # OAuth2 认证流程(带本地回调服务器)
├── gmail.ts # Gmail API 封装层
├── tools.ts # MCP 工具定义 + 请求路由
├── types.ts # 类型定义
└── utils.ts # 辅助函数
MIT