使用说明
MCP谷歌表格
一个TypeScript模型上下文协议(MCP)服务器,允许人工智能代理通过类型良好的“工具”与谷歌表格安全交互 @modelcontextprotocol/sdk,它支持OAuth2和服务帐户流。
🚀 特性
- 认证
- 服务帐户 通过base64编码
CREDENTIALS_CONFIG - OAuth2 使用
credentials.json+token.json用于用户范围的访问
- 服务帐户 通过base64编码
- 工具
create
创建新的电子表格(如果已配置,则将其移动到“驱动器”文件夹中)。listSheets
列出给定电子表格中的所有工作表选项卡。renameSheet
重命名现有图纸选项卡。createSheet
将新的工作表选项卡添加到电子表格中。spreadsheetInfo
获取电子表格的元数据(标题、工作表ID、网格属性)。listSpreadsheets
列出您配置的“驱动器”文件夹(或“我的驱动器”)中的所有电子表格。shareSpreadsheet
与用户(读者/评论者/作者)共享电子表格并发送通知。sheetData
从工作表和范围(或整个工作表)读取单元格值。updateCells
将二维值数组写入A1样式范围。batchUpdate
在单个请求中应用多个范围更新。addRows/addColumns
在指定索引处插入行或列。copySheet
在电子表格之间复制表格选项卡(可选择重命名)。
📋 先决条件
- 包子 (v1.0+)已安装并安装在您的
PATH - A. 谷歌云 项目包括:
- 表API & 驱动API 启用
- 一 OAuth2客户端ID (下载
credentials.json) 或 一 服务帐户 密钥(下载service_account.json)
- (可选)如果要将新工作表移出“我的驱动器”,请提供驱动器文件夹ID
⚙️ 设置
- 克隆仓库
git clone https://github.com/yourusername/mcp-google-sheets.git cd mcp-google-sheets - 安装依赖项
bun install
- 配置环境
使用以下命令创建.env(或导出):
# Base64-encoded service-account key JSON (optional)
CREDENTIALS_CONFIG=BASE-64 ENCODED SERVICE_ACCOUNT.JSON
# Or put your OAuth2 JSON files next to index.ts:
# credentials.json (OAuth client secret)
# token.json (generated after first OAuth run)
# The google email address that you'll use to access the spreadsheet
EMAIL_ID="Enter the email address you’ll use to access the spreadsheet"
# (Optional) ID of the Drive folder to store new sheets
DRIVE_FOLDER_ID=1a2B3c4D5e6F...
提示:在Linux/macOS上,你可以
export CREDENTIALS_CONFIG=$(base64 service_account.json | tr -d '\n')
▶️ 运行服务器
bun index.ts
在第一次运行OAuth2时(如果使用credentials.json),您将看到一个URL。访问它,授予访问权限,然后将代码粘贴回您的终端。将自动生成一个token.json。
🔧 运作原理
初始化
-
initContext()选择您的身份验证方法(服务帐户→ OAuth2→ 错误)。
MCP工具注册
- 每个“工具”(例如create、listSheets、sheetData)都通过server.tool(…)注册。
运输
- 使用StdioServerTransport,这样Claude就可以通过stdin/stdout调用工具。
调用
代理发送JSON请求:
{ "tool": "create", "args": { "title": "Budget Q2" } }
服务器运行您的处理程序,调用GoogleAPI,并返回JSON包装的结果。
🛠️ 试试看
如上所述进行克隆和配置。
启动服务器:
bun index.ts
Invoke a tool via Claude
演示
❤️ 贡献
请随时打开新工具、错误修复和增强的问题或PR。