表格数据处理服务

Google表格MCP服务器,用于读取、写入和查询电子表格数据,适用于数据分析、快速输入和跨工具状态同步等场景。

  • by domdomegg
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 domdomegg/google-sheets-mcp

使用说明

谷歌表单mcp

用于Google表格的MCP服务器-读取、写入和查询电子表格数据。

用例

数据问题:“有多少未结交易正在筹备中?”或“我们第三季度的总收入是多少?”→ 读取电子表格并直接回答。

快速录入费用:拍摄收据照片→ 提取详细信息并将一行附加到您的费用跟踪器中。

跨工具状态同步:“检查我们所有的供应商Slack频道,并用其最新更新更新跟踪电子表格”→ 读取Slack,更新工作表。

数据分析:“按地区细分Salesforce数据,并与我们的活动日历进行比较”→ 将来自多个来源的数据拉入电子表格进行分析。

(这些只是示例-任何需要电子表格数据的工作流都可以使用它。与 谷歌硬盘mcp 用于查找文件、删除、评论和共享权限。)

设置

1.创建Google OAuth凭据

  1. 首选 谷歌云控制台
  2. 创建新项目(或使用现有项目)
  3. 启用Google Sheets API
  4. 首选 API和服务 → OAuth同意屏幕,设置同意屏幕
  5. 首选 API和服务 → 凭证 → 创建凭据 → OAuth 客户端ID
  6. 选择 网络应用程序
  7. 添加 http://localhost:3000/callback 到 授权重定向URI
  8. 记下您的客户端ID和客户端密码

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客户端

服务器运行时,请按照上的说明进行操作 安装mcp,它为您的MCP客户端生成正确的配置(Claude Code、Claude Desktop、Cursor、Cline、VS Code等)。

建筑

此服务器充当 OAuth代理 谷歌:

graph LR
    A[MCP client] <--> B[google-sheets-mcp] <--> C[Google OAuth/API]
  1. 服务器通过以下方式将自己宣传为OAuth授权服务器 /.well-known/oauth-authorization-server
  2. /register 返回Google OAuth客户端凭据
  3. /authorize 重定向到Google,将客户端的回调URL编码为状态
  4. /callback 从Google接收代码并转发给客户端的回调
  5. /token 向Google代理令牌请求,注入客户端凭据
  6. /mcp 处理MCP请求,使用承载令牌调用Google Sheets API

服务器不持有令牌或状态,它只是将OAuth代理给谷歌。

工具

工具 说明
电子表格
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上欢迎拉取请求!开始:

  1. 安装Git和Node.js
  2. 克隆仓库
  3. 安装依赖项 npm install
  4. 跑 npm run test 运行测试
  5. 建立 npm run build

发布

版本遵循 语义版本规范.

要发布:

  1. 使用 npm version <major | minor | patch> 升级版本
  2. 跑 git push --follow-tags 使用标签推送
  3. 等待GitHub Actions发布到NPM注册表。