Token导航 LogoToken导航TokenDH.com
MCP GoogleSheets logo
AI代理stdio官方级别未说明来源级核验

MCP GoogleSheets

MCP Server

Google Sheets MCP服务器是一个安全的桥梁,连接MCP兼容客户端(如Claude Desktop)和Google Sheets API,提供强大的电子表格自动化和数据操作功能。

工具数

27

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude数据操作Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

santiagopereda

提供方

santiagopereda

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python googlesheets_server.py

详细介绍

Google表格MCP服务器

一种模型上下文协议(MCP)服务器,在兼容MCP的客户端(如Claude Desktop)和Google Sheets API之间提供安全的桥梁。

](https://www.docker.com/) ![Python](https://www.python.org/) ![MCP](https://modelcontextprotocol.io/)

概述

此MCP服务器为人工智能助手提供了一个安全的接口,使其能够与谷歌电子表格进行交互,从而实现强大的自动化和数据操作工作流程。它支持服务帐户和OAuth 2.0身份验证方法,并作为容器化服务运行,以增强安全性。

主要特点

  • 31工具 用于全面的电子表格操作
  • 服务帐户和OAuth 2.0 身份验证支持
  • 基于Docker 非root用户执行的部署
  • 表级操作 用于结构化数据管理
  • 批量操作 用于高效使用API
  • 条件化格式 使用自定义规则和公式
  • CSV导入/导出 能力

建筑

Claude Desktop → MCP Gateway → Google Sheets Server → Google Sheets API
                                       ↓
                            Docker Desktop Secrets

可用工具

电子表格管理(3个工具)

  • list_spreadsheets -从Drive文件夹或用户访问中列出电子表格
  • create_spreadsheet -创建新的电子表格
  • share_spreadsheet -与用户/电子邮件共享(读者、评论者、作家角色)

表格操作(6个工具)

  • list_sheets -在电子表格中列出所有工作表名称
  • create_sheet -添加新工作表(选项卡)
  • rename_sheet -重命名现有图纸
  • copy_sheet -在电子表格内或跨电子表格复制表格
  • add_columns -在工作表中添加列
  • add_conditional_formatting -添加条件格式规则
  • update_conditional_formatting -更新或移动现有规则

数据访问(4个工具)

  • get_sheet_data -从范围读取数据(带可选网格元数据)
  • get_sheet_formulas -从范围中读取公式
  • get_multiple_sheet_data -在一次调用中获取多个范围
  • get_multiple_spreadsheet_summary -获取标题、页眉和预览行

数据修改(3个工具)

  • update_cells -将数据写入特定范围(覆盖)
  • batch_update_cells -在一次呼叫中更新多个范围
  • add_rows -将行附加到工作表末尾

表操作(11个工具)

  • list_tables -列出定义的表(命名范围)
  • create_table -创建带有标题和可选数据的表
  • get_table_data -使用过滤器、限制、偏移读取表数据
  • insert_table_rows -在表中插入行
  • update_table_rows -更新符合条件的行
  • delete_table_rows -删除符合条件的行
  • add_table_columns -向表中添加列
  • rename_table_column -重命名表头
  • export_table_as_csv -将表格导出为CSV格式
  • import_csv_to_table -将CSV内容导入表中

先决条件

  • 启用MCP工具包的Docker桌面
  • Docker MCP CLI插件(docker mcp 命令)
  • 谷歌云项目:

- 已启用Google Sheets API - 已启用Google Drive API

  • 资格证书:

- 服务帐户JSON文件(推荐),或 - 用于用户身份验证的OAuth 2.0凭据

快速开始

1.构建Docker镜像

git clone 
cd MCP_GoogleSheets
docker build -t googlesheets-mcp-server .

2.配置凭据

# Service Account (recommended)
docker mcp secret set GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"
docker mcp secret set SERVICE_ACCOUNT_EMAIL="your-sa@project.iam.gserviceaccount.com"

# Optional: Specify default Drive folder
docker mcp secret set DRIVE_FOLDER_ID="your-folder-id"

3.创建自定义目录

创建或编辑 ~/.docker/mcp/catalogs/custom.yaml:

version: 2
name: custom
displayName: Custom MCP Servers
registry:
  googlesheets:
    description: "Bridge between MCP clients and Google Sheets API"
    title: "Google Sheets"
    type: server
    dateAdded: "2025-10-11T00:00:00Z"
    image: googlesheets-mcp-server:latest
    ref: ""
    tools:
      - name: list_spreadsheets
      - name: create_spreadsheet
      - name: get_sheet_data
      # ... (see readme.txt for complete list)
    secrets:
      - name: GOOGLE_APPLICATION_CREDENTIALS
        env: GOOGLE_APPLICATION_CREDENTIALS
      - name: SERVICE_ACCOUNT_EMAIL
        env: SERVICE_ACCOUNT_EMAIL
      - name: DRIVE_FOLDER_ID
        env: DRIVE_FOLDER_ID
    metadata:
      category: productivity
      tags: [google, sheets, spreadsheet, data]

4.更新注册表

编辑 ~/.docker/mcp/registry.yaml 并添加:

registry:
  googlesheets:
    ref: ""

5.配置克劳德桌面

编辑您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

将自定义目录添加到args数组:

{
  "mcpServers": {
    "mcp-toolkit-gateway": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v", "/var/run/docker.sock:/var/run/docker.sock",
        "-v", "/Users/your_username/.docker/mcp:/mcp",
        "docker/mcp-gateway",
        "--catalog=/mcp/catalogs/docker-mcp.yaml",
        "--catalog=/mcp/catalogs/custom.yaml",
        "--config=/mcp/config.yaml",
        "--registry=/mcp/registry.yaml",
        "--tools-config=/mcp/tools.yaml",
        "--transport=stdio"
      ]
    }
  }
}

