Google Sheets API服务器

一个基于Dedalus MCP框架的Google Sheets API服务器,支持OAuth2认证和批量操作功能。

  • by annyzhou
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 annyzhou/google-sheets-mcp

使用说明

谷歌表单mcp

通过Dedalus MCP框架使用OAuth2承载令牌身份验证的Google Sheets MCP服务器。

工具

电子表格

  • sheets_get_spreadsheet -获取电子表格元数据,包括标题、区域设置、工作表和命名范围
  • sheets_list_sheets -列出电子表格中的所有工作表/选项卡及其属性(ID、标题、索引、网格大小)
  • sheets_create -创建一个带有可选标题和工作表的新电子表格
  • sheets_batch_update -在电子表格上执行批量更新(添加工作表、格式化单元格、创建图表等)

值(读取)

  • sheets_get_values -从A1表示法的单个范围读取值(例如,“Sheet1!A1:B10”)
  • sheets_batch_get_values -一次从多个范围读取值

值(写入)

  • sheets_update_values -将值写入单个范围
  • sheets_batch_update_values -一次将值写入多个范围
  • sheets_append_values -在范围内的最后一行数据后附加值
  • sheets_clear_values -在保持格式的同时清除范围中的值

对于MCP用户

如果你想使用此部分 呼叫 谷歌通过Dedalus SDK从您自己的应用程序中提取mcp服务器。

先决条件

  1. Dedalus API密钥(dsk-live-* 或 dsk-test-*)
  2. 这 dedalus-labs Python SDK: pip install dedalus-labs

快速开始

看 src/_client.py 对于完整的工作示例。

OAuth流

  1. 您的第一个请求提出 AuthenticationError 带着一个 connect_url
  2. 在浏览器中打开URL以授权Google表格访问
  3. 授权后,重试请求——凭据现在已存储
  4. 后续请求无需重新授权即可工作

面向MCP开发人员

如果你想使用此部分 构建、修改或部署 像这样的谷歌表格MCP服务器。

项目结构

src/
  main.py        # Entrypoint — loads .env and starts the server
  server.py      # MCPServer setup (port 8080, streamable HTTP)
  sheets.py      # All 10 Google Sheets tools + API connection
  _client.py     # Example client with OAuth browser flow

先决条件

  1. 谷歌云项目 随着 表API 启用
  2. OAuth 2.0凭据 --在中创建“Web应用程序”客户端 谷歌云控制台 并下载客户端密钥JSON
  3. Dedalus API密钥 (dsk-live-* 或 dsk-test-*)
  4. 紫外线 包管理器

环境变量

复制 .env.example 并填写您的值:

cp .env.example .env

OAuth配置 (来自您的Google客户端机密JSON):

OAUTH_ENABLED=true
OAUTH_AUTHORIZE_URL=https://accounts.google.com/o/oauth2/auth
OAUTH_TOKEN_URL=https://oauth2.googleapis.com/token
OAUTH_CLIENT_ID=<your-client-id>.apps.googleusercontent.com
OAUTH_CLIENT_SECRET=GOCSPX-<your-secret>
OAUTH_SCOPES_AVAILABLE=https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/drive.readonly
OAUTH_BASE_URL=https://sheets.googleapis.com

Dedalus平台:

DEDALUS_API_KEY=dsk-live-...
DEDALUS_API_URL=https://api.dedaluslabs.ai
DEDALUS_AS_URL=https://as.dedaluslabs.ai

添加新工具

  1. 在中定义异步函数 sheets.py 随着 @tool 装饰器
  2. 将其添加到 sheets_tools 列表在底部 sheets.py

本地运行

cd google-sheets-mcp
uv sync
uv run python src/main.py

服务器启动于 端口8080 并暴露 /mcp 通过可流式传输的HTTP。

API 参考