Google Sheets について
Google Sheets は、AI システムによるスプレッドシートデータの読み取り、書き込み、検索に対応する MCP サーバーです。Google Sheets API のセル・シート操作を提供し、OAuth を中継してトークンや状態を保持しません。
主な機能
- 01単一または複数範囲の値の読み取り
- 02セル値の書き込みと追記
- 03スプレッドシート作成とタブ管理
- 04範囲の消去と書式の一括更新
活用シーン
- 01案件や売上データに関する質問への回答
- 02領収書の情報を経費シートへ追加
- 03ベンダー情報をトラッカーへ同期
- 04複数データセットの数値比較
MCP 対応
スプレッドシートとセルを操作するツールを MCP クライアントに提供します。OAuth を中継し、ベアラートークンを使って Google Sheets API を呼び出します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y google-sheets-mcpGOOGLE_ACCESS_TOKENシークレットGoogle OAuth access token with Sheets scopes.MCP_TRANSPORTTransport type.GOOGLE_CLIENT_IDGoogle OAuth client ID.GOOGLE_CLIENT_SECRETシークレットGoogle OAuth client secret.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
google-sheets-mcp
Google Sheets 用の MCP サーバーです。スプレッドシートのデータを読み取り、書き込み、クエリできます。
ユースケース
データに関する質問:「パイプラインにある未成立の案件はいくつですか?」や「第 3 四半期の売上合計はいくらですか?」→スプレッドシートを読み取り、直接回答します。
経費の簡単な記録:領収書の写真を撮ると、詳細を抽出して経費管理表に行を追加します。
複数ツール間でのステータス同期:「すべてのベンダーの Slack チャンネルを確認し、最新情報で管理用スプレッドシートを更新して」→Slack を読み取り、シートを更新します。
データ分析:「Salesforce の数値を地域別に分類し、イベントカレンダーと比較して」→複数のソースからデータをスプレッドシートに取り込み、分析します。
(これらはあくまで例です。スプレッドシートのデータが必要なワークフローであれば、どれでも利用できます。ファイルの検索、削除、コメント、共有権限の管理には、google-drive-mcp と組み合わせて使用してください。)
セットアップ
1. Google OAuth 認証情報を作成する
- Google Cloud Console にアクセスします
- 新しいプロジェクトを作成します(または既存のプロジェクトを使用します)
- Google Sheets API を有効にします
- APIs & Services → OAuth consent screen に移動し、同意画面を設定します
- APIs & Services → Credentials → Create Credentials → OAuth client ID に移動します
- Web application を選択します
- Authorized redirect URIs に
http://localhost:3000/callbackを追加します - Client ID と Client Secret を控えます
2. サーバーを実行する
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start
サーバーはデフォルトで http://localhost:3000 で実行されます。PORT=3001 で変更できます。
3. MCP クライアントに追加する
サーバーを実行した状態で、install-mcp の手順に従ってください。MCP クライアント(Claude Code、Claude Desktop、Cursor、Cline、VS Code など)に適した設定が生成されます。
アーキテクチャ
このサーバーは、Google への OAuth プロキシ として動作します。
graph LR
A[MCP client] <--> B[google-sheets-mcp] <--> C[Google OAuth/API]
- サーバーは
/.well-known/oauth-authorization-serverを通じて、OAuth 認可サーバーとして自身を通知します /registerは Google OAuth クライアントの認証情報を返します/authorizeはクライアントのコールバック URL を state にエンコードし、Google にリダイレクトします/callbackは Google からコードを受け取り、クライアントのコールバックに転送します/tokenはクライアントの認証情報を追加して、Google へのトークンリクエストをプロキシします/mcpは MCP リクエストを処理し、ベアラートークンを使用して Google Sheets API を呼び出します
サーバーはトークンも状態も保持せず、Google への OAuth をプロキシするだけです。
ツール
| ツール | 説明 |
|---|---|
| スプレッドシート | |
sheets_spreadsheet_get | スプレッドシートのメタデータを取得します(タイトル、シート一覧、オプションでセルデータ) |
sheets_spreadsheet_create | 新しいスプレッドシートを作成します |
| 値 | |
sheets_values_get | 範囲内のセル値を読み取ります |
sheets_values_batch_get | 複数の範囲からセル値を読み取ります |
sheets_values_update | 範囲内のセル値を書き込みます(上書き) |
sheets_values_batch_update | 複数の範囲にセル値を書き込みます |
sheets_values_append | 既存データの後に行を追加します |
sheets_values_clear | 範囲内のセル値を消去します |
| シート(タブ) | |
sheets_sheets_list | スプレッドシート内のすべてのシートを一覧表示します |
sheets_sheet_add | 新しいシート(タブ)を追加します |
sheets_sheet_delete | シート(タブ)を削除します |
| 高度な操作 | |
sheets_batch_update | 一括操作(書式設定、セル結合、フィルターなど)を実行します |
Google Sheets API のスコープ
spreadsheets- スプレッドシートへの完全な読み取り/書き込みアクセス
コントリビューション
GitHub へのプルリクエストを歓迎します。始めるには、次の手順に従ってください。
- Git と Node.js をインストールします
- リポジトリをクローンします
npm installで依存関係をインストールしますnpm run testでテストを実行しますnpm run buildでビルドします
リリース
バージョンはセマンティックバージョニング仕様に従います。
リリースするには:
npm version <major | minor | patch>を使用してバージョンを更新しますgit push --follow-tagsを実行してタグとともにプッシュします- GitHub Actions が NPM レジストリに公開するまで待ちます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。