MCP を使用して LLM を Cloud Storage に接続する

このガイドでは、Cloud Storage を統合開発環境(IDE)とデベロッパー ツールに接続する方法について説明します。これを行うには、データベース向け MCP ツールボックスを使用して、マシンでローカル MCP サーバーを実行します。

データベース向け MCP ツールボックスは、Cloud Storage、BigQuery、AlloyDB、Spanner、Cloud SQL などのデータベースとデータストアのコネクタを含むオープンソース リポジトリです。このツールボックスは、OAuth2 と OIDC 認証をサポートし、オブザーバビリティのために Open Telemetry と統合されています。Cloud Storage ツールボックス統合を使用すると、LLM を使用して次の操作を行うことができます。

  • バケットの作成、一覧表示、削除。
  • バケットとオブジェクトのメタデータを取得します。
  • バケットの Identity and Access Management(IAM)ポリシーを取得します。
  • オブジェクトの読み取り、書き込み、アップロード、ダウンロード。
  • オブジェクトをコピーまたは移動します。

このガイドでは、次の IDE とツールの接続プロセスについて説明します。

  • Cursor
  • Windsurf(旧 Codeium)
  • Visual Studio Code(Copilot)
  • Cline(VS Code 拡張機能)
  • Claude Desktop
  • Claude Code
  • Antigravity

始める前に

  1. Cloud de Confiance コンソールのプロジェクト セレクタページで、 Cloud de Confiance by S3NS プロジェクトを選択または作成します。

  2. Cloud de Confiance プロジェクトに対して課金が有効になっていることを確認します

  3. Cloud de Confiance プロジェクトで Cloud Storage API を有効にします

  4. このタスクを完了するために必要なロールと権限を構成します。LLM エージェントを呼び出すユーザーには、バケットまたはプロジェクト レベルで次のロールが必要です。

    • バケットの一覧表示、バケットの作成、空のバケットの削除を行うには: ストレージ管理者roles/storage.admin
    • オブジェクトの一覧表示、オブジェクトの読み取り、オブジェクト メタデータの取得、バケット メタデータの取得を行う場合: Storage オブジェクト閲覧者roles/storage.objectViewer
    • オブジェクトにコンテンツを書き込むか、オブジェクトをアップロードする: Storage オブジェクト作成者roles/storage.objectCreator
    • オブジェクトのコピー、移動、削除: Storage オブジェクト管理者roles/storage.objectAdmin
  5. 使用する環境のアプリケーションのデフォルト認証情報(ADC)を構成します。

Antigravity と接続する

カスタム構成を使用して、Cloud Storage を Antigravity に接続します。このコンテキストでは、カスタム MCP サーバーは、構成ファイル(mcp_config.json など)を編集して手動で構成するサーバーです。この手動構成は、組み込みの MCP ストア カタログからサーバーを直接インストールする代わりに使用されます。

カスタム MCP サーバーを構成する手順は次のとおりです。

  1. ターミナルで npx --version を実行して、npx がインストールされ、システムで正しく構成されていることを確認します。npx を含む Node.js をインストールする必要がある場合は、npm の Node.js と npm のダウンロードとインストール ガイドをご覧ください。
  2. Antigravity を開き、エディタのエージェント パネルの上部にある 「...」プルダウンを使用して MCP ストアに移動します。
  3. mcp_config.json ファイルを開くには、[MCP Servers] をクリックし、[Manage MCP Servers > View raw config] をクリックします。
  4. 次の構成を追加し、プレースホルダをプロジェクト ID に置き換えて保存します。
    {
      "mcpServers": {
        "storage": {
          "command": "npx",
          "args": ["-y","@toolbox-sdk/server","--prebuilt","cloud-storage","--stdio"],
          "env": {
              "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
          }
        }
      }
    }
    

MCP ツールボックスをインストールする

ツールボックスは、マシン上でローカルに実行されるオープンソースの Model Context Protocol(MCP)サーバーです。ローカル サーバーは、IDE と Cloud Storage 間の通信を管理します。この接続により、AI ツールに安全で効率的な環境が提供されます。

  1. MCP ツールボックスの最新バージョンをバイナリとしてダウンロードします。オペレーティング システム(OS)と CPU アーキテクチャに対応するバイナリを選択します。MCP ツールボックス バージョン 1.2.0 以降を使用する必要があります。

    linux/amd64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/linux/amd64/toolbox
    

    VERSION は、MCP ツールボックスのバージョン(v1.2.0 など)に置き換えます。

    macOS darwin/arm64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/darwin/arm64/toolbox
    

    VERSION は、MCP ツールボックスのバージョン(v1.2.0 など)に置き換えます。

    macOS darwin/amd64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/darwin/amd64/toolbox
    

    VERSION は、MCP ツールボックスのバージョン(v1.2.0 など)に置き換えます。

    windows/amd64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/windows/amd64/toolbox
    

    VERSION は、MCP ツールボックスのバージョン(v1.2.0 など)に置き換えます。

  2. バイナリを実行可能にします。

    chmod +x toolbox
    
  3. インストールを確認します。

    ./toolbox --version
    

コンテナ イメージまたは Homebrew を使用してツールボックスを設定するには、ツールボックスをインストールするをご覧ください。

クライアントと接続を設定する

このセクションでは、MCP ツールボックスをインストールした後に Cloud Storage をツールに接続する方法について説明します。

