项目简介
Spreadsheet MCP 是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于与 Google Spreadsheets (Google 表格) 进行交互。它将 Google 表格的操作能力包装成可通过 MCP 协议调用的工具(Tools),使大型语言模型 (LLM) 客户端能够方便地访问、读取、写入和管理 Google 表格数据。
主要功能点
- 读取表格数据: 从指定的 Google 表格读取数据,并将其转换为易于 LLM 理解的 Markdown 表格格式。
- 获取列名: 获取指定表格中某个工作表的列名列表(通常是第一行)。
- 查找工作表URL: 根据工作表名称,查找并返回该工作表在 Google 表格中的唯一 URL。
- 列出工作表: 获取指定 Google 表格文件中所有工作表的名称列表。
- 上传 CSV: 将本地的 CSV 文件内容上传(覆盖)到指定的 Google 表格工作表中。
- 复制工作表: 将一个 Google 表格工作表的内容复制(覆盖)到另一个工作表(可以在同一个文件或不同文件之间)。
本工具主要适用于结构化的表格数据(第一行为列头且列名不重复)。
安装步骤
- 克隆仓库到本地:
git clone https://github.com/yamitzky/spreadsheet-mcp.git cd spreadsheet-mcp - 安装开发依赖(使用 uv 工具,请确保已安装 uv):
uv sync - 进行 Google Sheets 认证设置。本项目依赖 'gspread' 库与 Google Sheets API 交互,需要进行相应的 OAuth2 认证配置。请参考 'gspread' 官方文档进行设置: https://docs.gspread.org/en/latest/oauth2.html
服务器配置
此配置信息由 MCP 客户端使用,用于启动并连接到 Spreadsheet MCP 服务器。您需要将以下配置添加到您的 MCP 客户端的配置中(例如,在一个名为 'config.json' 的文件中):
{ "mcpServers": { "spreadsheet": { // 服务器的名称,LLM客户端将使用此名称引用该服务器 "command": "uvx", // 启动服务器的命令,这里使用uvx运行安装的脚本 "args": [ "spreadsheet-mcp" // 传递给命令的参数,实际执行的是项目的入口脚本 ] } } // ... 其他 MCP 客户端配置 ... }
配置完成后,MCP 客户端将能够根据此信息启动 Spreadsheet MCP 服务器并通过标准输入/输出 (Stdio) 与其通信。
基本使用方法
一旦 Spreadsheet MCP 服务器被 MCP 客户端配置并成功启动,LLM 客户端就可以通过 MCP 协议调用服务器提供的工具。例如,LLM 可以请求客户端执行 "load_sheet" 工具,并提供一个 Google 表格的 URL 作为参数,客户端会将该请求发送给 Spreadsheet MCP 服务器。服务器执行相应的操作,并将 Markdown 格式的数据返回给客户端,最终客户端可以将这些数据提供给 LLM 使用。其他工具(如获取列名、上传数据)也可以以类似方式调用。
信息
分类
数据库与文件