Google Sheets MCP について
Google Sheets MCPはGoogleアカウント経由で、AIアプリによるスプレッドシートの検索、読み取り、編集を可能にします。セルやシートの編集、書式、グラフ、アクセス管理を備え、読み取りと破壊的になり得る変更を区別します。
主な機能
- 01スプレッドシートの検索と作成
- 02セル範囲の読み取り、書き込み、追記
- 03シート、書式、データ検証の管理
- 04グラフと構造化テーブルの作成
- 05範囲の保護とファイルアクセス管理
活用シーン
- 01複数シートのデータを要約
- 02ログに日々の数値を追記
- 03レポートを整形してグラフを作成
- 04必要な権限を設定して共有
MCP 対応
MCPクライアントにGoogle Sheets APIのツールを公開し、検索、データ、シート、書式、グラフ、権限を扱います。Driveはスプレッドシートの検索と共有に限って内部利用し、汎用Driveツールは提供しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @a1-x-tech/mcp-google-sheetsGOOGLE_SHEETS_CLIENT_IDGoogle OAuth2 client id (refresh-token flow).GOOGLE_SHEETS_CLIENT_SECRETシークレットGoogle OAuth2 client secret (refresh-token flow). Treat it as a secret.GOOGLE_SHEETS_REFRESH_TOKENシークレットGoogle OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.GOOGLE_SHEETS_ACCESS_TOKENシークレットStatic OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.GOOGLE_SHEETS_OAUTH_PORTシークレットFixed port for the loopback listener of the in-chat login (127.0.0.1 + PKCE). Set it when the client runs over SSH port forwarding; otherwise a free port is picked per login.GOOGLE_SHEETS_API_BASESheets API root override.GOOGLE_SHEETS_TIMEOUT_MSPer-request timeout in milliseconds.GOOGLE_SHEETS_MAX_RETRIESRetries on transient errors (429 always; 5xx/network for reads).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
26掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
Google Sheets MCP
日本語 | Русский
A1 Google Sheets MCP を使うと、AI アプリが自然な言葉で Google Sheets を操作できます。スプレッドシートの検索、データの読み取り、行の書き込みや追加、シートや書式の調整、グラフの作成、結果の共有ができます。
Google アカウントを使って Google Sheets API を利用します。読み取りと書き込みを分け、破壊的な操作を明示し、すべてのスプレッドシート操作が可能であるかのように示すのではなく、Sheets API の制限を明確にします。
- 26 個のツール。 スプレッドシートの検索と作成、範囲の読み取りと書き込み、シート、書式、データの入力規則、保護範囲、条件付き書式、構造化テーブル、グラフ、アクセス権を管理できます。
- 会話から接続できます。 「Google Sheets に接続して」と言うと、サーバーが OAuth クライアントの設定手順を案内し、PKCE を使って
127.0.0.1への Google のリダイレクトを受け取り、トークンを自身で保持します。設定ファイルも再起動も必要ありません。 - 意図を確認してから書き込みます。 曖昧な失敗の後に書き込みを再実行することはありません。追加を再実行すると行が重複するためです。また、破壊的なツールには印が付いているので、AI クライアントが事前に確認できます。
- Sheets 専用です。 Drive はスプレッドシートの検索と共有のみに必要な内部依存関係です。汎用的な Drive ツールはなく、
raw_requestから Drive にアクセスすることもできません。 - Google スコープは最小限です。
spreadsheetsですべての Sheets ツールを利用できます。Drive スコープが必要なのは、スプレッドシートの検索と共有を行う場合だけです。
まずは読み取り専用の質問から始めましょう。
四半期予算のスプレッドシートを見つけて、各シートの内容を要約してください。
サーバーに接続 · ユースケースを見る · 技術ドキュメントを開く
1 分で動作を確認
あなた: 売上レポートのスプレッドシートの構成を見せてください。シート、それぞれのサイズ、固定されている行を確認したいです。
アシスタント: 各シートのサイズ、固定されているヘッダー、シート上のオブジェクトを表示します。何も変更されません。
あなた: 「February」を複製して「March」シートを用意し、レイアウトは維持したまま数値を消してください。
アシスタント: シートの複製、名前の変更、データ範囲のクリアという計画を提示し、変更する前に確認を求めます。
あなた: 確認します。
アシスタント: シートを複製し、値をクリアします。書式、データの入力規則、固定されている行は維持されます。
目次
クイックスタート
Node.js 20+ と Google アカウントが必要です。インストール時に認証情報は不要です。サーバーは会話から接続します。
- AI アプリにサーバーを追加します。
- 「Google Sheets に接続して」と伝えます。アシスタントが、設定ファイルを編集することなく、OAuth クライアントの作成とアクセスの承認を案内します。
- 上記の読み取り専用の質問をします。
Codex
アプリの場合: Settings → MCP servers を開き、Add server を選択して、STDIO を選びます。コマンド npx -y @a1-x-tech/mcp-google-sheets@latest と環境変数 GOOGLE_SHEETS_CLIENT_ID、GOOGLE_SHEETS_CLIENT_SECRET、GOOGLE_SHEETS_REFRESH_TOKEN を入力し、Save、Restart の順に選択します。
コマンドラインからの場合:
codex mcp add google-sheets \
-- npx -y @a1-x-tech/mcp-google-sheets@latest
codex mcp list
Claude Code
claude mcp add \
--transport stdio --scope user google-sheets \
-- npx -y @a1-x-tech/mcp-google-sheets@latest
claude mcp list
Claude Desktop
現在の公式の手順は Settings → Extensions です。カスタムデスクトップ拡張機能を追加するには、Advanced settings → Extension Developer → Install Extension… を開き、.mcpb ファイルを選択して、画面の指示に従います。
このリポジトリで現在公開されているのは npm の stdio パッケージで、.mcpb バンドルは含まれていません。ローカル設定に引き続き対応している Claude Desktop ビルドでは、代わりに以下の JSON stdio 設定を使用してください。
{
"mcpServers": {
"google-sheets": {
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-sheets@latest"]
}
}
}
これらのビルドでは、macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json に、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json に保存します。
Cursor
macOS/Linux では ~/.cursor/mcp.json に、Windows では %USERPROFILE%\.cursor\mcp.json に次の内容を追加します。
{
"mcpServers": {
"google-sheets": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-sheets@latest"]
}
}
}
VS Code
MCP: Open User Configuration を実行して、次の内容を追加します。
{
"servers": {
"google-sheets": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-sheets@latest"]
}
}
}
MCP: List Servers で確認します。
依頼できること
データを検索して読み取る
- 名前に「budget」が含まれる最新のスプレッドシートを探し、その構成を表示します。
'Q3'!A1:F50を読み取り、合計を要約します。- Summary シートの数式を表示します。
数値を更新する
- 数式も含めて、この表を
Sheet1!A1に書き込みます。 - 今日の数値をログの新しい行として追加します。
- 複数の範囲を一括更新するか、書式を維持したまま下書きの範囲をクリアします。
整形して表示する
- 「March」シートを追加し、ヘッダー行を固定して太字にします。
- 条件付き書式で負の金額を赤くし、罫線を追加します。
- 月ごとの収益を示す縦棒グラフを専用のシートに作成します。
- データを構造化テーブルに変換し、データの入力規則を使ったドロップダウンを追加します。
保護して共有する
- 合計行を保護し、自分だけが編集できるようにします。
- 同僚に編集権限を付与し、ほかの全員には読み取り専用の権限を付与します。
- 現在このファイルにアクセスできるユーザーを表示します。
スプレッドシートに加わる変更
- 値を操作するツールはセルを A1 表記(
'Sheet name'!A1:C10)で指定し、構造を操作するツール(シート、書式設定、ルール、テーブル、グラフ)は 0 始まりのインデックスを持つ数値の sheetId で指定します。ID はget_spreadsheetで取得できます。シートのタイトルは指定先ではありません。 - 書き込みでは対象範囲が上書きされます。
append_valuesは最後のデータ行の後に行を追加します。nullのセルはスキップされ、クリアされません。 clear_valuesは値と数式を消去しますが、書式設定、データの入力規則、メモ、結合は保持されます。API で元に戻すことはできません。シート、行、列を削除すると、そのデータは失われます。- バッチツールでは、複数の範囲やリクエストを 1 回の呼び出しにまとめられ、割り当て量に対して 1 回としてカウントされます。
batchUpdateはアトミックで、すべてのリクエストが適用されるか、どれも適用されないかのいずれかです。
一部のスプレッドシート機能には専用ツールがありません。セルの結合、名前付き範囲、縞模様、フィルター、スライサー、検索と置換、グラデーションによる条件付き書式ルールは、Sheets API のオリジンに限定された raw_request を通じて操作します。新しいスプレッドシートはマイドライブのルートに作成されます。フォルダーへの移動には対応しておらず、manage_permissions ではオーナー権限を移譲できません。
変更できる内容
| 操作 | 動作 | 確認が必要な変更 |
|---|---|---|
| メタデータまたは値の読み取り | 構造とセルを読み取ります | 変更なし |
| スプレッドシートの作成 | マイドライブにファイルを追加します | Google Sheets に変更を加えます |
| 値の書き込み、バッチ書き込み、または追加 | セルを上書きするか、行を追加します | スプレッドシートに変更を加えます |
| 書式設定、固定、罫線、サイズ、入力規則、ルール、テーブル、グラフ | 表示形式、構造、ルールを変更します | スプレッドシートに変更を加えます |
| 値のクリア、またはシート、行、列の削除 | API で元に戻せないデータの削除を行います | 破壊的な操作です |
| 保護範囲と権限の管理 | ファイルを開いたり編集したりできるユーザーを変更します | アクセス権を変更します |
| API の未加工リクエスト | 専用ツールのない API メソッドを呼び出せます | 破壊的な操作となる可能性があります |
確認プロンプトは AI クライアントが制御します。サーバーは読み取り、書き込み、破壊的な操作を行うツールにそれぞれ印を付けるため、クライアントは内容の確認と実際の変更を区別できます。
アクセスの取得
Google Sheets には OAuth 2.0 が必要です。API キーだけでは利用できません。接続方法は 2 つあり、1 つ目は設定ファイルが不要です。
チャットから接続する(推奨)
「Google Sheets に接続して」と伝えると、アシスタントが一緒に手順を進めます。
setup_instructionsでチェックリストが表示されます。Google Cloud プロジェクトを作成または選択し、Google Sheets API を有効にして、同意画面を設定し、デスクトップアプリの OAuth クライアントを作成します。- そのクライアントの JSON(「Download JSON」)をダウンロードし、アシスタントにそのパスを伝えます。
set_clientはファイルを所有者のみがアクセスできるように保存します。シークレットが会話を介して送信されることはありません。 start_loginから Google の同意リンクが返されます。このマシンでリンクを開いて承認してください。コードはチャットを介さず、127.0.0.1のワンショットリスナーに返されます(PKCE)。finish_loginがコードと交換し、トークンを~/.config/mcp-google-sheets/credentials.jsonに保存します(モード 0600)。
トークンは呼び出しのたびに再読み込みされるため、すぐに接続が有効になり、AI アプリを再起動する必要はありません。auth_status で接続状況を確認でき、logout で接続を無効にしてトークンを削除できます。
環境変数(CI、自動インストール)
-
Google Cloud プロジェクトを作成または選択し、Google Sheets API を有効にします。スプレッドシートの検索と共有を行う場合は、Google Drive API も有効にしてください。
-
OAuth 同意画面を設定し、デスクトップアプリの OAuth クライアントを作成します。
-
スプレッドシートの所有者または編集権限を持つ Google アカウントを認証します。OAuth 2.0 Playground では、Use your own OAuth credentials を有効にすると、リフレッシュトークンを取得できます。
-
必要最小限のスコープをリクエストします。
https://www.googleapis.com/auth/spreadsheetsこれですべての Sheets ツールを利用できます。追加で Drive スコープが必要なのは
search_spreadsheetsとmanage_permissionsのみです。https://www.googleapis.com/auth/drive、検索のみの場合はdrive.readonly、このアプリで作成したファイルの場合はdrive.fileを指定します。
テストモードの OAuth リフレッシュトークンは、7 日後に期限切れになる場合があります。長期的なアクセスが必要な場合は、OAuth アプリを公開するか、Workspace ドメイン内で内部アプリを使用してください。クライアントシークレットとリフレッシュトークンはパスワードとして扱ってください。
設定
すべての変数は省略可能です。どれも設定しなくても、サーバーはチャットから接続できます。
| 変数 | 必須 | 説明 |
|---|---|---|
GOOGLE_SHEETS_CLIENT_ID | いいえ* | OAuth クライアント ID。 |
GOOGLE_SHEETS_CLIENT_SECRET | いいえ* | OAuth クライアントシークレット。 |
GOOGLE_SHEETS_REFRESH_TOKEN | いいえ* | OAuth リフレッシュトークン。 |
GOOGLE_SHEETS_ACCESS_TOKEN | いいえ* | OAuth 3 変数の代わりに使える短期(約 1 時間)のトークン。 |
GOOGLE_SHEETS_OAUTH_PORT | いいえ | チャット内ログイン用の固定ループバックポート。SSH ポートフォワーディングを使う場合に便利です。 |
GOOGLE_SHEETS_API_BASE | いいえ | Google Sheets API のベース URL の上書き。 |
GOOGLE_SHEETS_TIMEOUT_MS | いいえ | リクエストごとのタイムアウト。デフォルトは 60000 ms です。 |
GOOGLE_SHEETS_MAX_RETRIES | いいえ | 一時的なエラーの再試行回数。デフォルトは 3 です。 |
* OAuth 3 変数、またはアクセストークンのいずれかを指定してください。認証情報がなくてもサーバーは起動してツールを一覧表示します。最初の呼び出し時に、設定が必要な変数名が表示されます。
データ、制限、バックグラウンド処理
- リクエストは Google に送信されます。 ローカルサーバーは Google OAuth トークンを更新して Sheets API を呼び出します。また、スプレッドシートの検索と共有に限り、Drive API も呼び出します。匿名テレメトリに含まれるのは、インストール ID、パッケージのバージョン、AI クライアントとプラットフォームのバージョン、ツール名のみです。OAuth トークン、スプレッドシートのデータ、ツールの引数、プロンプトは含まれません。無効にするには
ASKADS_TELEMETRY=0を設定してください。 - Google には分単位のクォータがあります。 公開されている制限は、プロジェクトごとに毎分 300 回の読み取りと 300 回の書き込み、ユーザーごとにそれぞれ 60 回です。バッチ呼び出しは、含まれる範囲やリクエストの数にかかわらず 1 回として数えられます。スプレッドシートのセル数は最大 10,000,000 個です。
429が発生すると、サーバーはバックオフします。読み取りではネットワークエラーと5xxエラーの後にも再試行しますが、失敗が確定できない書き込みは再実行しません。 - バックグラウンドでの定期ポーリングはありません。 サーバーは呼び出されたときだけ動作します。AI アプリがスケジュールされたタスクに対応していれば、定期的にスプレッドシートを確認できます。
技術ドキュメント
- MCP 機能カタログ — すべてのツールをタスク別に解説したページ。
- すべてのツールと入力
- 開発ドキュメント
- 公開ドキュメント
- Google Sheets API リファレンス
サポート
バグを見つけた場合や、実現したいシナリオがある場合は、イシューを作成するか、Telegram にご連絡ください。
最後まで読んでいただき、ありがとうございます!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。