Google Sheets集成服务

一个提供Google Sheets集成的MCP服务器,支持读取、写入和追加数据到Google Sheets。

  • by berni23
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 berni23/mcp-google-sheets

使用说明

MCP谷歌表格服务器

提供Google表格集成的模型上下文协议(MCP)服务器。此服务器允许通过MCP工具读取、写入和附加数据到Google表格。

特性

  • 阅读工作表:从Google表格范围读取值
  • 书写工作表:将值写入特定的Google表格范围
  • 附录表:将新行附加到Google工作表
  • 创建绘图 从Google表格中的数据集创建绘图

先决条件

  • Python 3.10或更高版本
  • 使用Sheets API访问的Google云服务帐户
  • 服务帐户凭据JSON文件

设置

选项1:使用紫外线(推荐)

  1. 安装依赖项:
    uv sync
    

选项2:使用pip

  1. 创建虚拟环境:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  2. 安装依赖项:

    pip install -r requirements.txt
    

Google Sheets API设置

  1. 设置Google Sheets API:

    • 创建谷歌云项目
    • 启用Google Sheets API
    • 创建服务帐户
    • 下载服务帐户凭据JSON文件
    • 将其重命名为 credentials.json 并将其放置在项目根目录中
  2. 分享你的谷歌表格:

    • 使用服务帐户电子邮件地址共享您的Google表格
    • 授予“编辑”权限

用法

运行MCP服务器:

python server.py

服务器将启动并通过stdio监听MCP请求。

MCP工具

read_sheet

从谷歌表格中读取值。

参数:

  • spreadsheet_id (str):谷歌表格ID
  • range_ (str):要读取的范围(例如,“A1:C10”、“Sheet1!A:Z”)

退货:行列表,每一行都是单元格值的列表。

write_sheet

将值写入Google表格范围。

参数:

  • spreadsheet_id (str):谷歌表格ID
  • range_ (str):要写入的范围
  • values (list[list[Any]]):要写入的二维值数组

退货:Google Sheets API响应对象。

附录_表格

将新行附加到Google工作表。

参数:

  • spreadsheet_id (str):谷歌表格ID
  • range_ (str):要追加的范围
  • values (list[list[Any]]):要附加的二维值数组

退货:Google Sheets API响应对象。

配置

服务器使用服务帐户身份验证。放置您的 credentials.json 项目根目录中的文件。

所需范围:

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

依赖项

  • fastmcp:快速MCP服务器框架
  • google-api-python-client:Google Sheets API客户端
  • google-auth:Google身份验证库

许可证

MIT许可证