谷歌表格协议服务器

一个基于Model Context Protocol (MCP)的服务器,提供与Google Sheets交互的功能,包括列出表格、读取和写入单元格数据。

  • by shionhonda
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 shionhonda/mcp-gsheet

使用说明

MCP谷歌表格服务器

该项目提供了一个模型上下文协议(MCP)服务器,允许与Google表格进行交互。

它使工具暴露于:

  • 在电子表格中列出工作表(选项卡)。
  • 从特定单元格范围读取数据。
  • 将数据写入特定单元格范围。

它明确 不 提供管理Google Drive文件的工具(列出、创建、删除文件夹/文件)。访问仅限于电子表格内容。

先决条件

  1. Python 3.11+
  2. 启用Google Sheets API的Google云项目
  3. 服务帐户密钥:
    • 转到Google Cloud控制台并创建新的服务帐户。
    • 下载服务帐户密钥文件(JSON格式)。
    • 授予此服务帐户您要访问的Google表格的“编辑”角色。

如何使用

  1. 克隆存储库。

    git clone https://github.com/shionhonda/mcp-gsheet.git
    
  2. 设置Google凭据:

    • 设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量 绝对路径 您下载的服务帐户JSON密钥文件。
    export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"
    
    • 或者,您可以将密钥文件放置在Google Cloud客户端库识别的标准位置(不建议用于共享环境)。
  3. 安装依赖关系:

    uv venv
    source .venv/bin/activate
    
  4. 运行服务器

    使用MCP Inspector开发服务器:

    mcp dev server.py
    

    要运行服务器,请执行以下操作:

    mcp run server.py
    

    服务器将启动并通过标准输入/输出(stdio)监听MCP请求。

克劳德桌面

将以下内容添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "gsheet": {
      "command": "/path/to/uv",
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json"
      },
      "args": ["--directory", "/path/to/mcp-gsheet", "run", "server.py"]
    }
  }
}

提供的MCP工具

  • list_sheets(spreadsheet_id: str) -> list[str]:列出指定电子表格中所有工作表的名称。
  • read_cells(spreadsheet_id: str, range_name: str) -> list[list[str]]:从给定范围读取数据(例如。, 'Sheet1!A1:B5').
  • write_cells(spreadsheet_id: str, range_name: str, values: list[list[str]]) -> str:将提供的2D值列表写入指定的起始单元格/范围(例如。, 'Sheet1!C1').