/ ディレクトリ / プレイグラウンド / mcp-google-sheets
● コミュニティ xing5 ⚡ 即起動

mcp-google-sheets

作者 xing5 · xing5/mcp-google-sheets

Claude に Google Sheets への読み書きアクセスを提供します。セル、行、シート、グラフ、数式、およびシート間検索をカバーする19個のツールです。

mcp-google-sheets は Sheets API と 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

使うタイミング: エージェントが到達できるもの(Sentry、Stripe、DB など)から供給される軽量なダッシュボードを Sheets で作りたい場合に使用します。

前提条件
  • Sheets API と 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] の列を持つ行を追加します。[データソース] の今日の値を使用してください。✓ コピーしました
    → add_rows が底部に行が追加されたことを確認します
  3. 必要に応じてグラフを更新する
    トレーリング30日間のグラフが新しい行をピックアップしたことを確認します。されていない場合は更新してください。✓ コピーしました
    → グラフに今日のデータが表示されます

結果: ファイルを開かずに更新されるライブ Sheets ダッシュボード。

注意点
  • 多くの単一セル更新後のレート制限(429)batch_update_cells を使用してください。1回の呼び出しで数百のセルを変更できます。
  • サービスアカウントがシートを認識しない — シートをそのメールアドレスと明示的に共有する必要があります。SA には暗黙的なアクセス権がありません。
組み合わせ: sentry · postgres

複数の Google Sheets 間でエントリを重複排除する

👤 データ運用、CRM 管理者 ⏱ ~25 min intermediate

使うタイミング: チームメンバーが別々の Sheets を保守していて、1つのきれいに統合されたリストが必要な場合。

フロー
  1. ソースシートを列挙する
    list_spreadsheets を使用して、「Leads 2026」ドライブフォルダ内のすべてのスプレッドシートをリストアップしてください。✓ コピーしました
    → 5~20個のシートのリスト
  2. すべての行をメモリに取り込む
    get_multiple_sheet_data を使用して各データから「Leads」タブを取得します。メールアドレスで結合してください。✓ コピーしました
    → 重複カウント付きのマージされたデータセット
  3. 統合シートを書き込む
    「Leads 2026 - Consolidated」という新しいスプレッドシートを作成し、最新タッチでソートされた重複排除された行を含めてください。✓ コピーしました
    → きれいな宛先シート

結果: 1つの正規シート。元のシートは監査用に変更されません。

凍結値ではなく数式を使用して 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 からスプレッドシートを作成します:[貼り付け]。「Leads Enriched」という名前にしてください。✓ コピーしました
    → N 行のシート
  2. 派生列を追加して入力する
    「industry」および「one_line_pitch」列を追加してください。各行について、url / company から派生させて batch_update_cells で書き戻してください。✓ コピーしました
    → 2つの新しい入力列

結果: アウトリーチの準備ができたエンリッチされたリスト。

組み合わせ: firecrawl

組み合わせ

他のMCPと組み合わせて10倍の力を

google-sheets + sentry

日次クラッシュフリー % が KPI シートにログされます

毎日、Sentry からクラッシュフリーセッション % を取得し、「Daily KPIs」シートに行を追加してください。✓ コピーしました
google-sheets + firecrawl

毎週競合ページをスクレイプし、価格をシートに書き込む

これら5つの競合価格ページで firecrawl_extract を実行し、各プランを「Competitor Pricing」の行として書き込んでください。✓ コピーしました
google-sheets + postgres

日次 DB クエリを非技術チームメンバー用に 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秒
呼び出しあたりのトークン
範囲サイズに応じて 100~5000
金額
Google のデフォルト クォータ内は無料
ヒント
バッチ書き込みを積極的に使用してください。batch_update_cells はセル数に関係なく1つの API 呼び出しです。

セキュリティ

権限、シークレット、影響範囲

最小スコープ: https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/drive.file
認証情報の保管: SERVICE_ACCOUNT_PATH のサービスアカウント JSON、または TOKEN_PATH の OAuth トークン
データ送信先: sheets.googleapis.com、drive.googleapis.com
絶対に付与しない: https://www.googleapis.com/auth/drive (フル)

トラブルシューティング

よくあるエラーと対処法

403 The caller does not have permission

シートをサービスアカウントのメール(JSON の client_email)と共有してください

確認: シートを開く → 共有 → SA がリストされていることを確認する
429 Quota exceeded

多くの単一更新の代わりに batch_update を使用してください。Sheets API の制限は分単位です。

Invalid range A1 notation

範囲にはシート名が必要です:「Sheet1!A1:C10」、「A1:C10」ではありません

gcloud auth works but mcp doesn't

あいまいさをスキップするために SERVICE_ACCOUNT_PATH を明示的に設定してください

確認: echo $SERVICE_ACCOUNT_PATH

代替案

mcp-google-sheets 他との比較

代替案代わりに使う場面トレードオフ
Zapier MCP既に Zapier に料金を払っており、ノーコードルーティングが必要な場合タスクごとの価格設定。直接的な制御が少ない
Notion MCP (databases)Notion のデータベース UX を好み、数式が不要な場合数式エンジンなし

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る