返回市场
MCP-电子表格服务器

MCP-电子表格服务器

作者:shionhonda2 星标更新:2025-04-13

项目介绍

MCP Google Sheets Server

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

它提供了以下工具:

  • 列出电子表格中的工作表(标签)。
  • 从特定单元格范围内读取数据。
  • 向特定单元格范围内写入数据。

提供管理Google云端硬盘文件(列出、创建、删除文件夹/文件)的工具。访问仅限于电子表格内容。

预备条件

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

如何使用

  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

在您的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: 将提供的二维值列表写入指定的起始单元格/范围(例如,'Sheet1!C1')。