mcpField
G
Google Sheets MCP

Google Sheets MCP

本地服务
github.com生产力14 周前更新

关于 Google Sheets MCP

Google Sheets MCP 让 AI 应用通过 Google 账户查找、读取和编辑电子表格。它涵盖单元格与工作表编辑、格式、图表和访问控制,并将读取操作与可能具有破坏性的更改区分开。

主要功能

  1. 01搜索和创建电子表格
  2. 02读取、写入及追加单元格范围
  3. 03管理工作表、格式和数据验证
  4. 04创建图表和结构化表格
  5. 05保护范围并管理文件访问权限

适用场景

  1. 01汇总电子表格各工作表的数据
  2. 02向日志追加每日数据
  3. 03设置报告格式并生成图表
  4. 04按需向他人共享电子表格

MCP 相关

向 MCP 客户端提供 Google Sheets API 工具,可搜索电子表格并操作数据、工作表、格式、图表和权限。Drive 仅在内部用于电子表格搜索和共享,不提供通用 Drive 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"a1-x-tech-mcp-google-sheets": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets"
],
"env": {
"GOOGLE_SHEETS_CLIENT_ID": "<GOOGLE_SHEETS_CLIENT_ID>",
"GOOGLE_SHEETS_CLIENT_SECRET": "<GOOGLE_SHEETS_CLIENT_SECRET>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<GOOGLE_SHEETS_REFRESH_TOKEN>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<GOOGLE_SHEETS_ACCESS_TOKEN>",
"GOOGLE_SHEETS_OAUTH_PORT": "<GOOGLE_SHEETS_OAUTH_PORT>",
"GOOGLE_SHEETS_API_BASE": "<GOOGLE_SHEETS_API_BASE>",
"GOOGLE_SHEETS_TIMEOUT_MS": "<GOOGLE_SHEETS_TIMEOUT_MS>",
"GOOGLE_SHEETS_MAX_RETRIES": "<GOOGLE_SHEETS_MAX_RETRIES>"
}
}
}
}
启动命令npx -y @a1-x-tech/mcp-google-sheets
需要配置的环境变量
GOOGLE_SHEETS_CLIENT_IDGoogle OAuth2 client id (refresh-token flow).
GOOGLE_SHEETS_CLIENT_SECRET密钥Google OAuth2 client secret (refresh-token flow). Treat it as a secret.
GOOGLE_SHEETS_REFRESH_TOKEN密钥Google OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.
GOOGLE_SHEETS_ACCESS_TOKEN密钥Static OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.
GOOGLE_SHEETS_OAUTH_PORT密钥Fixed port for the loopback listener of the in-chat login (127.0.0.1 + PKCE). Set it when the client runs over SSH port forwarding; otherwise a free port is picked per login.
GOOGLE_SHEETS_API_BASESheets API root override.
GOOGLE_SHEETS_TIMEOUT_MSPer-request timeout in milliseconds.
GOOGLE_SHEETS_MAX_RETRIESRetries on transient errors (429 always; 5xx/network for reads).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@a1-x-tech/mcp-google-sheets1.0.0

工具

26

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

A1 Google Sheets MCP

English | Русский

npm Glama CI License: MIT

A1 Google Sheets MCP 让 AI 应用能够用自然语言操作 Google Sheets。查找电子表格、读取数据、写入和追加行、调整工作表和格式、创建图表并分享结果。

它使用 Google Sheets API 和你的 Google 账号。它将读取操作与写入操作分开,明确标记破坏性操作,并清晰说明 Sheets API 的限制,而不会让人误以为所有电子表格任务都能完成。

  • 26 个工具。 搜索和创建电子表格、读取和写入范围、管理工作表、格式、数据验证、受保护范围、条件格式、结构化表格、图表和访问权限。
  • 在对话中连接。 只需说“连接 Google Sheets”:服务会引导你配置 OAuth 客户端,使用 PKCE 在 127.0.0.1 上接收 Google 的重定向,并自行保存令牌——无需配置文件,也无需重启。
  • 谨慎执行写入。 遇到结果不明的故障时,绝不会重放写入操作——重放追加操作可能会导致行重复;破坏性工具也会明确标记,方便你的 AI 客户端先征求确认。
  • 仅支持 Sheets。 Drive 只是电子表格搜索和分享的内部依赖;不提供通用 Drive 工具,而且 raw_request 无法访问 Drive。
  • 最小化 Google 权限范围。 spreadsheets 涵盖所有 Sheets 工具;只有搜索和分享电子表格时才需要 Drive 权限范围。

从只读问题开始:

找到季度预算电子表格,并总结其中每个工作表的内容。

连接服务 · 探索使用场景 · 查看技术文档


一分钟了解它的工作方式

你: 展示销售报告电子表格的结构——其中的工作表、各自的大小和冻结行。

助手: 展示工作表、各自的大小、冻结的表头和其中的对象。不会进行任何更改。

你: 将“二月”工作表复制为“ 三月”工作表,并清除其中的数字,同时保留布局。

