DIVX テックブログ

catch-img

MCP入門:CursorとGoogle Sheetsを連携させ、テスト項目書作成を自動化する

みなさん、こんにちは!

株式会社divxのteam-bd部-第1開発課-ラボ3に所属している、西園です。

私たちエンジニアの仕事は「コードを書くこと」だけではないですが、できれば本当に集中したい開発作業に時間を使いたいですよね。

テスト項目書は、もちろん仕様書や要求定義に基づいて作成されなければなりません。しかし、その内容を確認し、手動でスプレッドシートに転記する作業は非常に時間がかかっていました。

※今回の連携を行う上で、テスト項目の基準となる仕様書や要求定義は、Markdownファイルとして作成しました。

そこで、興味のあったMCPを使って、この手動での転記作業を効率化し、テスト項目書をより迅速に作成できるかを考えてみることにしました。

今回は「MCPって何だろう?」「私も何か業務を効率化してみたい!」と考えている方に、ぜひ最後まで読んでいただけると嬉しいです。

MCP連携で何ができるようになったか

この連携が実現したことで、私が開発で使用しているCursorから、MCP(googlesheetsサーバー)を通じてGoogle スプレッドシートへ直接アクセスできるようになりました。

機能

導入後のメリット

テスト項目管理

Markdown仕様書をもとに、テストケースの整合性を保ちながらスプレッドシートに書き込む作業を日本語の依頼で行えるようになりました。

時間の削減

AIが整理したテストケースを、手動で転記する手間が不要に

開発効率

既存のコードを触ることなく、AIの作業領域が大幅に拡大


有効になっているツールは、以下の3つです。

  • 読み取り(read_sheet): シートの内容を読み込む

  • 書き込み(write_sheet): シートにデータを追加・更新する

  • シート一覧取得(list_sheets): スプレッドシート内のシート名一覧を取得する

実際の成功事例

login.md を読んで、テストケースを考えて、 test-item-listシートに書き込んで」というと作成してくれました。


MCP連携手順

次に、このMCP連携を実現するために私が行った具体的な手順をご紹介します。

1. 事前準備:認証情報の設定

Google Sheets APIを安全に呼び出すための認証情報を準備しました。

  • Google Cloud Consoleでサービスアカウントを作成。

  • そのJSONキーを発行してダウンロード。

  • JSONファイルをプロジェクト配下に置き、**.cursor/mcp.json**の設定内で
    GOOGLE_APPLICATION_CREDENTIALSとしてファイルのパスを指定しました。

2. MCPサーバー側:機能(ツール)の実装

CursorとGoogle Sheetsの間で翻訳・連携を行うためのMCPサーバーを実装しました。

  • mcp-serverディレクトリを作成。

  • その中で、TypeScript、@modelcontextprotocol/sdk、そしてgoogleapisライブラリを使って、
    上記でご紹介した3つの機能(read_sheetwrite_sheetlist_sheets)を実装しました。

  • npm installを実行後、npm run buildでサーバーの実行ファイルとなるdist/index.jsを生成しました。

※画像はdist/index.jsの一部です。


3. Cursor側:設定ファイルの記述

Cursorがどのサーバーを使い、どのスプレッドシートと連携するかを設定しました。

  • .cursor/mcp.jsonに以下の設定を記述しました。

    • googlesheetsサーバー設定(生成したdist/index.jsnodeで起動する設定)。

    • test-item-listという名前で、
      対象のスプレッドシート IDを指定したバインディング(紐付け)を設定。

導入で一番大変だったことと解決策 

MCPの連携自体はとても面白いのですが、導入の初期段階で少しつまずいた点がありました。

大変だったこと

当初、ルートディレクトリにcursor_mcp_config.jsonを置いて、公式が提供していると思われるパッケージ(例:@modelcontextprotocol/server-gdrive)を使おうとしていましたが、このパッケージ自体がnpmに存在しないことがわかり、実装がストップしてしまいました。

 解決策:自作サーバーで乗り越える

既存コードを壊さないように、独自の環境を構築するという方針で解決しました。

  1. 既存コードと分離するため、**mcp-server**ディレクトリを新規作成。

  2. 必要なパッケージ(@modelcontextprotocol/sdkgoogleapis)をインストールし、
    自作のMCPサーバー(src/index.ts)として機能(ツール)を実装。

  3. 設定ファイル(**.cursor/mcp.json**)を使い、
    自作したサーバーの実行ファイル(mcp-server/dist/index.js)を起動するように設定。

結果として、自作サーバーのおかげで、既存コードへの影響ゼロでGoogle Sheetsとの連携を実現できました!

実は... この「自作サーバーを実装する」という解決策やコードは、Cursorに相談しながら実装を進めました。難しい技術的な壁も、AIと壁打ちすることで乗り越えることができています!

注意すること

このMCP連携を実際に業務で利用する際には、以下の2点に注意が必要です。

  1. エージェントモードでの実行
    MCPが有効になっている環境でCursorに作業を依頼する場合、
    必ずエージェントモード(CursorのAIチャット画面でコマンドを実行するモード)で行ってください。

  2. スプレッドシートのアクセス権設定
    MCPサーバーがアクセスに利用している
    サービスアカウントのアドレス([email protected]のような形式)を、
    対象のスプレッドシートの共有ユーザーとして登録することを忘れないでください。
    これが漏れていると、読み書きのツールが正常に動作しません。

最後に

MCPサーバーに触れられるいい機会になりました。
「MCPって難しそう」と思っている方も、とりあえず手を動かしてみると、意外とできるのではないかなと感じました。

最後まで読んでいただきありがとうございました。


お気軽にご相談ください


ご不明な点はお気軽に
お問い合わせください

サービス資料や
お役立ち資料はこちら

DIVXブログ

テックブログ タグ一覧

人気記事ランキング

関連記事