Google 工作空间 MCP 服务器
MCP服务器提供克洛德访问Google Drive,Docs, Sheds,幻灯片,日历,Gmail,以及联系方式.
快速启动
1. 设置谷歌云
- 转到 谷歌云控台 创建或选择一个工程
- 启用所有需要的 API (一击链接)
- 转到 APIs 服务 > 全权证书 并创建 OAuth 2.0 客户端 ID( Desktop app 类型)
- 复制 客户身份 财务报告和审定财务报表 客户端机密
2. 配置克洛德桌面
马科斯数字 : ~/Library/Application Support/Claude/claude_desktop_config.json
窗口数字 : %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"google-workspace": {
"command": "npx",
"args": ["@dguido/google-workspace-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "YOUR_CLIENT_ID.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"GOOGLE_WORKSPACE_SERVICES": "drive,gmail,calendar"
}
}
}
}
就是这样。 在第一个工具呼叫中,一个浏览器窗口打开,以获得Google OAuth的同意. 自动保存指针 .
备选:基于文件的证书
从 Google Cloud Console 下载证书并保存到 ~/.config/google-workspace-mcp/credentials.json,然后手动认证:
npx @dguido/google-workspace-mcp auth
见 高级配置 用于基于文件的设置、命名配置文件以及多账户设置.
你能做什么吗
Create a Google Doc called "Project Plan" in /Work/Projects with an outline for Q1.
Search for files containing "budget" and organize them into the Finance folder.
Create a presentation called "Product Roadmap" with slides for Q1 milestones.
谷歌云设置
1. 创建谷歌云项目
- 转到 谷歌云控台
- 点击“ 选择工程” > “ 新工程”
- 命名您的项目( 例如“ Google Drive MCP ”)
2. 启用必要的API
- 立即启用所有 API (一击链接)
- 或手动:去"APIS & Services" >"图书馆"并启用: 谷歌驱动 API, (中文(简体) ), 谷歌文档 API, (中文(简体) ), 谷歌工作表 API, (中文(简体) ), 谷歌幻灯片 API, (中文(简体) ), 谷歌日历 API, (中文(简体) ), Gmail API 邮件, (中文(简体) ), 人民协会
3. 配置 OAuth 同意屏幕
- 转到“ AP Is & Services” > “ Outh 同意屏幕 ”
- 填写应用程序名称、 支持电子邮件和开发者联系人
- 选择“ 外部” (或“ 内部” 用于工作空间)
- 将您的电子邮件添加为测试用户
- 添加范围 :
drive.file, (中文(简体) ),documents, (中文(简体) ),spreadsheets, (中文(简体) ),presentations, (中文(简体) ),drive, (中文(简体) ),drive.readonly, (中文(简体) ),calendar, (中文(简体) ),gmail.modify, (中文(简体) ),gmail.labels, (中文(简体) ),contacts
4. 创建 OAuth 2.0 全权证书
- 转到"AP Is & Services" > "证书"
- 点击"+CREATE CREENTIALS" > "Outh客户端ID"
- 应用程序类型 : 桌面应用程序
- 复制 客户身份 财务报告和审定财务报表 客户端机密 (或下载 JSON 文件)
配置
文件位置
证书和证物都存放在 ~/.config/google-workspace-mcp/ 默认:
| 文件 | 默认路径 |
|---|---|
| 证书 | ~/.config/google-workspace-mcp/credentials.json |
| 证书 | ~/.config/google-workspace-mcp/tokens.json |
环境变量
| 变量 | 说明 |
|---|---|
GOOGLE_CLIENT_ID | OAuth 客户端 ID( 最简单的设置——不需要证书文件) |
GOOGLE_CLIENT_SECRET | OAuth 客户端机密( 用于 GOOGLE_CLIENT_ID(中文(简体) ) |
GOOGLE_WORKSPACE_MCP_TOKEN_PATH | 自定义令牌存储位置 |
GOOGLE_WORKSPACE_MCP_PROFILE | 证书隔离的命名配置文件 |
GOOGLE_WORKSPACE_SERVICES | 以逗号分隔的服务列表 |
Token- 有效产出( TON)
对于LLM-优化的将符号用量减少20%-50%的响应,启用TON格式:
{
"mcpServers": {
"google-workspace": {
"command": "npx",
"args": ["@dguido/google-workspace-mcp"],
"env": {
"GOOGLE_WORKSPACE_SERVICES": "drive,gmail,calendar",
"GOOGLE_WORKSPACE_TOON_FORMAT": "true"
}
}
}
}
TON (Token-Oriented Object Notation) 通过去除重复的字段名称,将结构化的响应比JSON更紧凑. 列表操作(日历、事件、电子邮件、过滤器)节省得最多.
服务配置
默认情况下,我们建议只允许核心服务drive,gmail,calendar),如"快起"所显示. 这提供了文件管理,电子邮件和日历能力,而无需复杂的文件编辑工具.
为增加服务,请添加到 GOOGLE_WORKSPACE_SERVICES数字 :
{
"mcpServers": {
"google-workspace": {
"command": "npx",
"args": ["@dguido/google-workspace-mcp"],
"env": {
"GOOGLE_WORKSPACE_SERVICES": "drive,gmail,calendar,docs,sheets,slides"
}
}
}
}
现有服务: drive, (中文(简体) ), docs, (中文(简体) ), sheets, (中文(简体) ), slides, (中文(简体) ), calendar, (中文(简体) ), gmail, (中文(简体) ), contacts
- 奥米
GOOGLE_WORKSPACE_SERVICES完全实现所有服务 - 统一工具
create_file, (中文(简体) ),update_file, (中文(简体) ),get_file_content要求drive, (中文(简体) ),docs, (中文(简体) ),sheets,以及slides - 当您限制服务时, 认证时只请求 OAuth 范围 。 如果您更改了启用的服务, 请重新认证以更新授予的范围 .
见 高级配置 用于命名配置文件、多账户设置和环境变量.
可用工具
驱动器(29个工具)
search listFolder createFolder createTextFile updateTextFile deleteItem renameItem moveItem copyFile getFileMetadata exportFile shareFile getSharing removePermission listRevisions restoreRevision downloadFile uploadFile getStorageQuota starFile resolveFilePath batchDelete batchRestore batchMove batchShare listTrash restoreFromTrash emptyTrash getFolderTree
谷歌文档( 8个工具)
createGoogleDoc updateGoogleDoc getGoogleDocContent appendToDoc insertTextInDoc deleteTextInDoc replaceTextInDoc formatGoogleDocRange
Google 工作表( 7个工具)
createGoogleSheet updateGoogleSheet getGoogleSheetContent formatGoogleSheetCells mergeGoogleSheetCells addGoogleSheetConditionalFormat sheetTabs
谷歌幻灯片(10个工具)
createGoogleSlides updateGoogleSlides getGoogleSlidesContent formatSlidesText formatSlidesShape formatSlideBackground createGoogleSlidesTextBox createGoogleSlidesShape slidesSpeakerNotes listSlidePages
日历(7个工具)
listCalendars listEvents getEvent createEvent updateEvent deleteEvent findFreeTime
Gmail( 14个工具)
sendEmail draftEmail readEmail searchEmails deleteEmail modifyEmail downloadAttachment listLabels getOrCreateLabel updateLabel deleteLabel createFilter listFilters deleteFilter
联系人(6个工具)
listContacts getContact searchContacts createContact updateContact deleteContact
统一(3个工具)
createFile updateFile getFileContent
解决问题
"没有找到授权证书"
设定 GOOGLE_CLIENT_ID 财务报告和审定财务报表 GOOGLE_CLIENT_SECRET 在您的 MCP 配置中嵌入 vars, 或者保存您的证书文件到 ~/.config/google-workspace-mcp/credentials.json。 。 。 .
"认证失败"或浏览器不打开
确保证书类型为"Desktop app"(不是"Web应用程序"). 服务器使用由OS指定的等离子端口,因此不需要特定的端口.
"托肯斯过期"或"无效赠款"
"测试"状态中的Apps在7天后就过期了. 复试:
rm ~/.config/google-workspace-mcp/tokens.json
npx @dguido/google-workspace-mcp auth
为了避免每周重新校正: 发布您的 OAuth app (参见 避免托肯过期 页:1.
“ API 未启用 ”
启用缺失的 API 谷歌云控台 > APIs & Services > 图书馆.
“ Login required ” 即使带有有效的符号
应用程序访问权限 : 谷歌账户权限,明确的标志, 和重新认证.
警卫
- RFC 8252 符合 OAuth 2.0 与 PKCE (代码交换的密钥)
- 仅循环验证服务器(127.0.0.1)
- CSRF 保护的国家参数
- 自动刷新令牌
- 以 0600 权限存储的托肯
- 所有处理都发生在本地
- 从不向版本控制输入证书或令牌
避免托肯过期
"测试"状态中的OAuth Apps在7天后自动失效. 为了避免每周重新校正:
备选案文1:公布您的 OAuth app(建议)
- 转到 谷歌云控台 > APIS & 服务 > OAuth 同意屏幕
- 点击"PUBLISH AP"
- 个人使用,不需要完成Google的验证程序
- 已发布应用程序在被明确取消之前保持符号有效
说明: Publishing将您的应用程序提供给任何Google用户,但由于您控制了OAuth证书,只有您可以认证.
备选案文2:使用内部应用程序(仅工作空间)
如果您有 Google 工作空间账户 :
- 在 OAuth 同意屏幕上将用户类型设定为“ Internal ”
- 内部应用不会过期 不需要出版
监测托肯时代
使用 get_status 检查标志年龄。 超过6天的托肯自动显示警告.
发展
npm install
npm run build # Compile TypeScript
npm run check # typecheck + lint + format check
npm test # Run tests
见 贡献指南 项目结构和发展工作流程.
来源
这个项目是对 piotr-agier/谷歌驱动器,由Piotr Agier创建.
许可证
MIT - 详情见LICENSE文件.