助手: 展示操作计划——复制工作表、重命名并清除数据范围——然后在进行任何更改前征求确认。

你: 确认。

助手: 复制工作表并清除数值。格式、数据验证和冻结行均会保留。

目录

快速开始

你需要 Node.js 20+ 和一个 Google 账号。安装时无需凭据——服务会在对话过程中连接。

  1. 将服务添加到你的 AI 应用。
  2. 说“连接 Google Sheets”:助手会引导你创建 OAuth 客户端并批准访问权限,无需编辑配置文件。
  3. 提出上面的只读问题。
Codex

**在应用中:**打开 设置 → MCP 服务,选择 添加服务,选择 STDIO,输入命令 npx -y @a1-x-tech/mcp-google-sheets@latest 和环境变量 GOOGLE_SHEETS_CLIENT_ID、GOOGLE_SHEETS_CLIENT_SECRET、GOOGLE_SHEETS_REFRESH_TOKEN,然后选择 保存 和 重启。

通过命令行:

codex mcp add google-sheets \
  -- npx -y @a1-x-tech/mcp-google-sheets@latest
codex mcp list

Codex MCP 文档

Claude Code
claude mcp add \
  --transport stdio --scope user google-sheets \
  -- npx -y @a1-x-tech/mcp-google-sheets@latest
claude mcp list

Claude Code MCP 文档

Claude Desktop

当前官方路径是 设置 → 扩展。若要安装自定义桌面扩展,请打开 高级设置 → 扩展开发者 → 安装扩展…,选择 .mcpb 文件并按照提示操作。

此仓库目前发布的是 npm stdio 包,不包含 .mcpb 包。对于仍支持本地配置的 Claude Desktop 版本,可使用以下 JSON stdio 配置作为备用方案:

{
  "mcpServers": {
    "google-sheets": {
      "command": "npx",
      "args": ["-y", "@a1-x-tech/mcp-google-sheets@latest"]
    }
  }
}

在这些版本中,在 macOS 上将其保存到 ~/Library/Application Support/Claude/claude_desktop_config.json,或在 Windows 上保存到 %APPDATA%\Claude\claude_desktop_config.json。

Claude Desktop MCP 文档

Cursor

在 macOS/Linux 上将以下内容添加到 ~/.cursor/mcp.json,或在 Windows 上添加到 %USERPROFILE%\.cursor\mcp.json:

{
  "mcpServers": {
    "google-sheets": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@a1-x-tech/mcp-google-sheets@latest"]
    }
  }
}

Cursor MCP 文档

VS Code

运行 MCP:打开用户配置 并添加:

{
  "servers": {
    "google-sheets": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@a1-x-tech/mcp-google-sheets@latest"]
    }
  }
}

使用 MCP:列出服务 检查配置。

VS Code MCP 文档

你可以让它做什么

查找和读取数据
  • 查找名称中包含“budget”的最新电子表格,并显示其结构。
  • 读取 'Q3'!A1:F50 并汇总总计。
  • 显示 Summary 工作表中的公式。
更新数字
  • 将此表格写入 Sheet1!A1,包括公式。
  • 将今天的数据追加为日志中的新行。
  • 在一次批处理中更新多个区域,或清除草稿区域并保留其格式。
排版和呈现
  • 添加一个“March”工作表,冻结标题行并将其设为粗体。
  • 使用条件格式将负数标为红色并添加边框。
  • 在单独的工作表中创建按月份统计收入的柱状图。
  • 将数据转换为结构化表格,并添加带数据验证的下拉菜单。
保护和共享
  • 保护总计行,使其只有我可以编辑。
  • 授予一位同事编辑权限,并将其他所有人的权限设为只读。
  • 显示当前有哪些人可以访问该文件。

电子表格如何变化

  1. 值工具通过 A1 表示法('Sheet name'!A1:C10)定位单元格;结构工具(工作表、格式、规则、表格、图表)通过从 0 开始的索引定位数字 sheetId。get_spreadsheet 会提供这些 ID——工作表标题不是地址。
  2. 写入会覆盖其范围;append_values 会在最后一行数据之后添加行;null 单元格会被跳过,而不是清除。
  3. clear_values 会清空值和公式,但保留格式、数据验证、备注和合并单元格。API 不支持撤销——删除工作表、行或列会销毁其中的数据。
  4. 批量工具可在一次调用中处理多个范围或请求,且只计入一次配额;batchUpdate 是原子操作——其中的请求要么全部应用,要么全部不应用。

部分电子表格功能没有专用工具:合并单元格、命名范围、带状样式、筛选器、切片器、查找和替换,以及渐变条件格式规则,都需通过 raw_request 调用,且仅限 Sheets API 源站。新建的电子表格会放在“我的云端硬盘”根目录——目前不支持将其移入文件夹,manage_permissions 也无法转移所有权。

可以进行的更改