Claude Code

  1. Claude Code をインストールします。
  2. .mcp.json ファイルが存在しない場合は、プロジェクトのルートに作成します。
  3. 構成を追加し、プレースホルダを実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    次の変数を独自の値に置き換えます。
    • ./PATH/TO/toolbox: toolbox バイナリへのパス。
    • CLOUD_STORAGE_PROJECT: Cloud de Confiance プロジェクト ID を指定する環境変数。
    • PROJECT_ID: 実際の Cloud de Confiance by S3NS プロジェクト ID。
  4. Claude Code を再起動して、新しい設定を読み込みます。Claude Code を再度開くと、構成された MCP サーバーが検出されます。

Claude Desktop

  1. Claude Desktop を開き、[Settings] に移動します。
  2. [Developer] タブで [Edit Config] をクリックして、構成ファイルを開きます。
  3. 構成を追加し、プレースホルダを実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    次の変数を独自の値に置き換えます。
    • ./PATH/TO/toolbox: toolbox バイナリへのパス。
    • CLOUD_STORAGE_PROJECT: Cloud de Confiance プロジェクト ID を指定する環境変数。
    • PROJECT_ID: 実際の Cloud de Confiance by S3NS プロジェクト ID。
  4. Claude Desktop を再起動します。
  5. 新しいチャット画面に、新しい MCP サーバーのハンマー(MCP)アイコンが表示されます。

Cline

  1. VS Code で Cline 拡張機能を開き、[MCP Servers] アイコンをクリックします。
  2. [Configure MCP Servers] をクリックして構成ファイルを開きます。
  3. 次の構成を追加し、プレースホルダを実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    次の変数を独自の値に置き換えます。
    • ./PATH/TO/toolbox: toolbox バイナリへのパス。
    • CLOUD_STORAGE_PROJECT: Cloud de Confiance プロジェクト ID を指定する環境変数。
    • PROJECT_ID: 実際の Cloud de Confiance by S3NS プロジェクト ID。

サーバーが正常に接続されると、緑色のアクティブ ステータスが表示されます。

Cursor

  1. プロジェクトのルートに .cursor ディレクトリが存在しない場合は作成します。
  2. .cursor/mcp.json ファイルが存在しない場合は作成してから、それを開きます。
  3. 次の構成を追加し、プレースホルダを実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    次の変数を独自の値に置き換えます。
    • ./PATH/TO/toolbox: toolbox バイナリへのパス。
    • CLOUD_STORAGE_PROJECT: Cloud de Confiance プロジェクト ID を指定する環境変数。
    • PROJECT_ID: 実際の Cloud de Confiance by S3NS プロジェクト ID。
  4. Cursor を開き、[Settings] > [Cursor Settings] > [MCP] に移動します。サーバーが接続されると、緑色のアクティブ ステータスが表示されます。

Visual Studio Code(Copilot)

  1. VS Code を開き、プロジェクトのルートに .vscode ディレクトリが存在しない場合は作成します。
  2. .vscode/mcp.json ファイルが存在しない場合は作成してから、それを開きます。
  3. 次の構成を追加し、プレースホルダを実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    次の変数を独自の値に置き換えます。
    • ./PATH/TO/toolbox: toolbox バイナリへのパス。
    • CLOUD_STORAGE_PROJECT: Cloud de Confiance プロジェクト ID を指定する環境変数。
    • PROJECT_ID: 実際の Cloud de Confiance by S3NS プロジェクト ID。
  4. VS Code ウィンドウを再読み込みします。MCP 互換の拡張機能が構成を自動的に検出し、サーバーを起動します。

Windsurf

  1. Windsurf を開き、Cascade アシスタントに移動します。
  2. MCP アイコンをクリックし、[Configure] をクリックして構成ファイルを開きます。
  3. 次の構成を追加し、プレースホルダを実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    次の変数を独自の値に置き換えます。
    • ./PATH/TO/toolbox: toolbox バイナリへのパス。
    • CLOUD_STORAGE_PROJECT: Cloud de Confiance プロジェクト ID を指定する環境変数。
    • PROJECT_ID: 実際の Cloud de Confiance by S3NS プロジェクト ID。

ビルド済みツール

MCP ツールボックスを Cloud Storage に接続すると、エージェントは次の事前構築済みツールを使用します。

  • list_buckets: 構成済みのプロジェクト内の Cloud Storage バケットを一覧表示します。
  • list_objects: バケット内のオブジェクトを一覧表示します。接頭辞と区切り文字のフィルタリングは省略可能です。
  • get_bucket_metadata: バケットのメタデータを返します。
  • get_bucket_iam_policy: バケットの IAM ポリシー バインディングを返します。
  • get_object_metadata: オブジェクトのメタデータを返します。
  • read_object: UTF-8 テキスト オブジェクト(またはバイト範囲)を読み取ります。8 MiB に制限されます。バイナリ オブジェクトは拒否されます。
  • download_object: オブジェクトをローカルパスにダウンロードします。
  • create_bucket: 構成されたプロジェクトにバケットを作成します。
  • delete_bucket: 空のバケットを削除します。
  • upload_object: ローカル ファイルをオブジェクトにアップロードします。
  • write_object: テキスト コンテンツをオブジェクトに直接書き込みます。
  • copy_object: オブジェクトを宛先オブジェクトにコピーします。
  • move_object: 同じバケット内のオブジェクトの名前をアトミックに変更します。
  • delete_object: オブジェクトを削除します。