使用说明
Google表格MCP服务器
功能齐全 MCP(模型上下文协议) 该服务器允许人工智能代理通过官方的Google Sheets API v4与Google Sheets交互。
支持 三种身份验证方法 --根据可用内容自动检测。
用Python和 FastMCP设计为作为Docker容器运行,并与Claude Desktop、Cursor等AI客户端集成。
特性
- 28工具 涵盖完整的Google表单API v4
- 三种身份验证方法:Docker桌面配置UI、服务帐户文件、OAuth 2.0
- 作为独立的Docker容器运行
- 适用于Claude Desktop、Cursor、Zed和任何兼容MCP的客户端
工具(共28个)
📋 价值观——阅读与写作
| # | 工具 | 说明 |
|---|---|---|
| 1 | read_sheet |
从单个范围读取数据 |
| 2 | write_sheet |
写入或更新单元格值 |
| 3 | append_rows |
将新行附加到工作表 |
| 4 | batch_get_values |
在单个API调用中读取多个范围 |
| 5 | batch_update_values |
在单个API调用中写入多个范围 |
| 6 | batch_clear_values |
在单个API调用中清除多个范围 |
| 7 | clear_range |
清除单个范围内的所有值 |
🗂️ 电子表格和表格管理
| # | 工具 | 说明 |
|---|---|---|
| 8 | create_spreadsheet |
创建新的谷歌电子表格 |
| 9 | get_spreadsheet_info |
获取标题、工作表名称、行/列计数 |
| 10 | list_sheets |
列出所有工作表选项卡 |
| 11 | add_sheet |
添加新的图纸选项卡 |
| 12 | delete_sheet |
删除图纸选项卡 |
| 13 | rename_sheet |
重命名图纸选项卡 |
| 14 | duplicate_sheet |
在同一电子表格中复制工作表选项卡 |
| 15 | copy_sheet_to |
将工作表选项卡复制到其他电子表格 |
🔢 行和列
| # | 工具 | 说明 |
|---|---|---|
| 16 | insert_rows_columns |
在特定位置插入空行或空列 |
| 17 | delete_rows |
按索引删除行 |
| 18 | delete_columns |
按索引删除列 |
| 19 | move_dimension |
将行或列移动到新位置 |
| 20 | insert_range |
插入空白区域并向下或向右移动单元格 |
| 21 | delete_range |
删除一个范围并向上或向左移动单元格 |
🧹 数据清洗
| # | 工具 | 说明 |
|---|---|---|
| 22 | delete_duplicates |
从范围中删除重复行 |
| 23 | trim_whitespace |
修剪范围内单元格的多余空格 |
| 24 | find_and_replace |
跨工作表搜索和替换文本 |
| 25 | sort_range |
按特定列对范围进行排序(asc或desc) |
🎨 格式化
| # | 工具 | 说明 |
|---|---|---|
| 26 | format_cells |
应用粗体、字体大小、背景和文本颜色 |
| 27 | freeze_rows_columns |
冻结标题行和/或列 |
| 28 | add_conditional_formatting |
根据规则突出显示单元格(例如,如果为负,则显示红色) |
认证
服务器 自动检测 按此优先级顺序使用哪种方法:
| 优先级 | 方法 | 方法 | 最佳方式 |
|---|---|---|---|
| 第一名 | GOOGLE_SERVICE_ACCOUNT_JSON env var |
Docker桌面配置UI | ✅ 最简单的——Docker用户 |
| 第二名 | service_account.json 文件 |
卷装载 | ✅ 团队、自动化 |
| 第三名 | credentials.json 文件 |
卷装载+浏览器登录 | ✅ 个人、本地开发人员 |
选项A——Docker桌面配置UI⭐ 对Docker用户来说最简单
如果你正在使用 带有MCP工具包的Docker桌面,您可以直接从UI配置服务器,而无需挂载任何文件。
步骤1--获取您的服务帐户JSON
- 首选 谷歌云控制台
- 创建项目并启用 谷歌网页API
- 首选 IAM和管理员→ 服务账户→ 创建服务帐户
- 给它起个名字,然后单击 创建并继续→ Done
- 点击服务帐户→ 钥匙 tab → 添加关键点→ 创建新密钥→ JSON
- 下载了一个JSON文件——打开它并复制整个内容
第2步——与服务帐户共享您的Google表格
⚠️ 服务帐户只能访问与其明确共享的工作表。
- 在下载的JSON中,找到
client_email字段(例如。sheets-mcp@my-project.iam.gserviceaccount.com) - 打开你的谷歌表格→ click 分享
- 粘贴
client_email并给予它 编辑 访问
步骤3——粘贴到Docker桌面
- 打开 Docker 桌面版→ MCP工具包→ 目录→ 谷歌表格
- 去 配置 选项卡
- 粘贴您的全部内容
service_account.json进入 Google服务帐户JSON 领域 - 点击 保存 --完成!无需挂载文件🎉
选项B——服务帐户文件✅ 推荐给Docker/Teams
与选项A相同,但使用挂载的文件而不是配置UI。
步骤1-5--与上述选项A相同
第6步——使用Docker运行
mkdir -p data
cp /path/to/service_account.json data/
docker run -i --rm \
-v $(pwd)/data:/data \
mcp/google-sheets
无需浏览器登录! 🎉
选项C-OAuth 2.0✅ 建议本地/个人使用
OAuth 2.0允许您通过浏览器使用您的个人Google帐户登录。最有利于当地发展。
第一步——创建谷歌云项目
- 首选 谷歌云控制台
- 点击 选择一个项目→ 新项目,为其命名,单击 创建
步骤2-启用Google Sheets API
- 首选 API和服务→ 图书馆
- 搜索 谷歌网页API 然后单击 启用
步骤3——配置OAuth同意屏幕
- 首选 API和服务→ OAuth同意屏幕
- 选择 外部 然后单击 创建
- 填写 应用程序名称 和你的 电子邮件,单击 保存并继续 通过所有步骤
步骤4——创建OAuth 2.0凭据
- 首选 API和服务→ 凭证
- 点击 创建凭据→ OAuth 2.0客户端ID
- 选择 桌面应用程序,为其命名,单击 创建
- 点击 下载JSON 并将文件重命名为
credentials.json
第5步——在本地运行
git clone https://github.com/adalpan/google-sheets-mcp
cd google-sheets-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
mkdir data
cp /path/to/credentials.json data/
TOKEN_PATH=data/token.json CREDENTIALS_PATH=data/credentials.json python src/server.py
首次运行时,将打开一个浏览器窗口供您登录谷歌。A. token.json 保存在 data/ 为了未来的跑步。
连接到克劳德桌面
使用带有env-var的Docker(选项A)
{
"mcpServers": {
"google-sheets": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/google-sheets"],
"env": {
"GOOGLE_SERVICE_ACCOUNT_JSON": "{\"type\": \"service_account\", ...}"
}
}
}
}
使用带有卷挂载的Docker(选项B)
{
"mcpServers": {
"google-sheets": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/path/to/your/data:/data",
"mcp/google-sheets"
]
}
}
}
直接使用Python(选项C-OAuth 2.0)
{
"mcpServers": {
"google-sheets": {
"command": "python",
"args": ["/path/to/google-sheets-mcp/src/server.py"],
"env": {
"TOKEN_PATH": "/path/to/data/token.json",
"CREDENTIALS_PATH": "/path/to/data/credentials.json"
}
}
}
}
MCP检验员测试
source venv/bin/activate
npx @modelcontextprotocol/inspector \
env TOKEN_PATH=data/token.json \
CREDENTIALS_PATH=data/credentials.json \
python src/server.py
打开终端显示的URL,设置 传输类型 到 STDIO,然后单击 连接.
使用示例
- “从表1读取单元格A1至D10”
- 将包含姓名、年龄、城市的标题行写入Sheet1
- “与30岁的爱丽丝(Alice)在柏林追加一行”
- “创建一个名为Q1预算的电子表格,其中包含销售和费用表”
- “将Sheet1重命名为Sales Q1”
- “从我的数据区域中删除所有重复行”
- “按第二列降序排列数据”
- “用红色突出显示所有小于0的单元格”
- “冻结第一行和第一列”
许可证
麻省理工学院许可证--版权所有(c)2026阿达尔贝托·佩雷斯·萨拉斯(泛)