6.重新启动克劳德桌面

退出并完全重新启动Claude Desktop。您的Google表格工具现在应该可用了!

使用示例

基本操作

"List all my spreadsheets"
"Create a new spreadsheet called 'Q1 Sales Data 2025'"
"Get data from Sheet1 range A1:D10 in spreadsheet [ID]"
"Add a new sheet called 'Revenue' to my spreadsheet"

表操作

"Create a table with headers ['Name', 'Email', 'Status'] in Sheet1"
"Get all data from the 'Customers' table where Status is 'Active'"
"Insert rows [['John', 'john@example.com', 'Active']] into the Users table"
"Export the 'Sales' table as CSV"

高级功能

"Share my spreadsheet with user@example.com as a writer"
"Add conditional formatting to highlight values > 100 in A1:D10"
"Update cells A1:B2 with data [[1,2],[3,4]]"
"Batch update multiple ranges: A1:B2 and D5:E6"

数据格式示例

2D数组(用于update_cells、add_rows)

[["Header1", "Header2"], ["Value1", "Value2"]]

多个范围(用于batch_update_cells)

{"A1:B2": [[1, 2], [3, 4]], "D5": [["Hello"]]}

过滤器(用于get_table_data)

{"Status": "Active", "Country": "USA"}

条件格式规则

{
  "type": "boolean",
  "condition": {
    "type": "NUMBER_GREATER",
    "values": [{"userEnteredValue": "100"}]
  },
  "format": {
    "backgroundColor": {"red": 1.0, "green": 0.8, "blue": 0.8},
    "textFormat": {"bold": true}
  }
}

发展

局部测试

# Set environment variables
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"

# Run server
python googlesheets_server.py

# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python googlesheets_server.py

添加新工具

  1. 添加功能 googlesheets_server.py
  2. 用…装饰 @mcp.tool()
  3. 使用 仅限单行docstring
  4. 使用空字符串默认值(param: str = "")
  5. 始终返回字符串
  6. 使用新工具名称更新目录
  7. 重建Docker镜像

实施细则

CLAUDE.md 有关详细指南:

  • 无多行文档字符串(导致网关死机)
  • 打字模块没有类型提示
  • None 默认值(使用 "" 相反)
  • 仅限单行文档字符串
  • 始终从工具返回字符串

故障排除

工具未出现

# Check Docker image
docker images | grep googlesheets

# Verify server in list
docker mcp server list

# Check logs
docker logs [container_name]

身份验证错误

# Verify secrets
docker mcp secret list

# Check APIs enabled in Google Cloud Console:
# - Google Sheets API
# - Google Drive API

常见问题

  • 网关恐慌:检查工具中的多行文档字符串
  • JSON解析错误:确保使用双引号的JSON有效
  • 空结果:验证电子表格ID、工作表名称和范围符号

安全

  • 存储在Docker Desktop机密中的凭据(从未硬编码)
  • 服务器以非root用户身份运行(mcpuser)
  • 从未记录敏感数据
  • 仅在授权的电子表格上操作

API限值

Google Sheets API配额:

  • 每个项目每100秒500个请求
  • 每位用户每100秒100个请求

考虑实现用于生产的请求批处理和缓存。

文件

  • googlesheets_server.py -主MCP服务器实现
  • Dockerfile -容器定义
  • requirements.txt -Python依赖关系
  • readme.txt -详细的安装指南
  • CLAUDE.md -克劳德代码开发指南
  • mcp-builder-prompt.md -用于构建此服务器的模板提示

参考文献

许可证

MIT许可证

支持

对于问题和疑问:

  1. 检查 故障排除 章节
  2. 审查 readme.txt 有关详细的设置说明
  3. CLAUDE.md 实施指南
  4. 检查Docker日志: docker logs [container_name]

目录标签

目录标签

PythonClaude数据操作表格自动化本地部署GoogleSheets集成MCP协议容器化服务

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

27

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauthremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP