使用说明
Your AI Assistant's Gateway to Google Sheets! 📊
🤔 这是什么?
mcp-google-sheets 是一个基于TypeScripts的MCP服务器,充当任何兼容MCP的客户端(如Claude Desktop、Cursor或ChatGPT)与Google Sheets API之间的桥梁。它允许您使用一组定义好的工具与Google电子表格进行交互,从而实现由AI驱动的强大自动化和数据操作工作流程。
此服务器旨在部署在Vercel上 轻松实现全球分布的无服务器托管。
🚀 快速开始
部署到Vercel
- 单击上面的按钮进行部署
- 设置所需的环境变量(请参见 配置)
- 将您的MCP客户端连接到
https://your-deployment.vercel.app/api/mcp
本地开发
# Clone the repository
git clone https://github.com/xing5/mcp-google-sheets.git
cd mcp-google-sheets
# Install dependencies
npm install
# Set environment variables
export CREDENTIALS_CONFIG="your-base64-encoded-credentials"
# OR
export GOOGLE_SERVICE_ACCOUNT_KEY='{"type":"service_account",...}'
# OR
export GOOGLE_CLIENT_EMAIL="your-service-account@project.iam.gserviceaccount.com"
export GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n..."
# Optional: Set Redis URL for production (not needed for local dev)
# export REDIS_URL="redis://localhost:6379"
# Run development server
npm run dev
MCP端点将在 http://localhost:3000/api/mcp
✨ 主要特点
- 无缝集成: 直接连接到Google云端硬盘和Google表格API
- 综合工具: 提供广泛的操作(CRUD、列表、批处理、共享、格式化等)
- 灵活的身份验证: 支持多种凭据格式(Base64、JSON字符串、单个字段)
- 无服务器部署: 为Vercel构建,支持边缘运行时
- AI就绪: 专为与MCP兼容的客户端一起使用而设计
🔧 配置
环境变量
必需-身份验证
设置以下身份验证方法之一:
| 变量 | 描述 |
|---|---|
CREDENTIALS_CONFIG |
Base64编码的服务帐户JSON(建议用于Vercel) |
GOOGLE_SERVICE_ACCOUNT_KEY |
服务帐户凭据的直接JSON字符串 |
GOOGLE_CLIENT_EMAIL + GOOGLE_PRIVATE_KEY |
个人服务帐户字段 |
可选的
| 变量 | 描述 |
|---|---|
DRIVE_FOLDER_ID |
默认Google Drive文件夹ID |
REDIS_URL |
生产发布/订阅的Redis连接URL(例如。, redis://localhost:6379).当地发展不需要。 |
设置Google Cloud凭据
-
创建谷歌云项目
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
-
启用API
- 导航到“API和服务”→ “图书馆”
- 启用 谷歌网页API 和 Google Drive API
-
创建服务帐户
- 转到“IAM和管理员”→ “服务帐户”
- 点击“+创建服务帐户”
- 命名它(例如。,
mcp-sheets-service) - 授予 编辑 角色
- 单击“完成”,然后找到帐户并单击“管理密钥”
- 点击“添加密钥”→ “创建新密钥”→ JSON
- 下载JSON密钥文件
-
共享驱动器文件夹(可选)
- 在Google云端硬盘中创建文件夹
- 将其与您的服务帐户电子邮件共享(JSON中为
client_email) - 注意URL中的文件夹ID
-
对Vercel的凭据进行编码
# macOS/Linux base64 -w 0 your-service-account-key.json # Windows PowerShell [Convert]::ToBase64String([IO.File]::ReadAllBytes("your-service-account-key.json"))将输出设置为
CREDENTIALS_CONFIG在Vercel
🛠️ 可用工具
| 工具 | 说明 |
|---|---|
list_spreadsheets |
在Drive文件夹中列出电子表格 |
create_spreadsheet |
创建新的电子表格 |
get_sheet_data |
从某个范围读取数据 |
get_sheet_formulas |
从某个范围读取公式 |
update_cells |
将数据写入范围 |
batch_update_cells |
一次更新多个范围 |
add_rows |
插入空行 |
add_columns |
插入空列 |
list_sheets |
列出所有工作表选项卡 |
create_sheet |
创建新的图纸选项卡 |
copy_sheet |
在电子表格之间复制表格 |
rename_sheet |
重命名图纸选项卡 |
get_multiple_sheet_data |
从多个范围获取 |
get_multiple_spreadsheet_summary |
获取多个电子表格的摘要 |
share_spreadsheet |
与用户共享 |
list_folders |
列出驱动器文件夹 |
batch_update |
执行任何batchUpdate操作 |
MCP资源
| 资源 | 描述 |
|---|---|
spreadsheet://{spreadsheet_id}/info |
获取电子表格元数据 |
🔌 客户端配置
光标
添加到MCP设置中:
{
"mcpServers": {
"google-sheets": {
"url": "https://your-deployment.vercel.app/api/mcp"
}
}
}
克劳德桌面版
添加到 claude_desktop_config.json:
{
"mcpServers": {
"google-sheets": {
"url": "https://your-deployment.vercel.app/api/mcp",
"transport": "sse"
}
}
}
VS代码与副本
- 打开命令选项板
- 运行“MCP:添加服务器”
- 选择“HTTP”
- 输入URL:
https://your-deployment.vercel.app/api/mcp - 姓名:
google-sheets
💬 示例提示
连接后,尝试以下提示:
- “列出我有权访问的所有电子表格。”
- “创建一个名为‘2024年第三季度季度销售报告’的新电子表格。”
- “从电子表格ID abc123中的Sheet1范围A1到E10获取数据。”
- “将名为“摘要”的新工作表添加到电子表格abc123中。”
- 将工作表“任务”中的单元格B2更新为“进行中”
- “与共享电子表格user@example.com作为一名作家。"
🆔 ID参考指南
Google Drive Folder ID:
https://drive.google.com/drive/folders/1xcRQCU9xrNVBPTeNzHqx4hrG7yR91WIa
└────────── Folder ID ──────────┘
Google Sheets Spreadsheet ID:
https://docs.google.com/spreadsheets/d/25_-_raTaKjaVxu9nJzA7-FCrNhnkd3cXC54BPAOXemI/edit
└───────────── Spreadsheet ID ─────────────┘
📁 项目结构
mcp-google-sheets/
├── app/
│ ├── api/
│ │ └── mcp/
│ │ └── route.ts # MCP endpoint handler
│ ├── layout.tsx # Next.js layout
│ └── page.tsx # Info page
├── lib/
│ ├── google-auth.ts # Google API authentication
│ └── sheets-tools.ts # Tool implementations
├── package.json
├── tsconfig.json
├── vercel.json
└── README.md
🤝 贡献
欢迎投稿!请打开一个问题来讨论bug或功能请求。拉取请求受到赞赏。
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 学分
- 建于 mcp处理器
- 用途 谷歌蜜蜂 用于Google API集成
- 灵感源自 kazz187/mcp谷歌电子表格