😎

Cursor×MCPでスプレッドシートを使ったPM業務を効率化する環境を構築しよう

に公開

はじめに

こんにちは。普段は株式会社iCAREでエンジニアリングマネージャーをしている古家(@enzerubank)です。

最近はAI活用が進み、スプレッドシートを使ったPM業務を行うことが多いです。
それらの業務をすべて手作業でやるのは面倒すぎるなと思ったのでMCPでスプレッドシートと連携し、手元のCursorのAIアシスタントと壁打ちした内容をそのまま書き込んだり、逆に読み込みを行えるような環境を構築してみました。

本記事では、mcp-google-sheetsというMCPサーバーを使って、CursorからGoogle Sheetsにアクセスできる環境を構築する手順を解説していきます。

この記事でできること

  • Cursorからスプレッドシートのデータを読み取る
  • Cursorからスプレッドシートにデータを書き込む
  • 自然言語でスプレッドシートを操作する

必要な準備

セットアップを始める前に、以下の準備が整っていることを確認してください。

  • Google Cloudアカウント: スプレッドシートのAPIを利用するためにGoogle Cloudのアカウントが必要です
  • Cursor: お使いの環境にCursorがインストールされていることを確認してください
  • 操作したいGoogleスプレッドシート: 既存のスプレッドシートを使用する場合は、事前に用意しておきましょう

1. Google Cloudプロジェクトの作成とAPI有効化

まずは、Google Cloudでプロジェクトを作成して、Google Sheets APIを有効化する必要があります。

1.1 Google Cloudプロジェクトの作成

  1. Google Cloud Consoleにアクセスします
  2. 画面上部のプロジェクト選択ドロップダウンをクリックします
  3. 「新しいプロジェクト」をクリックします
  4. プロジェクト名を入力します(例: cursor-sheets-integration
  5. 「作成」をクリックします
  6. 作成されたプロジェクトを選択します

プロジェクト名は後から変更できるので、とりあえず分かりやすい名前を付けておけばOKです。

1.2 Google Sheets APIの有効化

次に、Google Sheets APIを有効化します。

  1. Google Cloud Consoleの左側メニューから「APIとサービス」→「ライブラリ」を選択します
  2. 検索バーに「Google Sheets API」と入力します
  3. 「Google Sheets API」を選択します
  4. 「有効にする」ボタンをクリックします

これで、Google Sheets APIが使えるようになりました。APIの有効化には少し時間がかかる場合がありますが、通常は数秒で完了します。

2. サービスアカウントの作成とJSON鍵のダウンロード

次に、サービスアカウントを作成して、認証に必要なJSON鍵ファイルをダウンロードします。

2.1 サービスアカウントの作成

  1. Google Cloud Consoleの左側メニューから「IAMと管理」→「サービス アカウント」を選択します
  2. 画面上部の「+サービス アカウントを作成」をクリックします
  3. サービスアカウントの詳細を入力します:
    • サービスアカウント名: 任意の名前(例: cursor-sheets-service
    • サービスアカウントID: 自動生成されます(変更可能)
    • 説明: 任意の説明(例: CursorからGoogle Sheetsにアクセスするためのサービスアカウント
  4. 「作成して続行」をクリックします

2.1.1 ロールについて

サービスアカウントにロールを設定する項目がありますが、未設定で問題ありません。
今回はGoogle Cloudのリソース(VM、ストレージ、データベースなど)を閲覧・編集する必要がないため、プロジェクトレベルのロールは不要です。

Google Sheets APIを使用するには、APIが有効になっていれば十分で、実際のスプレッドシートへのアクセス権限は、後でスプレッドシートファイル自体をサービスアカウントに共有することで制御します。

2.2 JSON鍵ファイルのダウンロード

認証に必要なJSON鍵ファイルをダウンロードします。

  1. 作成したサービスアカウントの行をクリックします
  2. 「キー」タブを選択します
  3. 「キーを追加」→「新しいキーを作成」をクリックします
  4. 「キーのタイプ」で「JSON」を選択します
  5. 「作成」をクリックします
  6. JSONファイルが自動的にダウンロードされます

2.3 JSON鍵ファイルの保存場所

ダウンロードしたJSONファイルを、プロジェクト内の安全な場所に保存します。

推奨パス: .cursor/service-account-key.json(プロジェクトルートからの相対パス)

このファイルは後で.gitignoreに追加して、Gitリポジトリにコミットされないようにします。

3. スプレッドシートへのアクセス設定

操作したいスプレッドシートをサービスアカウントに共有する必要があります。

  1. 操作したいスプレッドシートを開きます
  2. そのスプレッドシートをサービスアカウントに共有します:
    • スプレッドシートを開き、「共有」ボタンをクリック
    • サービスアカウントのメールアドレス(JSONファイル内のclient_emailフィールドに記載されています)を追加
    • 権限を「編集者」に設定

これで、サービスアカウントがスプレッドシートにアクセスできるようになりました。

4. MCPサーバーの設定

次に、CursorでMCPサーバーを使えるように設定します。

4.1 uvのインストール確認

mcp-google-sheetsuvというツールを使って実行します。まず、uvがインストールされているか確認しましょう。

ターミナルで以下のコマンドを実行します:

which uv

インストールされていない場合は、以下のコマンドでインストールします:

curl -LsSf https://astral.sh/uv/install.sh | sh

または、Homebrewを使用している場合:

brew install uv

uvはPythonパッケージの高速実行ツールで、MCPサーバーを簡単に起動できます。

4.2 .cursorディレクトリの作成

プロジェクトルートに.cursorディレクトリを作成します(存在しない場合):

mkdir -p .cursor

4.3 MCP設定ファイルの作成

.cursor/mcp.jsonファイルを作成し、以下の内容を記述します:

{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": ["mcp-google-sheets@latest"],
      "env": {
        "SERVICE_ACCOUNT_PATH": "/path/to/your/service-account-key.json"
      },
      "healthcheck_url": "http://localhost:8000/health"
    }
  }
}

4.4 .gitignoreの設定

プロジェクトルートに.gitignoreファイルを作成(または既存のファイルに追加)し、以下の内容を追加します:

# Googleサービスアカウント鍵ファイル
.cursor/service-account-key.json

これで、機密情報がGitリポジトリにコミットされることを防げます。

5. 動作確認

設定が完了したら、実際に動作するか確認してみましょう。

5.1 Cursorの再起動

  1. Cursorを完全に終了します(Cmd + Q
  2. Cursorを再起動します

設定ファイルを変更した後は、Cursorを再起動しないと変更が反映されない場合があります。

5.2 MCPサーバーの確認

MCPサーバーの設定は、プロジェクトの.cursor/mcp.jsonファイルに保存されています。Cursorはこのファイルを自動的に読み込みます。

設定ファイルの確認方法

  1. Cursorの設定画面を開きます(Cursor > Preferences > Cursor Settings)
  2. Tools & MCPを確認してgoogle-sheetsのMCP設定が有効になっていることを確認します
  3. google-sheetsのtoolsの項目に以下のようなGoogle Sheets操作用のツールが表示されることを確認します。逆に不要そうなtoolがあれば、クリックするとOFFにできます
    • get_sheet_data: シートデータの取得
    • add_rows: 行の追加
    • update_cells: セルの更新

5.3 テスト実行

チャット画面で例えば、以下のような指示を出して、動作を確認してみましょう:

スプレッドシートID「xxxxxxxx」のシート「Sheet1」のデータを取得してください。

または:

スプレッドシートID「xxxxxxxx」のシート「Sheet1」に、以下のデータを追加してください:
- 行1: テスト, データ, 確認

スプレッドシートIDは、スプレッドシートのURLから取得できます。URLの形式は以下の通りです:

https://docs.google.com/spreadsheets/d/<スプレッドシートID>/edit

ここまでの設定が完了していれば、うまく動作するはずです。

おわりに

この記事では、Cursor×MCPでスプレッドシートにアクセスできる環境を構築する手順を紹介しました。

これで、CursorのAIアシスタントを使って、自然言語でスプレッドシートを操作できるようになりました。テストケースの自動生成やデータの集計など、様々な用途に活用できると思います!

Discussion