
Googleスプレッドシート × MCP × Cursor で スプレッドシート自動編集を試してみる
「このエラー調査の結果、スプレッドシートにまとめておいて」
こんな依頼、よくありますよね。調査結果のMarkdownをコピペして、表を整形して...正直、面倒です。
今回、CursorのMCP機能を使って、AIに直接Googleスプレッドシートを編集させてみたら、これが想像以上に便利だったので紹介します。
MCP(Model Context Protocol)とは?
MCP(Model Context Protocol) は、Anthropic(Claude開発元)が提唱するオープンプロトコルです。
従来のAIの限界
従来のAIは「テキストを生成する」ことはできても、外部システムを直接操作することはできませんでした。
ユーザー: 「このデータをスプレッドシートに入力して」
AI: 「以下の形式でコピペしてください...」 ← 結局手作業
MCPで変わること
MCPを使うと、AIが外部サービスのAPIを直接呼び出せるようになります。
ユーザー: 「このデータをスプレッドシートに入力して」
AI: (Google Sheets APIを呼び出して実際に入力)
「入力完了しました」 ← 自動化!
対応サービス例
MCPサーバーは様々なサービス向けに公開されています:
- Google Sheets - スプレッドシート操作
- GitHub - Issue/PR操作
- Slack - メッセージ送信
- PostgreSQL/MySQL - データベース操作
- Notion - ドキュメント操作
- など多数...
今回は Google Sheets MCP を使います。
事前準備
必要なもの
- Cursor - MCP対応のAIエディタ
- Google Cloud Platform (GCP) アカウント - API認証用
- Google Drive - スプレッドシート保存先
Step 1: Google Cloud Platform (GCP) の設定
1-1. プロジェクトの作成
- Google Cloud Console にアクセス
- 左上の「プロジェクトを選択」→「新しいプロジェクト」
- プロジェクト名を入力(例:
cursor-mcp-sheets) - 「作成」をクリック
1-2. APIの有効化
作成したプロジェクトで以下のAPIを有効化します:
- 左メニュー「APIとサービス」→「ライブラリ」
- 以下のAPIを検索して「有効にする」:
- Google Sheets API
- Google Drive API
1-3. サービスアカウントの作成
- 左メニュー「APIとサービス」→「認証情報」
- 「認証情報を作成」→「サービスアカウント」
- 必要情報を入力:
- サービスアカウント名:
cursor-sheets - サービスアカウントID: 自動生成されます
- サービスアカウント名:
- 「作成して続行」→ ロールは空欄のまま「続行」→「完了」
1-4. 認証キーのダウンロード
- 作成したサービスアカウントをクリック
- 「キー」タブ→「鍵を追加」→「新しい鍵を作成」
- 「JSON」を選択→「作成」
- JSONファイルがダウンロードされる(大切に保管!)
ダウンロードしたJSONを適切な場所に配置します:
# 例: ~/.config/gcp/ に配置
mkdir -p ~/.config/gcp
mv ~/Downloads/cursor-mcp-sheets-xxxxx.json ~/.config/gcp/service-account.json
Step 2: Google Drive の共有設定
2-1. 作業用フォルダの作成
- Google Drive にアクセス
- 「新規」→「フォルダ」で作業用フォルダを作成(例:
Cursor-MCP)
2-2. サービスアカウントへの共有
重要: サービスアカウントはGoogleアカウントとは別物です。フォルダを共有しないとアクセスできません。
- 作成したフォルダを右クリック→「共有」
- サービスアカウントのメールアドレスを追加
- JSONファイル内の
client_emailの値(xxx@xxx.iam.gserviceaccount.com)
- JSONファイル内の
- 権限を「編集者」に設定
- 「送信」
2-3. フォルダIDの取得
フォルダIDはMCP設定で使います:
- 共有設定したフォルダを開く
- URLからフォルダIDをコピー
https://drive.google.com/drive/folders/1ABC...XYZ
「1ABC...XYZ」の部分がフォルダID
Step 3: MCP設定(Cursor)
3-1. MCP設定ファイルの作成
Cursorの設定ファイルにMCPサーバーを追加します。
macOSの場合: ~/.cursor/mcp.json
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": ["mcp-google-sheets@latest"],
"env": {
"SERVICE_ACCOUNT_PATH": "/path/to/credentials.json",
"DRIVE_FOLDER_ID": "1ABC...XYZ"
}
}
}
}
| 環境変数 | 説明 |
|---|---|
GOOGLE_APPLICATION_CREDENTIALS |
サービスアカウントのJSONファイルパス |
GOOGLE_SHEETS_FOLDER_ID |
デフォルトの保存先フォルダID |
3-2. Cursorの再起動
設定を反映するためにCursorを再起動します。
3-3. MCPの動作確認
Cursorのチャットで以下を試してみます:
スプレッドシートの一覧を表示して
正常に設定できていれば、フォルダ内のスプレッドシート一覧が表示されます。
Step 4: 実際に使ってみる
ユースケース: エラー調査レポートをスプレッドシートにまとめる
障害が発生した際、アプリケーションのエラーログをAIに読み込んでもらい調査結果をMarkdownにまとめてもらうことが多いのですが、そのMarkdownをもとにスプレッドシートに整形してもらいます。
実際の障害報告書(例)
以下のような障害報告書があったとします:
# 【サンプルサイト】500エラー障害報告
## 障害概要
| 項目 | 内容 |
|------|------|
| **発生日時** | 2025年12月25日 10:00:00 |
| **解消日時** | 2025年12月25日(本番デプロイ完了時) |
| **影響サイト** | サンプルサイト |
| **影響範囲** | 検索ページ全般 |
| **障害レベル** | 重大(検索機能が利用不可) |
## エラー内容
[2025-12-25 10:00:00] production.ERROR: Undefined index: cond
{
"exception": "ErrorException: Undefined index: cond
at OfferSearchService.php:599"
}
## 原因
定義ファイルの構造がサンプルサイトだけ2段階だったのに、1段階構造を前提としたコードを書いてしまった。
## タイムライン
| 日時 | 事象 |
|------|------|
| 2025-12-20 | コンテンツ追加をデプロイ |
| 2025-12-25 10:00:00 | 500エラー発生 |
| 2025-12-25 | 原因特定・修正・デプロイ完了 |
Cursorへの指示
このMarkdownファイルを読んで、
スプレッドシートに障害報告書としてまとめてください。
/path/to/調査結果.md
結果
AIがMarkdownを解析し、以下のような構造でスプレッドシートを作成してくれました:
作成されたシート構成:
| セクション | 内容 |
|---|---|
| 障害概要 | 発生日時、影響範囲などの基本情報 |
| エラー内容 | エラーメッセージ、スタックトレース |
| 原因 | 直接原因・根本原因の説明 |
| タイムライン | 時系列での経緯 |
| 再発防止策 | 短期・中長期の対策 |
プレーンテキストの形式ではなく、罫線や背景色、文字色等を適切に設定してくれて、 フォーマットされたスプレッドシートが完成しました。
便利な使い方
スプレッドシートの新規作成
「プロジェクト管理」という名前で新しいスプレッドシートを作成して、必要と思われる項目の雛形を作成して
既存シートへのデータ追加
このサイトの構造を調査して、スプレッドシートにURLの一覧を作成して
データの取得・分析
このスプレッドシートの内容を読んで、完了していないタスクの一覧を教えて
注意点・制限事項
セキュリティ
- サービスアカウントのJSONファイルは絶対に公開しない
- 必要最小限のフォルダにのみ共有設定する
- 機密情報を含むシートへのアクセスは慎重に
制限
- 大量のセルを一度に更新すると時間がかかる
- 複雑な書式設定(条件付き書式など)は一部対応していない
- Google Sheets APIのクォータ制限に注意
トラブルシューティング
| 症状 | 原因・対処 |
|---|---|
| 「権限がない」エラー | サービスアカウントにフォルダ共有されているか確認 |
| MCPが認識されない | Cursorを再起動、JSONパスを確認 |
| シートが見つからない | 共有フォルダ内にあるか確認 |
まとめ
Google Sheets × MCP × Cursor の組み合わせで、こんなことができるようになりました:
- 調査レポートの自動整形 - Markdown → スプレッドシート
- 定型作業の自動化 - 行追加、データ更新
- データ分析の効率化 - シートの内容を読んで要約
「AIにスプレッドシートを触らせる」というのは最初は少し怖い気もしましたが、適切に権限設定すれば安全に使えます。
特に障害報告書や議事録など、定型フォーマットへの変換作業が多い人には、かなりの時短になるはずです。
MCPは他にもGitHub、Slack、Notionなど様々なサービスに対応しているので、自分のワークフローに合わせて試してみてください。