项目简介
这是一个基于 TypeScript 和 Bun 构建的 Model Context Protocol (MCP) 服务器。它利用 '@modelcontextprotocol/sdk' 库,将 Google Sheets 和 Google Drive 的功能封装成标准化的“工具”,供支持 MCP 的 AI 智能体调用。服务器支持 OAuth2 和服务帐号两种认证方式,确保 AI 在受控环境下访问您的 Google 电子表格数据。
主要功能点
该服务器提供了丰富的工具集,允许 AI 智能体执行以下操作:
- 创建电子表格: 根据指定的标题创建一个新的 Google 电子表格。
- 列出工作表: 获取指定电子表格内所有工作表(Sheet Tab)的名称列表。
- 重命名工作表: 修改指定电子表格内某个工作表的名称。
- 创建工作表: 在指定的电子表格中新增一个工作表。
- 获取电子表格信息: 查看电子表格的元数据,包括标题、各个工作表的 ID 和网格属性等。
- 列出电子表格: 列出您 Google Drive 中特定文件夹(或我的云端硬盘)内的所有电子表格。
- 共享电子表格: 将电子表格共享给指定用户,设置其权限(读者、评论者、编辑者),并可发送通知邮件。
- 读取单元格数据: 获取指定工作表和范围(如 A1:C5)内的单元格数值;如果未指定范围,则读取整个工作表数据。
- 更新单元格数据: 向指定工作表和范围写入二维数组形式的数据。
- 批量更新: 在一次请求中更新指定工作表的多个不连续范围的数据。
- 添加行/列: 在指定工作表的特定位置插入指定数量的行或列。
- 复制工作表: 将一个电子表格中的工作表复制到另一个电子表格,并可选择重命名。
安装步骤
- 安装 Bun: 确保您的系统已安装 Bun (v1.0+) 并添加到 PATH。
- 准备 Google Cloud 凭据:
- 访问 Google Cloud Platform 控制台。
- 创建一个新项目或选择现有项目。
- 在 API 库中搜索并启用 Google Sheets API 和 Google Drive API。
- 在“凭据”页面创建 OAuth2 客户端 ID (选择桌面应用类型,下载 'credentials.json' 文件) 或 创建服务帐号密钥 (下载 'service_account.json' 文件)。
- 克隆仓库: 将此 GitHub 仓库克隆到您的本地机器。
git clone https://github.com/rohans2/mcp-google-sheets.git cd mcp-google-sheets - 安装依赖: 在仓库目录下运行以下命令安装项目所需依赖。
bun install - 配置环境变量:
- 创建一个 '.env' 文件在项目根目录,或通过系统设置环境变量。
- 如果使用服务帐号: 将 'service_account.json' 文件的内容进行 base64 编码,并将其赋值给 'CREDENTIALS_CONFIG' 环境变量。
- 提示 (Linux/macOS): 'export CREDENTIALS_CONFIG=$(base64 service_account.json | tr -d '\n')'
- 如果使用 OAuth2: 将下载的 'credentials.json' 文件放在与 'index.ts' 同级的目录。首次运行服务器时会自动进行授权流程并生成 'token.json' 文件。
- 设置 'EMAIL_ID' 环境变量,填写您用于访问电子表格的 Google 邮箱地址。
- (可选)设置 'DRIVE_FOLDER_ID' 环境变量,填写您希望新创建的电子表格默认存放的云端硬盘文件夹 ID。
服务器配置
此 MCP 服务器设计为由 MCP 客户端启动和管理。支持 MCP 的 LLM 客户端通常需要以下信息来配置如何启动和连接到此服务器进程:
- 服务器名称 (server name): 'Demo'
- 启动命令 (command): 'bun'
- 启动参数 (args): 'index.ts'
您需要在您的 MCP 客户端(如特定的 AI 应用或框架)的配置中找到相应的字段,填写如上的服务器名称、启动命令和启动参数。客户端会自动负责启动进程、建立 StdIO 连接并进行后续的 JSON-RPC 通信。
基本使用方法
- 启动服务器: 在终端中进入项目目录,运行 'bun index.ts' 命令启动服务器。
- 如果使用 OAuth2 且是首次运行,终端会提示一个授权 URL,您需要在浏览器中访问该 URL 完成授权,然后将页面提供的授权码粘贴回终端。授权成功后会生成 'token.json' 文件供后续使用。
- 连接客户端: 启动您的支持 MCP 的 LLM 客户端,并确保其已配置连接到此 Google Sheets MCP 服务器。
- 通过 AI 调用工具: AI 智能体现在可以通过 MCP 协议调用服务器注册的各种 Google Sheets 相关工具,例如通过调用 'create' 工具创建新的电子表格,或通过 'sheetData' 工具读取现有电子表格的数据,从而实现与 Google Sheets 的自动化交互。
信息
分类
生产力应用