/ 目錄 / 演練場 / mcp-google-sheets
● 社群 xing5 ⚡ 即開即用

mcp-google-sheets

作者 xing5 · xing5/mcp-google-sheets

授予 Claude 對 Google Sheets 的讀寫存取權限 — 19 個工具涵蓋儲存格、列、工作表、圖表、公式和跨工作表搜尋。

mcp-google-sheets 將 Sheets + Drive API 封裝成約 19 個 MCP 工具。涵蓋建立試算表、批次更新儲存格、新增圖表、跨多個檔案搜尋和分享。認證方式為 Google 服務帳戶(推薦用於無頭環境)或 OAuth 2.0。

為什麼要用

核心特性

即時演示

實際使用效果

google-sheets.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-sheets",
      "command": "uvx",
      "args": [
        "mcp-google-sheets"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "google-sheets": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-google-sheets"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add google-sheets -- uvx mcp-google-sheets

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: mcp-google-sheets

從任何資料來源將每日指標附加到 Google Sheet

👤 營運 / 成長工程師 ⏱ ~20 min intermediate

何時使用: 你想要在 Sheets 中建立輕量級儀表板,由代理程式可以存取的任何資料來源(Sentry、Stripe、資料庫)提供。

前置條件
  • 啟用 Sheets + Drive API 的 Google 服務帳戶 — console.cloud.google.com → 建立 SA → 下載 JSON → 設定 SERVICE_ACCOUNT_PATH
  • 與 SA 電子郵件共享的工作表 — Sheets UI → 分享 → 將 [email protected] 新增為編輯者
步驟
  1. 識別目標工作表
    使用 mcp-google-sheets 尋找標題為「Daily KPIs」的試算表。傳回其 ID。✓ 已複製
    → 試算表 ID
  2. 附加今天的列
    向工作表「summary」附加一列,包含欄位 [date, signups, mrr, errors]。使用來自 [your source] 的今天值。✓ 已複製
    → add_rows 確認列已附加到底部
  3. 如需要更新圖表
    驗證尾隨 30 天圖表是否取得新列;如否,請重新整理。✓ 已複製
    → 圖表顯示今天的資料

結果: 無需開啟檔案即可更新的即時 Sheets 儀表板。

注意事項
  • 多次單一儲存格更新後的速率限制 (429) — 使用 batch_update_cells — 一次呼叫可修改數百個儲存格
  • 服務帳戶看不到工作表 — 你必須明確與其電子郵件分享工作表 — 服務帳戶沒有隱含的存取權限
搭配使用: sentry · postgres

跨多個 Google Sheets 去除重複項目

👤 資料營運、CRM 管理員 ⏱ ~25 min intermediate

何時使用: 小組成員維護個別的工作表,而你需要一個乾淨的統一清單。

步驟
  1. 列舉來源工作表
    使用 list_spreadsheets 列出我「Leads 2026」Drive 資料夾中的所有試算表。✓ 已複製
    → 5-20 個工作表的清單
  2. 將所有列拉入記憶體
    使用 get_multiple_sheet_data 從每個拉取「Leads」標籤。按電子郵件合併。✓ 已複製
    → 具有重複計數的合併資料集
  3. 寫入統一工作表
    建立新試算表「Leads 2026 - Consolidated」,包含按最新接觸日期排序的去重列。✓ 已複製
    → 乾淨的目標工作表

結果: 一個規範性工作表;原始檔保持不變以進行稽核。

使用公式而非凍結值生成 Sheets 報告

👤 財務分析師 ⏱ ~30 min advanced

何時使用: 你想要當來源標籤更新時工作表重新計算。

步驟
  1. 建立結構
    建立工作表「Q1 Report」,包含標籤 [summary, by_region, by_product]。✓ 已複製
    → 工作表 + 標籤已建立
  2. 注入參考來源的公式
    在 summary!B2 中寫入 =SUMIFS('source'!C:C, 'source'!A:A, ">=2026-01-01")。使用包含公式值的 batch_update。✓ 已複製
    → 即時計算儲存格

結果: 自我更新的報告 — 變更來源資料,數字會改變。

匯入 CSV 並使用 AI 生成的欄位充實每一列

👤 行銷人員、銷售營運 ⏱ ~30 min intermediate

何時使用: 你有一份 URL/公司清單,想要為每一列生成 AI 描述或分類。

步驟
  1. 匯入 CSV
    從此 CSV 建立試算表:[paste]。將其命名為「Leads Enriched」。✓ 已複製
    → 具有 N 列的工作表
  2. 新增和填充衍生欄位
    新增欄位「industry」和「one_line_pitch」。對每一列,從 url/company 衍生它們並透過 batch_update_cells 寫回。✓ 已複製
    → 兩個新的已填充欄位

結果: 準備好進行推廣的充實清單。

搭配使用: firecrawl

組合

與其他 MCP 搭配,撬動十倍槓桿

google-sheets + sentry

每日無當機率 % 記錄到 KPI 工作表

每天從 Sentry 拉取無當機工作階段 % 並附加一列到我的「Daily KPIs」工作表。✓ 已複製
google-sheets + firecrawl

每週抓取競爭對手頁面,將定價寫入工作表

在這 5 個競爭對手定價頁面上執行 firecrawl_extract,並在「Competitor Pricing」中將每個計畫寫成一列。✓ 已複製
google-sheets + postgres

將每日資料庫���詢匯出到 Sheets 供非技術小組成員使用

SELECT * FROM signups WHERE day = CURRENT_DATE; 寫入我的營運工作表中的標籤「Signups」。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
list_spreadsheets folder_id? 發現資料夾中的工作表 1 次 Drive API 呼叫
create_spreadsheet title: str, sheets?: str[] 新文件 1 次 API 呼叫
get_sheet_data spreadsheetId, sheet, range? 讀取範圍 1 次 API 呼叫
update_cells spreadsheetId, range, values 小寫入 1 次 API 呼叫
batch_update_cells spreadsheetId, updates 任何 >10 個儲存格的寫入 — 避免速率限制 1 次 API 呼叫
add_rows spreadsheetId, sheet, rows 僅附加,例如日誌 1 次 API 呼叫
add_chart spreadsheetId, sheet, chart_spec 視覺化範圍 1 次 API 呼叫
share_spreadsheet spreadsheetId, email, role 授予協作存取權限 1 次 Drive 呼叫
search_spreadsheets query: str 在許多檔案中尋找值 N 次 API 呼叫

成本與限制

運行它的成本

API 配額
Sheets API: 每分鐘 300 次讀取 + 300 次寫入請求/專案、60/使用者。Drive API: 1k 請求/100 秒/使用者
每次呼叫 Token 數
100–5000,取決於範圍大小
費用
在 Google 的預設配額內免費
提示
積極批次寫入 — 無論有多少個儲存格,batch_update_cells 都是一次 API 呼叫

安全

權限、密鑰、影響範圍

最小權限: https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/drive.file
憑證儲存: 服務帳戶 JSON 位於 SERVICE_ACCOUNT_PATH,或 OAuth 代幣位於 TOKEN_PATH
資料出站: sheets.googleapis.com, drive.googleapis.com
切勿授予: https://www.googleapis.com/auth/drive (full)

故障排查

常見錯誤與修復

403 呼叫者沒有權限

與服務帳戶的電子郵件分享工作表(JSON 中的 client_email)

驗證: 開啟工作表 → 分享 → 確認 SA 已列出
429 配額超出

使用 batch_update 而非許多單一更新;Sheets API 限制是每分鐘

無效的 A1 記號範圍

範圍需要工作表名稱:'Sheet1!A1:C10',而非 'A1:C10'

gcloud auth 有效但 mcp 無效

明確設定 SERVICE_ACCOUNT_PATH 以略過歧義

驗證: echo $SERVICE_ACCOUNT_PATH

替代方案

mcp-google-sheets 對比其他方案

替代方案何時用它替代權衡
Zapier MCP你已經支付 Zapier 費用並想要非代碼路由按任務定價;控制力較低
Notion MCP (databases)你偏好 Notion 的資料庫使用體驗,不需要公式沒有公式引擎

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills