这是一个用于集成 Google Sheets API 的模型上下文协议(MCP)服务器。借助它,你可以直接从 MCP 客户端(如 Claude Desktop)读取、写入和管理 Google Sheets 文档。
# 克隆仓库
git clone https://github.com/freema/mcp-gsheets.git
# 或者使用 SSH
# git clone git@github.com:freema/mcp-gsheets.git
cd mcp-gsheets
# 安装依赖
npm install
# 构建项目
npm run build
运行交互式设置脚本:
npm run setup
这将:
如果你更喜欢手动配置,请将以下内容添加到你的 Claude Desktop 配置文件中:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/claude/claude_desktop_config.json{
"mcpServers": {
"mcp-gsheets": {
"command": "node",
"args": ["/absolute/path/to/mcp-gsheets/dist/index.js"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
添加配置后,重启 Claude Desktop。
# 开启热重载的开发模式
npm run dev
# 为生产环境构建
npm run build
# 类型检查
npm run typecheck
# 清理构建产物
npm run clean
# 运行 MCP 检查器进行调试
npm run inspector
# 在开发模式下运行 MCP 检查器
npm run inspector:dev
如果你安装了 Task,可以使用以下命令:
# 安装依赖
task install
# 构建项目
task build
# 在开发模式下运行
task dev
# 运行代码检查器
task lint
# 格式化代码
task fmt
# 运行所有检查
task check
cp .env.example .env
# 使用你的凭证编辑 .env 文件:
# GOOGLE_PROJECT_ID=your-project-id
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
# TEST_SPREADSHEET_ID=your-test-spreadsheet-id
npm run dev # 开启自动重载的监视模式
sheets_get_values - 从指定范围读取数据sheets_batch_get_values - 从多个范围读取数据sheets_get_metadata - 获取电子表格信息sheets_check_access - 检查访问权限sheets_update_values - 向指定范围写入数据sheets_batch_update_values - 向多个范围写入数据sheets_append_values - 向表格追加行sheets_clear_values - 清除单元格内容sheets_insert_sheet - 添加新工作表sheets_delete_sheet - 删除工作表sheets_duplicate_sheet - 复制工作表sheets_copy_to - 复制到另一个电子表格sheets_update_sheet_properties - 更新工作表设置sheets_format_cells - 设置单元格格式(颜色、字体、对齐方式、数字格式)sheets_update_borders - 添加或修改单元格边框sheets_merge_cells - 合并单元格sheets_unmerge_cells - 取消合并之前合并的单元格sheets_add_conditional_formatting - 添加条件格式规则# 运行 ESLint
npm run lint
# 修复可自动修复的问题
npm run lint:fix
# 使用 Prettier 检查代码格式
npm run format:check
# 格式化代码
npm run format
# 运行 TypeScript 类型检查
npm run typecheck
“身份验证失败”
“权限被拒绝”
“未找到电子表格”
https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/editMCP 连接问题
dist/index.js)。npm run inspector 进行调试。从 URL 中获取:
https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
↑ 这就是电子表格 ID
使用 sheets_get_metadata 列出所有工作表及其 ID。
sheets_check_access 验证权限。git checkout -b feature/amazing-feature)。npm run check)。git commit -m 'Add some amazing feature')。git push origin feature/amazing-feature)。本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。