Google Sheets MCP Server について
Google Sheets MCP Serverは、Googleサービスアカウントを使ってMCPクライアントからスプレッドシートを読み書きできるサーバーです。範囲の読み取り、行の追加や更新、Apifyデータセットのシートへの出力に対応し、ホスト型とセルフホスト型を選べます。
主な機能
- 01スプレッドシートのタブ一覧
- 02セル範囲の読み取り
- 03行やセルの追加・更新
- 04Apifyデータセットの出力
- 05ホスト型とセルフホスト型に対応
活用シーン
- 01共有スプレッドシートのデータをエージェントで検索
- 02ヘッダーに合わせてレコードを追加
- 03指定範囲のセルを更新
- 04Apifyデータセットをシートに書き込み
MCP 対応
Google Sheetsの読み書きとApifyデータセット出力のツールをMCPクライアントに公開します。Googleサービスアカウントの認証情報を使い、Apifyのホスト型またはセルフホスト型のエンドポイントに接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://oldjard--google-sheets-mcp.apify.actor/mcpclaude mcp add --transport http joshuawhite389-google-sheets https://oldjard--google-sheets-mcp.apify.actor/mcp{"mcpServers":{"joshuawhite389-google-sheets":{"type":"http","url":"https://oldjard--google-sheets-mcp.apify.actor/mcp"}}}Cursor で開く{"servers":{"joshuawhite389-google-sheets":{"type":"http","url":"https://oldjard--google-sheets-mcp.apify.actor/mcp"}}}VS Code で開く{"mcpServers":{"joshuawhite389-google-sheets":{"type":"http","url":"https://oldjard--google-sheets-mcp.apify.actor/mcp"}}}{"mcpServers":{"joshuawhite389-google-sheets":{"serverUrl":"https://oldjard--google-sheets-mcp.apify.actor/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://oldjard--google-sheets-mcp.apify.actor/mcp認証が必要ツール
詳細
Google Sheets MCP サーバー
Claude、Cursor、その他の MCP クライアントから、Google Sheets の読み書きができる MCP サーバーです。スプレッドシートのタブ一覧の取得、範囲の読み取り、行の追加や更新、Apify データセットのタブへのエクスポートができます。
お客様自身の Google サービスアカウントでサインインするため、共有クォータはなく、承認が必要な OAuth アプリも、期限切れになるものもありません。サービスアカウントは、共有されたシートのみ開くことができます。
利用方法は 2 通りです。
- Apify でホスト(インストール不要):apify.com/oldjard/google-sheets-mcp。 エージェントが呼び出すと Apify がサーバーを起動し、利用がなくなると停止します。使用量に応じた従量課金で、お客様自身の Apify アカウントに請求されます(料金は以下を参照)。
- セルフホスト(無料):このリポジトリをクローンして、自分で実行します。同じコードを使用します。
ツール
| ツール | 内容 |
|---|---|
list_sheets | スプレッドシートのタブ一覧をサイズとリンクとともに取得します |
read_range | セルを読み取ります(Leads!A1:D50、A1:D50、またはタブ全体)。長いタブはページごとに返され、次に読み取る範囲も示されます |
append_rows | 最後の行の下に行を追加します。オブジェクトはヘッダー名に基づいて照合されます(新しいフィールドは列になります)。配列はそのまま書き込まれます。タブ内にすでにある行はスキップできます |
update_range | 左上のセルから値を上書きし、必要に応じてタブを拡張します |
export_dataset | Apify データセットをタブに書き込みます:追加、置換、または新しい行のみ |
値は数式ではなく、通常の値として書き込まれます。1 回の呼び出しで読み書きできるのは最大 5,000 行です。ツールで実行できない操作(シートが共有されていない、タブ名が間違っている、キーがないなど)がある場合は、シートの共有先として指定すべき正確なメールアドレスなど、わかりやすい解決方法を返します。
Google の設定(初回のみ、約 5 分)
Google サービスアカウントが必要です。これは、共有されたシートにのみアクセスできるロボット用の Google ユーザーです。 無料で利用でき、Sheets API の使用にあたって Google から請求情報を求められることはありません。
- console.cloud.google.com を開き、プロジェクトを作成して選択します。
- Google Sheets API のページを開き、 有効にするをクリックします。
- IAM と管理 > サービス アカウント > サービス アカウントを作成を選択します。名前を付け、任意のロール設定はスキップして、完了をクリックします。
- サービスアカウントを開き、鍵 > 鍵を追加 > 新しい鍵を作成 > JSONを選択します。
.jsonファイルがダウンロードされます。 client_emailをコピーします。エージェントで使用する Google Sheets をそれぞれ開き、そのメールアドレスを編集者として共有します。- 鍵を 1 行の base64 に変換します:
base64 -w0 key.json(macOS の場合:base64 -i key.json)。
一部の Google Workspace 組織では、サービスアカウントの鍵がブロックされています。手順 4 でポリシーにより鍵の作成が無効と表示された場合は、プロジェクトに個人の Google アカウントを使用してください。メールアドレスと共有されていれば、シートはどこにあってもかまいません。
接続:Apify でホスト
URL https://oldjard--google-sheets-mcp.apify.actor/mcp を 2 つのヘッダーとともに使用します。Claude Code の場合:
claude mcp add --transport http google-sheets https://oldjard--google-sheets-mcp.apify.actor/mcp \
--header "Authorization: Bearer <your Apify API token>" \
--header "X-Google-Service-Account-Key: <the base64 line>"
その他のクライアントでは、同じ URL と headers を JSON 設定で指定します。
料金(ホスト版): ツール呼び出しの成功 1 回につき $0.001、export_dataset が書き込む行 1 行につき $0.0004 です。失敗した呼び出し、ヘッダー行、重複としてスキップされた行は無料です。サーバーの起動 1 回につき $0.00005 かかります。他の Apify Standby Actor と同様に、エージェントの接続中と、その後の短いアイドル期間における実行のプラットフォーム利用料金も Apify から請求されます(サーバーは 256 MB で実行されるため、セッションあたり 1 セントのごく一部です)。キーは HTTPS 経由でお客様自身の実行環境に送信され、メモリ上にのみ保持され、ログ記録も保存もされません。
接続:セルフホスト
Node.js 24 以降が必要です。
git clone https://github.com/joshuawhite389/google-sheets-mcp && cd google-sheets-mcp
npm install
PORT=3000 npm run serve
次に、X-Google-Service-Account-Key ヘッダーを使って、クライアントの接続先を http://localhost:3000/mcp に設定します(Apify トークンは不要です。export_dataset はローカルの ./storage フォルダーからデータセットを読み取ります)。Dockerfile は Apify 向けに同じサーバーをビルドします。ほかの場所で実行するには、APIFY_META_ORIGIN=STANDBY と ACTOR_WEB_SERVER_PORT を設定してください。
知っておきたい制限事項
- Google では、スプレッドシートあたり 1,000 万セル、セルあたり 50,000 文字まで使用できます。
- サービスアカウントには、Google の標準割り当てとして、1 分あたり 60 件の書き込みリクエストが適用されます。レート制限や Google 側の一時的な不具合が発生した場合は、バックオフを伴って再試行します。
開発
npm test # unit tests against a fake Google API that verifies the signed sign-in
npm run e2e # the real server process, driven by a real MCP client, against the fake Google
npm run typecheck
関連項目
Dataset to Pinecone & Qdrant Vector Export(MCP サーバーではなく、Apify Actor です)は、スクレイピングしたデータセットを分割して埋め込み表現に変換し、独自の Pinecone または Qdrant インデックスに格納します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。