Google Sheets MCP 服务器

使用说明内容(Markdown格式)

  • 项目简介

    • 该项目实现了一个基于 MCP 的服务器,聚焦以 Google Sheets 为资源源,通过可注册的工具对表格数据进行创建、读取、编辑等操作,并对外提供标准化的 JSON-RPC 接口,便于将 Google Sheets 作为上下文资源接入到大语言模型的工作流中。
  • 主要功能点

    • 资源读取: 通过 ReadResource 请求可以把 Google Sheets 的数据转换为 CSV/文本形式输出,作为资源内容提供给客户端。
    • 工具注册与执行: 提供多种对 Google Sheets 的操作工具,如创建表格、列/行/工作表操作、读取数据、编辑单元格等;通过 CallTool 请求执行。
    • 工具清单: ListTools 请求返回可用工具清单及其输入模式,便于 MCP 客户端动态发现可用功能。
    • 身份认证与授权支持: 内置 Google OAuth 流程,支持刷新凭证,确保对 Sheets API 的访问。
    • 传输协议: 使用 StdioServerTransport 作为传输方式,支持与 MCP 客户端的标准输入/输出通信。
  • 安装步骤

    1. 需要运行 Node.js 环境(推荐使用 Node.js 18+)。
    2. 克隆本仓库并进入项目目录。
    3. 安装依赖:执行安装命令安装所需的 Node 包。
    4. 配置 Google API 凭证:
      • 将 Google Cloud Console 生成的 gcp-oauth.keys.json 放到项目中指定位置。
      • 按照流程完成首次授权并将生成的凭证保存到默认或自定义的 credentials 路径(默认为 .gsheets-server-credentials.json)。
    5. 构建并运行服务器:
      • 将 TypeScript 代码编译为 JavaScript(如使用 tsc、或项目提供的构建脚本)。
      • 启动服务器:node dist/index.js(dist 为编译输出目录,实际路径视项目构建配置而定)。
    6. 服务启动后,服务器将等待 MCP 客户端通过 STDIO 与之建立连接并进行后续请求。
  • 服务器配置(MCP 客户端需要的连接信息,采用 JSON 形式,描述 server 启动所需的命令和参数;以下为示例说明,具体执行请按实际构建产物路径调整) { "server": "google-sheets-mcp", "command": "node", "args": ["dist/index.js"], "transport": "stdio" } 字段说明:

    • server: MCP 服务器的名称,应与服务端实现中的名称保持一致,便于客户端识别和日志关联。
    • command: 启动服务器所需的命令,一般为 node。
    • args: 命令的参数,通常为编译后入口文件路径,如 dist/index.js。
    • transport: 传输方式,MCP 客户端需要与服务器通过标准输入输出(stdio)进行通信。
  • 基本使用方法

    • 启动后,MCP 客户端通过标准输入输出与服务器建立连接。
    • 使用 ReadResource 请求获取资源内容(如将 Google Sheets 转换为 CSV)。
    • 使用 ListTools 获取可用工具清单,了解每个工具的名称与输入参数。
    • 使用 CallTool 调用具体工具,如创建表格、读取表格数据、编辑单元格等。
    • 如遇认证问题,可以通过 refresh_auth 工具刷新凭证,重新加载有效的访问令牌。

服务器信息