使用说明
谷歌MCP工具
这是谷歌原生工具(如Gmail、日历)的集合,用于 MCP协议,旨在与Claude或Cursor等AI客户端无缝集成。
快速安装
点击下方,一键安装 .mcpb:
JSON configs
{
"mcpServers": {
"google-mcp": {
"command": "bunx",
"args": ["--no-cache", "google-mcp@latest"],
"env": {
// Either can be used, but not both
// Use OAuth
"GOOGLE_OAUTH_CLIENT_ID": "<YOUR_CLIENT_ID>",
"GOOGLE_OAUTH_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"GOOGLE_OAUTH_TOKEN_PATH": "<PATH_TO_STORE_TOKENS> CAN_BE_ANYWHERE_ON_YOUR_SYSTEM",
// Use Service Account
"GOOGLE_CLIENT_EMAIL": "<YOUR_SERVICE_ACCOUNT_EMAIL>",
"GOOGLE_PRIVATE_KEY": "<YOUR_SERVICE_ACCOUNT_PRIVATE_KEY>",
"GMAIL_USER_TO_IMPERSONATE": "<USER_TO_IMPERSONATE>"
}
}
}
}
v1.1.0的新增功能
🆕 主要功能
- 完整的电子邮件附件支持:
- ✉️ 发送带有附件的电子邮件 从本地文件或Google云端硬盘
- 📥 下载所有电子邮件附件 到本地存储
- 🔄 双附件来源:本地文件路径或Google Drive文件ID
- 📁 智能文件处理:自动MIME类型检测和文件名净化
🔧 增强的电子邮件功能
- 多源附件:将本地存储或Google Drive中的文件附加到同一电子邮件中
- 自定义文件名:覆盖附件的原始文件名
- 文件大小验证:自动执行25MB Gmail限制
- 跨平台下载:自动检测Windows、macOS和Linux上的下载文件夹
- 冲突解决:自动重命名文件以防止覆盖
📁 新工具和增强工具
google_gmail_send_email:现在支持来自本地文件和Google Drive的附件google_gmail_draft_email:创建带有附件的草稿google_gmail_download_attachments:下载所有具有可自定义路径的电子邮件附件
特性
-
OAuth管理:
- 自动刷新过期的访问令牌
- 更新令牌文件中的令牌,无需重新身份验证
- 通过自动令牌清理完成重新身份验证
- 在长时间运行的操作中保持会话连续性
-
Gmail:
- 发送多个收件人的电子邮件(收件人、抄送、密件抄送)和 来自本地文件或Google Drive的附件.
- 下载所有电子邮件附件 支持跨平台的本地存储。
- 列出带有自定义查询、标签和结果限制的电子邮件。
- 按ID读取带有附件信息的特定电子邮件。
- 管理标签(添加、删除、列出)。
- 起草和删除电子邮件。
-
日历:
- 列出日历并设置默认日历。
- 创建包含详细信息(摘要、开始/结束时间、与会者等)的活动。
- 使用可定制的过滤器列出即将发生的事件。
- 更新或删除现有事件。
- 寻找空闲时间段进行日程安排。
-
驾驶:
- 使用搜索查询进行筛选
- 按修改日期或其他条件排序
- 自定义显示计数
- 查看详细的文件元数据
- 读取文件内容(文本、文档、电子表格)
- 使用指定内容创建新文件
- 更新现有文件
- 删除文件(垃圾或永久)
- 共享具有特定权限的文件
-
任务:
- 查看所有任务列表
- 创建新任务列表
- 删除现有任务列表
- 设置默认任务列表
- 使用筛选器列出任务
- 查看任务详细信息
- 创建带有标题、注释和截止日期的任务
- 更新任务属性
- 将任务标记为已完成
- 删除任务
-
所有计划:
- 谷歌联系人:搜索和管理联系人。
- 还有更多。..
您可以为工作流链接命令,例如:
“列出我未读的电子邮件,起草对最新电子邮件的回复,并安排明天下午2点的后续会议。”
托管部署
托管部署可在 Frontier AI.
OAuth令牌管理
服务器包括内置的OAuth令牌管理,可以优雅地处理过期的访问令牌:
- 自动令牌刷新:当访问令牌过期时,您可以刷新它们,而无需再次执行完整的OAuth流程
- 完成重新身份验证:自动处理刷新令牌无效或过期的情况
- 永久存储:刷新的令牌会自动保存到配置的令牌文件路径中
- 会话连续性:刷新后,所有谷歌服务都会用新的令牌重新初始化
刷新令牌
如果您遇到身份验证错误或想主动刷新令牌,只需询问:
Refresh my Google OAuth tokens
这将:
- 使用您存储的刷新令牌获取新的访问令牌
- 用新凭据更新令牌文件
- 使用新的身份验证重新初始化所有Google服务
- 显示新的令牌过期时间
完成重新身份验证
如果你得到 invalid_grant 错误或刷新令牌已过期,您可以重新开始:
Re-authenticate my Google account
这个自动化过程将:
- 删除现有令牌 从您的令牌文件
- 启动OAuth服务器 处理回调
- 打开浏览器 用于新身份验证
- 保存新令牌 自动地
- 重新初始化服务 持有新证书
您只需在浏览器中单击“允许”-其他一切都是自动化的!
备注:如果您没有有效的刷新令牌,则需要再次执行初始OAuth身份验证流程。
手动安装
-
先决条件:
- 安装Bun:
brew install oven-sh/bun/bun # macOS/Linux with Homebrew -
设置OAuth:
- 在中创建Google Cloud项目 谷歌云控制台.
- 设置OAuth 2.0凭据(客户端ID、客户端密码)。
- 选择桌面应用程序类型。
- 如果使用测试模式,请将您的电子邮件添加到测试用户列表中。
- 确保启用API访问所需的服务(Gmail、日历、驱动器等)。
-
配置您的客户端:编辑claude_desktop_config.json(或客户端的等效配置文件):
{
"mcpServers": {
"google-mcp": {
"command": "bunx",
"args": ["--no-cache", "google-mcp@latest"],
"env": {
// Either can be used, but not both
// Use OAuth
"GOOGLE_OAUTH_CLIENT_ID": "<YOUR_CLIENT_ID>",
"GOOGLE_OAUTH_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"GOOGLE_OAUTH_TOKEN_PATH": "<PATH_TO_STORE_TOKENS>",
// Use Service Account
"GOOGLE_CLIENT_EMAIL": "<YOUR_SERVICE_ACCOUNT_EMAIL>",
"GOOGLE_PRIVATE_KEY": "<YOUR_SERVICE_ACCOUNT_PRIVATE_KEY>",
"GMAIL_USER_TO_IMPERSONATE": "<USER_TO_IMPERSONATE>"
}
}
}
}
- 身份验证:
- 第一次运行服务器时,它将打开一个浏览器进行OAuth身份验证。按照提示授予访问权限,令牌将保存到GOOGLE_OAUTH_TOKEN_PATH。
用法
现在,让克劳德使用 google-mcp 工具。
Send an email to jane.doe@example.com with the subject "Meeting Notes" and body "Here are the notes from today."
List my upcoming calendar events for the next 3 days.
Create a calendar event titled "Team Sync" tomorrow at 10 AM for 1 hour.
Refresh my Google OAuth tokens
Re-authenticate my Google account
运输支持
此MCP服务器通过环境变量支持stdio和HTTP传输:
标准传输(默认)
# Default mode - uses stdio transport
bun run dev
# Or explicitly
MCP_TRANSPORT=stdio bun run index.ts
HTTP传输(流式HTTP)
# HTTP mode with Streamable HTTP support
MCP_TRANSPORT=http bun run index.ts
# Or with custom port
MCP_TRANSPORT=http PORT=3000 bun run index.ts
在HTTP模式下运行时,服务器提供以下端点:
GET /health-带有会话计数的健康检查端点GET /mcp-会话信息和服务器状态POST /mcp-用于发送请求的主MCP JSON-RPC端点DELETE /mcp-结束会话端点
会话管理
Streamable HTTP传输使用带有自动会话管理的官方MCP SDK:
- 自动会话:服务器自动生成安全会话ID
- SSE流媒体:支持服务器发送事件进行实时通信
- JSON响应:当SSE不可用时,返回JSON响应
- DNS保护:用于生产部署的内置安全功能
HTTP传输配置
对于HTTP传输,请使用服务器URL配置客户端:
{
"mcpServers": {
"google-mcp-http": {
"url": "http://localhost:3000/mcp"
}
}
}
本地开发
git clone https://github.com/vakharwalad23/google-mcp.git
cd google-mcp
bun install
# Run in stdio mode (default)
bun run dev:stdio
# Run in HTTP mode
bun run dev:http
感谢您使用谷歌MCP工具!如果您有任何问题或建议,请随时提出问题或为项目做出贡献。
玩这些工具,享受吧!!