关于 Google Sheets
Google Sheets 是供 AI 系统读取、写入和查询表格数据的 MCP 服务。它通过 Google Sheets API 提供单元格、工作表及批量操作,并代理 OAuth 而不保留令牌或状态。
主要功能
- 01读取一个或多个范围的值
- 02写入或追加单元格数据
- 03创建电子表格并管理标签页
- 04清空范围并批量更新格式
适用场景
- 01查询销售管道或营收数据
- 02将收据详情录入费用表
- 03把供应商动态同步到跟踪表
- 04比较不同数据集中的指标
MCP 相关
该服务向 MCP 客户端提供电子表格和单元格操作工具,通过代理 OAuth 请求并使用承载令牌调用 Google Sheets API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y google-sheets-mcpGOOGLE_ACCESS_TOKEN密钥Google OAuth access token with Sheets scopes.MCP_TRANSPORTTransport type.GOOGLE_CLIENT_IDGoogle OAuth client ID.GOOGLE_CLIENT_SECRET密钥Google OAuth client secret.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
google-sheets-mcp
用于 Google Sheets 的 MCP 服务——读取、写入和查询电子表格数据。
使用场景
数据问题:“管道中有多少笔未结交易?”或“我们第 3 季度的总收入是多少?”→ 读取电子表格并直接回答。
快速录入费用:拍下收据照片 → 提取详细信息并在费用跟踪表中追加一行。
跨工具状态同步:“检查我们所有供应商的 Slack 频道,并用他们的最新动态更新跟踪表”→ 读取 Slack,更新工作表。
数据分析:“按地区细分 Salesforce 数据,并与我们的活动日历进行比较”→ 从多个来源提取数据到电子表格中进行分析。
(这些只是示例——任何需要电子表格数据的工作流都可以使用此服务。可与 google-drive-mcp 配合使用,以查找文件、删除文件、添加评论和管理共享权限。)
设置
1. 创建 Google OAuth 凭据
- 前往 Google Cloud Console
- 创建一个新项目(或使用现有项目)
- 启用 Google Sheets API
- 前往 APIs & Services → OAuth consent screen,设置同意屏幕
- 前往 APIs & Services → Credentials → Create Credentials → OAuth client ID
- 选择 Web application
- 将
http://localhost:3000/callback添加到 Authorized redirect URIs - 记下 Client ID 和 Client Secret
2. 运行服务
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start
服务默认运行在 http://localhost:3000。使用 PORT=3001 更改端口。
3. 添加到 MCP 客户端
服务运行后,按照 install-mcp 上的说明操作,它会为你的 MCP 客户端(Claude Code、Claude Desktop、Cursor、Cline、VS Code 等)生成正确的配置。
架构
此服务充当 Google 的 OAuth 代理:
graph LR
A[MCP client] <--> B[google-sheets-mcp] <--> C[Google OAuth/API]
- 服务通过
/.well-known/oauth-authorization-server将自身声明为 OAuth 授权服务 /register返回 Google OAuth 客户端凭据/authorize重定向到 Google,并在 state 中编码客户端的回调 URL/callback接收来自 Google 的 code,并转发给客户端的回调/token将 token 请求代理到 Google,并注入客户端凭据/mcp处理 MCP 请求,使用 bearer token 调用 Google Sheets API
服务不保存任何 token 或状态——它只负责将 OAuth 请求代理到 Google。
工具
| 工具 | 描述 |
|---|---|
| 电子表格 | |
sheets_spreadsheet_get | 获取电子表格元数据(标题、工作表列表,可选单元格数据) |
sheets_spreadsheet_create | 创建新的电子表格 |
| 值 | |
sheets_values_get | 读取指定范围内的单元格值 |
sheets_values_batch_get | 读取多个范围内的单元格值 |
sheets_values_update | 写入指定范围内的单元格值(覆盖原有值) |
sheets_values_batch_update | 写入多个范围内的单元格值 |
sheets_values_append | 在现有数据后追加行 |
sheets_values_clear | 清除指定范围内的单元格值 |
| 工作表(标签页) | |
sheets_sheets_list | 列出电子表格中的所有工作表 |
sheets_sheet_add | 添加新工作表(标签页) |
sheets_sheet_delete | 删除工作表(标签页) |
| 高级 | |
sheets_batch_update | 执行批量操作(格式设置、合并、筛选器等) |
Google Sheets API 权限范围
spreadsheets- 对电子表格拥有完整的读写权限
参与贡献
欢迎在 GitHub 上提交拉取请求!开始之前:
- 安装 Git 和 Node.js
- 克隆代码库
- 使用
npm install安装依赖 - 运行
npm run test执行测试 - 使用
npm run build构建
发布
版本遵循语义化版本规范。
发布步骤:
- 使用
npm version <major | minor | patch>更新版本号 - 运行
git push --follow-tags推送并附带标签 - 等待 GitHub Actions 发布到 NPM 注册表。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。