データベース向け MCP ツールボックスを使用してローカルの Model Context Protocol(MCP)サーバーを実行すると、IDE とデベロッパー ツールから Cloud Storage を直接操作できます。この設定により、Antigravity、Claude、Cline、Cursor、Visual Studio Code(Copilot)、Windsurf などのクライアントの大規模言語モデル(LLM)は、バケットの作成、オブジェクト データの管理、Identity and Access Management(IAM)ポリシーの検査を行うことができます。
オープンソースの MCP ツールボックスは、OAuth2 認証と OIDC 認証をサポートし、オブザーバビリティのために OpenTelemetry と統合されています。Cloud Storage の統合には、MCP ツールボックス バージョン 1.2.0 以降が必要です。ツールボックスを使用せずにスタンドアロンのローカル MCP サーバーを実行するには、Cloud Storage MCP GitHub リポジトリを使用します。
始める前に
Google Cloud コンソールのプロジェクト セレクタページで、 Google Cloud プロジェクトを選択または作成します。
このタスクを完了するために必要なロールと権限を構成します。LLM エージェントを呼び出すユーザーには、バケットレベルまたはプロジェクト レベルで次のロールが必要です。
- バケットの一覧表示、バケットの作成、空のバケットの削除を行うには: ストレージ管理者(
roles/storage.admin) - オブジェクトの一覧表示、オブジェクトの読み取り、オブジェクト メタデータまたはバケット メタデータの取得を行うには: Storage オブジェクト閲覧者(
roles/storage.objectViewer) - オブジェクトにコンテンツを書き込む、またはオブジェクトをアップロードする: Storage オブジェクト作成者(
roles/storage.objectCreator) - オブジェクトをコピー、移動、削除する: Storage オブジェクト管理者(
roles/storage.objectAdmin)
- バケットの一覧表示、バケットの作成、空のバケットの削除を行うには: ストレージ管理者(
使用する環境のアプリケーションのデフォルト認証情報(ADC)を構成します。
Antigravity と接続する
カスタム構成を使用して Cloud Storage を Antigravity に接続します。このコンテキストにおけるカスタム MCP サーバーとは、構成ファイル(mcp_config.json など)を編集して手動で構成するサーバーのことです。この手動構成は、組み込みの MCP ストア カタログからサーバーを直接インストールする代わりに使用されます。
カスタム MCP サーバーを構成する手順は次のとおりです。
- ターミナルで
npx --versionを実行して、npxがシステムにインストールされ、正しく構成されていることを確認します。npxを含む Node.js をインストールする必要がある場合は、npm の Node.js と npm のダウンロードとインストールのガイドをご覧ください。 - Antigravity を開き、エディタのエージェント パネルの上部にある [...] プルダウンを使用して MCP ストアに移動します。
- mcp_config.json ファイルを開くには、[MCP サーバー] をクリックし、[Manage MCP Servers > View raw config] をクリックします。
- 次の構成を追加し、プレースホルダをプロジェクト 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 ツールに安全で効率的な環境が提供されます。
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など)に置き換えます。バイナリを実行可能にします。
chmod +x toolboxインストールを確認します。
./toolbox --version
コンテナ イメージまたは Homebrew を使用してツールボックスを設定するには、ツールボックスをインストールするページをご覧ください。
クライアントと接続を設定する
このセクションでは、MCP ツールボックスをインストールした後に Cloud Storage をツールに接続する方法について説明します。
Claude Code
- Claude Code をインストールします。
.mcp.jsonファイルが存在しない場合は、プロジェクトのルートに作成します。- 構成を追加し、プレースホルダを実際の値に置き換えて保存します。
次の変数を独自の値に置き換えます。{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolboxバイナリのパス。CLOUD_STORAGE_PROJECT: Google Cloud プロジェクト ID を指定する環境変数。PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- Claude Code を再起動して、新しい設定を読み込みます。Claude Code を再度開くと、アプリケーションは構成された MCP サーバーを検出します。
Claude Desktop
- Claude Desktop を開き、[Settings] に移動します。
- [Developer] タブで [Edit Config] をクリックして、構成ファイルを開きます。
- 構成を追加し、プレースホルダを実際の値に置き換えて保存します。
次の変数を独自の値に置き換えます。{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolboxバイナリのパス。CLOUD_STORAGE_PROJECT: Google Cloud プロジェクト ID を指定する環境変数。PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- Claude Desktop を再起動します。
- 新しいチャット画面に、新しい MCP サーバーのハンマー(MCP)アイコンが表示されます。
Cline
- VS Code で Cline 拡張機能を開き、[MCP サーバー] アイコンをクリックします。
- [MCP サーバーを構成] をクリックして構成ファイルを開きます。
- 次の構成を追加し、プレースホルダを実際の値に置き換えて保存します。
次の変数を独自の値に置き換えます。{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolboxバイナリのパス。CLOUD_STORAGE_PROJECT: Google Cloud プロジェクト ID を指定する環境変数。PROJECT_ID: 実際の Google Cloud プロジェクト ID。
サーバーが正常に接続されると、緑色のアクティブ ステータスが表示されます。
Cursor
- プロジェクトのルートに
.cursorディレクトリが存在しない場合は作成します。 .cursor/mcp.jsonファイルが存在しない場合は作成してから、それを開きます。- 次の構成を追加し、プレースホルダを実際の値に置き換えて保存します。
次の変数を独自の値に置き換えます。{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolboxバイナリのパス。CLOUD_STORAGE_PROJECT: Google Cloud プロジェクト ID を指定する環境変数。PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- Cursor を開き、[Settings] > [Cursor Settings] > [MCP] に移動します。サーバーが接続されると、緑色のアクティブ ステータスが表示されます。
Visual Studio Code(Copilot)
- VS Code を開き、プロジェクトのルートに
.vscodeディレクトリが存在しない場合は作成します。 .vscode/mcp.jsonファイルが存在しない場合は作成してから、それを開きます。- 次の構成を追加し、プレースホルダを実際の値に置き換えて保存します。
次の変数を独自の値に置き換えます。{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolboxバイナリのパス。CLOUD_STORAGE_PROJECT: Google Cloud プロジェクト ID を指定する環境変数。PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- VS Code ウィンドウを再読み込みします。MCP 互換の拡張機能が構成を自動的に検出し、サーバーを起動します。
Windsurf
- Windsurf を開き、Cascade アシスタントに移動します。
- MCP アイコンをクリックし、[Configure] をクリックして構成ファイルを開きます。
- 次の構成を追加し、プレースホルダを実際の値に置き換えて保存します。
次の変数を独自の値に置き換えます。{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolboxバイナリのパス。CLOUD_STORAGE_PROJECT: Google Cloud プロジェクト ID を指定する環境変数。PROJECT_ID: 実際の Google Cloud プロジェクト 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: オブジェクトを削除します。