操作结果确认边界
读取元数据或值读取结构和单元格内容不会更改
创建电子表格向“我的云端硬盘”添加文件更改 Google Sheets
写入、批量写入或追加值覆盖单元格或添加行更改电子表格
格式、冻结、边框、尺寸、验证、规则、表格、图表更改显示效果、结构和规则更改电子表格
清除值或删除工作表、行或列移除数据,且 API 不支持撤销具有破坏性
管理受保护范围和权限更改可打开或编辑文件的人员更改访问权限
原始 API 请求可调用没有专用工具的 API 方法可能具有破坏性

AI 客户端负责控制确认提示。服务会标记读取、写入和具有破坏性的工具,让客户端能够区分检查操作和实际更改。

获取访问权限

Google Sheets 需要 OAuth 2.0;仅有 API 密钥并不足够。有两种接入方式,第一种无需配置文件。

从聊天中连接(推荐)

说“连接 Google Sheets”,助手就会引导你完成整个流程:

  1. setup_instructions 会打印检查清单:创建或选择 Google Cloud 项目、启用 Google Sheets API、配置授权同意屏幕,并创建 桌面应用 OAuth 客户端。
  2. 下载该客户端的 JSON 文件(“Download JSON”),并将其路径提供给助手——set_client 会以仅所有者可访问的方式保存。密钥不会经过对话传递。
  3. start_login 会返回 Google 授权链接。在此设备上打开链接并批准;授权码会通过 PKCE 返回给 127.0.0.1 上的一次性监听器,不会经过聊天传递。
  4. finish_login 会交换授权码,并将令牌保存到 ~/.config/mcp-google-sheets/credentials.json(模式 0600)。

每次调用都会重新读取令牌,因此连接会立即生效——无需重启 AI 应用。auth_status 会显示当前连接状态,logout 会撤销并删除连接。

环境变量(CI、无人值守安装)
  1. 创建或选择一个 Google Cloud 项目,并启用 Google Sheets API。如果需要搜索和共享电子表格,也要启用 Google Drive API。

  2. 配置 OAuth 同意屏幕,并创建 Desktop app OAuth 客户端。

  3. 授权拥有电子表格或有权编辑电子表格的 Google 账号。启用 Use your own OAuth credentials 后,可以通过 OAuth 2.0 Playground 获取刷新令牌。

  4. 请求最小权限范围:

    https://www.googleapis.com/auth/spreadsheets
    

    该权限范围涵盖所有 Sheets 工具。只有 search_spreadsheets 和 manage_permissions 还需要额外的 Drive 权限范围:https://www.googleapis.com/auth/drive,或者仅用于搜索的 drive.readonly,或用于通过此应用创建的文件的 drive.file。

测试模式下的 OAuth 刷新令牌可能会在七天后过期。如需长期访问,请发布 OAuth 应用,或在 Workspace 网域中使用 Internal 应用。请将客户端密钥和刷新令牌视为密码。

配置

所有变量都是可选的——即使不设置任何变量,服务也会从聊天中连接。

变量必需描述
GOOGLE_SHEETS_CLIENT_ID否*OAuth 客户端 ID。
GOOGLE_SHEETS_CLIENT_SECRET否*OAuth 客户端密钥。
GOOGLE_SHEETS_REFRESH_TOKEN否*OAuth 刷新令牌。
GOOGLE_SHEETS_ACCESS_TOKEN否*可替代 OAuth 三项配置的短期(约 1 小时)令牌。
GOOGLE_SHEETS_OAUTH_PORT否用于聊天内登录的固定环回端口;通过 SSH 端口转发时很有用。
GOOGLE_SHEETS_API_BASE否覆盖 Google Sheets API 基础 URL。
GOOGLE_SHEETS_TIMEOUT_MS否每个请求的超时时间;默认值为 60000 ms。
GOOGLE_SHEETS_MAX_RETRIES否临时错误的重试次数;默认值为 3。

* 请提供 OAuth 三项配置或访问令牌。没有凭据时,服务仍会启动并列出其工具;首次调用时会提示需要设置哪些变量。

数据、限制与后台工作

  • 请求会发送至 Google。 本地服务会刷新 Google OAuth 令牌并调用 Sheets API;仅在搜索和共享电子表格时,还会调用 Drive API。匿名遥测包含安装 ID、软件包版本、AI 客户端和平台版本,以及工具名称——绝不会包含 OAuth 令牌、电子表格数据、工具参数或提示词。设置 ASKADS_TELEMETRY=0 可选择退出。
  • Google 会实施每分钟配额限制。 文档所述的限制为每个项目每分钟 300 次读取和 300 次写入,每个用户每分钟各 60 次;无论批量调用包含多少个范围或请求,都只计为一次。一个电子表格最多包含 10,000,000 个单元格。遇到 429 时,服务会采用退避策略;读取操作也会在网络错误和 5xx 错误后重试,而写入操作在结果不确定的失败后不会重放。
  • 没有后台轮询。 服务仅在被调用时运行。如果你的 AI 应用支持计划任务,就可以定期检查电子表格。

技术文档

支持

发现 Bug 或有使用场景需求?创建 Issue,或在 Telegram 上留言。


两位 Mona 击掌

你已读到最后!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。