多Gmail MCP服务器
一个模型上下文协议(MCP)服务器,可将您的AI助手同时连接到多个Gmail帐户。使用每个帐户的权限控制(完整、只读或仅草稿)搜索电子邮件、阅读内容、起草、发送和回复。
1.设置谷歌云项目
由于此操作在本地运行,您需要自己的Google Cloud OAuth凭据:
- 去 谷歌云控制台.
- 创建一个新项目(例如,“多Gmail MCP”)。
- 首选 API和服务>库,搜索 Gmail API,并启用它。
- 首选 API和服务>OAuth同意屏幕:
- 选择 外部 用户类型。 - 填写必填字段(应用程序名称、用户支持电子邮件、开发人员联系电子邮件)。 - 点击 保存并继续 直到你到达 测试用户 步骤。 - 添加您计划作为测试用户连接的Gmail地址(必填——谷歌会阻止未登录用户的登录)。 - 点击 保存并继续.
- 首选 API和服务>凭据:
- 点击 创建凭据>OAuth客户端ID. - 选择 桌面应用程序 作为应用程序类型。 - 点击 创建.
- 点击 下载JSON 在您的新凭证上。
- 将下载的文件重命名为
credentials.json并将其放置在项目根目录中。
2.安装和构建
npm install
npm run build3.验证您的帐户
授权您希望服务器访问的每个Gmail帐户:
# Full access (read, compose, send)
npm run auth
# Read-only (no drafting or sending)
npm run auth -- --readonly
# Draft-only (can read and draft, but not send)
npm run auth -- --draftonly这将打开Google OAuth的浏览器窗口。每个帐户运行一次该命令——凭据保存在本地 tokens.json.
注: 您的Google Cloud项目将处于“测试”状态,因此Google会显示“Google尚未验证此应用程序”警告。点击 高级 然后 转到\[您的应用程序名称\](不安全) --这是意料之中的,因为你自己构建了应用程序。
4.连接到克劳德桌面
将服务器添加到Claude Desktop配置文件中。
macOS
配置文件位置: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"multi_gmail": {
"command": "node",
"args": ["/absolute/path/to/multiGoogleMCP/build/index.js"],
"env": {
"NODE_PATH": "/absolute/path/to/multiGoogleMCP/node_modules"
}
}
}
}视窗
配置文件位置: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"multi_gmail": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\multiGoogleMCP\\build\\index.js"],
"env": {
"NODE_PATH": "C:\\absolute\\path\\to\\multiGoogleMCP\\node_modules"
}
}
}
}将上述路径替换为项目文件夹的实际绝对路径。
在编辑配置之后, 重新启动克劳德桌面 以使更改生效。
5.连接到VS代码(复制品)
创建一个 .vscode/mcp.json 在工作区中创建文件(或添加到用户设置中):
{
"servers": {
"multi_gmail": {
"command": "node",
"args": ["/absolute/path/to/multiGoogleMCP/build/index.js"],
"env": {
"NODE_PATH": "/absolute/path/to/multiGoogleMCP/node_modules"
}
}
}
}在Windows上,使用反斜杠路径:
{
"servers": {
"multi_gmail": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\multiGoogleMCP\\build\\index.js"],
"env": {
"NODE_PATH": "C:\\absolute\\path\\to\\multiGoogleMCP\\node_modules"
}
}
}
}VS Code将在服务器首次启动时提示您信任该服务器。
6.连接到谷歌反重力
打开代理面板,转到 MCP服务器>管理MCP服务器>编辑配置 打开 mcp_config.json,然后添加:
{
"mcpServers": {
"multi_gmail": {
"command": "node",
"args": ["/absolute/path/to/multiGoogleMCP/build/index.js"],
"env": {
"NODE_PATH": "/absolute/path/to/multiGoogleMCP/node_modules"
}
}
}
}使用绝对路径。在Windows上使用反斜杠路径(例如。, C:\\Users\\...).7.连接到游标
在游标设置中添加新的MCP服务器:
- 类型:
command - 命令:
node /absolute/path/to/multiGoogleMCP/build/index.js
如果遇到模块解析错误,请设置 NODE_PATH 环境变量 /node_modules.
可用工具
| 工具 | 说明 |
|---|---|
gmail_list_accounts | 列出所有经过身份验证的帐户 |
gmail_search | 使用Gmail搜索运营商搜索电子邮件 |
gmail_read | 按ID阅读电子邮件的全部内容 |
gmail_draft | 创建电子邮件草稿 |
gmail_send | 发送电子邮件 |
gmail_reply | 在邮件主题内回复邮件(发送或草稿) |
内容类型支持
gmail_draft, gmail_send,以及 gmail_reply 接受可选 contentType 参数:
| 价值观 | 行为 |
|---|---|
"text" (默认) | 纯文本电子邮件 |
"markdown" | 正文从Markdown转换为HTML |
"html" | 正文以原始HTML格式发送 |
示例——起草Markdown电子邮件:
{
"email": "you@gmail.com",
"to": "recipient@example.com",
"subject": "Weekly Update",
"body": "# Status Report\n\n**Completed:**\n- Feature A\n- Bug fix B\n\n*Next steps:* Feature C",
"contentType": "markdown"
}生成的电子邮件在Gmail中呈现为格式化的HTML。
