Google表格MCP服务器
用Go编写的Google表格的模型上下文协议(MCP)服务器。提供与谷歌电子表格交互的全面工具。
特性
- 工作表数据:获取/更新单元格数据、公式、批处理操作
- 表单管理:创建、重命名、复制图纸、添加行/列
- 电子表格管理:创建、列出、共享电子表格
- 多种身份验证方法:服务帐户、OAuth2、ADC
快速开始
- 构建:
make build- 设置Google API凭据 (参见 设置.md 详细说明)
- 配置环境:
# Service Account (recommended)
export SERVICE_ACCOUNT_PATH="path/to/service-account.json"
# OAuth2
export CREDENTIALS_PATH="path/to/credentials.json"
# Base64 encoded service account
export CREDENTIALS_CONFIG="base64_encoded_service_account_json"- 跑:
# Stdio mode
./go_mcp_server_google_sheets
# SSE mode
./go_mcp_server_google_sheets -t sse -p 8891环境变量
SERVICE_ACCOUNT_PATH-服务帐户JSON文件的路径CREDENTIALS_PATH-OAuth2凭据JSON文件的路径CREDENTIALS_CONFIG-Base64编码的服务帐户JSONTOKEN_PATH-OAuth2令牌存储路径(默认:token.json)DRIVE_FOLDER_ID-新电子表格的Google Drive文件夹ID
可用工具
数据操作
get_sheet_data-从工作表中获取数据get_sheet_formulas-从工作表中获取公式update_cells-更新单元格值batch_update_cells-批量更新多个范围
表单管理
list_sheets-在电子表格中列出所有工作表create_sheet-创建新工作表rename_sheet-重命名现有图纸copy_sheet-在电子表格之间复制表格add_rows/add_columns-添加行或列
电子表格管理
create_spreadsheet-创建新的电子表格list_spreadsheets-在Drive中列出电子表格share_spreadsheet-与用户共享电子表格
身份验证设置
方法1:服务帐户(推荐)
- 创建谷歌云项目:
- 首选 谷歌云控制台 - 创建新项目或选择现有项目
- 启用API:
- 转到“API和服务”>“库” - 启用“Google Sheets API” - 启用“Google Drive API”
- 创建服务帐户:
- 转到“API和服务”>“凭据” - 点击“创建凭据”>“服务帐户” - 填写服务帐户详细信息 - 点击“创建并继续”
- 生成密钥:
- 点击已创建的服务帐户 - 转到“密钥”选项卡 - 点击“添加密钥”>“创建新密钥” - 选择“JSON”格式 - 下载文件(这是您的 service-account.json)
- 设置环境变量:
export SERVICE_ACCOUNT_PATH="/path/to/your/service-account.json"方法2:OAuth2(用于用户访问)
- 创建OAuth2凭据:
- 在Google Cloud控制台中,转到“API和服务”>“凭据” - 点击“创建凭据”>“OAuth客户端ID” - 选择“桌面应用程序” - 下载JSON文件(这是您的 credentials.json)
- 设置环境变量:
export CREDENTIALS_PATH="/path/to/your/credentials.json"方法3:Base64编码(用于容器/CI)
- 对服务帐户进行编码:
base64 -w 0 /path/to/service-account.json- 设置环境变量:
export CREDENTIALS_CONFIG="your_base64_encoded_string_here"与服务帐户共享电子表格
使用服务帐户时,您需要将电子表格与服务帐户电子邮件共享:
- 打开您的谷歌电子表格
- 点击“分享”按钮
- 添加服务帐户电子邮件(在JSON文件中作为
client_email) - 授予适当的权限(查看器/编辑器)
许可证
麻省理工学院
