MCP server to deploy code to Google Cloud Run について
Cloud Run MCP サーバーは、MCP に対応した AI エージェントから Cloud Run へアプリをデプロイするためのサーバーです。npx または Docker でローカル実行でき、IAM 認証付きで Cloud Run 上にホストすることもできます。IDE、コマンドライン、AI アシスタントアプリから Google Cloud へデプロイしたい開発者向けです。
主な機能
- 01ファイル内容またはローカルフォルダーのデプロイ
- 02サービス一覧と詳細の取得
- 03サービスのログとエラーメッセージの取得
- 04deploy と logs のプロンプトショートカット
- 05環境変数によるデフォルトのプロジェクト・リージョン設定
活用シーン
- 01AI コーディングツールから現在のディレクトリを Cloud Run サービスとしてデプロイ
- 02AI アシスタントでサービスの状態を確認しエラーを調査
- 03Gemini CLI から拡張機能としてデプロイを実行
MCP 対応
本プロジェクト自体が MCP サーバーです。deploy-file-contents、list-services、get-service、get-service-log などのツールと、deploy および logs のプロンプトを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cloud Run MCP サーバーおよび Gemini CLI 拡張機能
MCP 互換の AI エージェントで、Cloud Run にアプリをデプロイできます。
"mcpServers":{
"cloud-run": {
"command": "npx",
"args": ["-y", "@google-cloud/cloud-run-mcp"]
}
}
Gemini CLI やその他の AI 搭載コマンドラインエージェントからデプロイします。
AI 搭載 IDE からデプロイします。
AI アシスタントアプリからデプロイします。
Google Gen AI SDK や Agent Development Kit などのエージェント SDK からデプロイします。
メモ
これは、コードを Cloud Run にデプロイする MCP サーバーのリポジトリです。Cloud Run で MCP サーバーをホストする方法については、Cloud Run のドキュメントをご覧ください。
ツール
-
deploy-file-contents:ファイルの内容を直接指定して、Cloud Run にファイルをデプロイします。 -
list-services:指定したプロジェクトとリージョンにある Cloud Run サービスの一覧を取得します。 -
get-service:特定の Cloud Run サービスの詳細を取得します。 -
get-service-log:特定の Cloud Run サービスのログとエラーメッセージを取得します。 -
deploy-local-folder*:ローカルフォルダーを Google Cloud Run サービスにデプロイします。 -
list-projects*:利用可能な GCP プロジェクトの一覧を取得します。 -
create-project*:新しい GCP プロジェクトを作成し、最初に利用可能な請求先アカウントに関連付けます。プロジェクト ID は任意で指定できます。
* ローカルで実行した場合のみ利用可能です
プロンプト
プロンプトは、一般的なタスクを実行するために使用できる自然言語のコマンドです。引数を事前に設定したツール呼び出しを実行するためのショートカットです。
deploy:現在の作業ディレクトリを Cloud Run にデプロイします。サービス名が指定されていない場合は、DEFAULT_SERVICE_NAME環境変数、または現在の作業ディレクトリ名を使用します。logs:Cloud Run サービスのログを取得します。サービス名が指定されていない場合は、DEFAULT_SERVICE_NAME環境変数、または現在の作業ディレクトリ名を使用します。
環境変数
Cloud Run MCP サーバーは、以下の環境変数を使用して設定できます。
| 変数 | 説明 |
|---|---|
GOOGLE_CLOUD_PROJECT | Cloud Run サービスで使用するデフォルトのプロジェクト ID です。 |
GOOGLE_CLOUD_REGION | Cloud Run サービスで使用するデフォルトのリージョンです。 |
DEFAULT_SERVICE_NAME | Cloud Run サービスで使用するデフォルトのサービス名です。 |
SKIP_IAM_CHECK | Cloud Run サービスの IAM 権限を確認するかどうかを制御します。確認を有効にするには false に設定します。サービスを公開する方法として推奨される設定はデフォルトの true です。 |
ENABLE_HOST_VALIDATION | Host ヘッダーを検証して、DNS リバインディング攻撃を防ぎます。デフォルトでは無効です。 |
ALLOWED_HOSTS | 許可する Host ヘッダーをカンマ区切りで指定します(ホスト検証が有効な場合)。デフォルト値は localhost,127.0.0.1,::1 です。 |
Gemini CLI 拡張機能として使用する
これを Gemini CLI 拡張機能としてインストールするには、次のコマンドを実行します。
-
拡張機能をインストールします。
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp -
次のコマンドを使用して、Google Cloud アカウントにログインします。
gcloud auth login -
次のコマンドを使用して、アプリケーション認証情報を設定します。
gcloud auth application-default login
MCP クライアントで使用する
MCP クライアントの設定方法を確認する
ほとんどの MCP クライアントでは、MCP サーバーを追加するために設定ファイルを作成または変更する必要があります。
設定ファイルの構文はクライアントによって異なる場合があります。最新の構文については、以下のリンクを参照してください。
MCP クライアントの設定方法を確認したら、以下の2つの方法からいずれかを選んで MCP サーバーをセットアップします。 Node.js を使用したローカル MCP サーバーとしてのセットアップをおすすめします。
ローカル MCP サーバーとしてセットアップする
ローカルの Google Cloud 認証情報を使用して、Cloud Run MCP サーバーをローカルマシンで実行します。Cursor などの AI 支援 IDE や、Claude などのデスクトップ AI アプリケーションを使用する場合に最適です。
-
Google Cloud SDK をインストールし、Google アカウントで認証します。
-
次のコマンドを使用して、Google Cloud アカウントにログインします。
gcloud auth login -
次のコマンドを使用して、アプリケーション認証情報を設定します。
gcloud auth application-default login
次に、Node.js または Docker を使用して MCP サーバーを設定します。
Node.js を使用する
-
Node.js をインストールします(LTS バージョンを推奨)。
-
以下の内容で、MCP クライアントの MCP 設定ファイルを更新します。
"cloud-run": { "command": "npx", "args": ["-y", "@google-cloud/cloud-run-mcp"] } -
[任意]デフォルトの設定を追加します。
"cloud-run": { "command": "npx", "args": ["-y", "@google-cloud/cloud-run-mcp"], "env": { "GOOGLE_CLOUD_PROJECT": "PROJECT_NAME", "GOOGLE_CLOUD_REGION": "PROJECT_REGION", "DEFAULT_SERVICE_NAME": "SERVICE_NAME" } }
Docker の使用
Docker の MCP カタログを参照するか、以下の手動手順を使用してください。
-
Docker をインストールします。
-
MCP クライアントの MCP 設定ファイルを、以下の内容で更新します。
"cloud-run": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "GOOGLE_APPLICATION_CREDENTIALS", "-v", "/local-directory:/local-directory", "mcp/cloud-run-mcp:latest" ], "env": { "GOOGLE_APPLICATION_CREDENTIALS": "/Users/slim/.config/gcloud/application_default-credentials.json", "DEFAULT_SERVICE_NAME": "SERVICE_NAME" } }
リモート MCP サーバーとしてセットアップする
警告
認証なしでリモート MCP サーバーを使用しないでください。以下の手順では、IAM 認証を使用して、ローカルマシンから MCP サーバーへの接続を保護します。これは、Google Cloud リソースへの不正アクセスを防ぐために重要です。
Cloud Run MCP サーバー自体を Cloud Run 上で実行し、ローカルマシンからの接続を IAM で認証します。 この方法では、MCP サーバーが実行されている Google Cloud プロジェクトと同じプロジェクトにのみコードをデプロイできます。
-
Google Cloud SDK をインストールし、Google アカウントで認証します。
-
次のコマンドを使用して、Google Cloud アカウントにログインします。
gcloud auth login -
次のコマンドを使用して、Google Cloud プロジェクト ID を設定します。
gcloud config set project YOUR_PROJECT_ID -
Cloud Run MCP サーバーを Cloud Run にデプロイします。
gcloud run deploy cloud-run-mcp --image us-docker.pkg.dev/cloudrun/container/mcp --no-allow-unauthenticatedプロンプトが表示されたら、
europe-west1などのリージョンを選択します。MCP サーバーは一般公開されておらず、IAM による認証が必要です。
-
[任意]デフォルト設定を追加します。
gcloud run services update cloud-run-mcp --region=REGION --update-env-vars GOOGLE_CLOUD_PROJECT=PROJECT_NAME,GOOGLE_CLOUD_REGION=PROJECT_REGION,DEFAULT_SERVICE_NAME=SERVICE_NAME,SKIP_IAM_CHECK=false -
ローカルマシンで Cloud Run プロキシを実行し、ID を使用して Cloud Run 上で実行中のリモート MCP サーバーに安全に接続します。
gcloud run services proxy cloud-run-mcp --port=3000 --region=REGION --project=PROJECT_IDこれにより、リモート MCP サーバーにリクエストを転送し、ID を付与するローカルプロキシがポート 3000 で作成されます。
-
MCP クライアントの MCP 設定ファイルを、以下の内容で更新します。
"cloud-run": { "url": "http://localhost:3000/sse" }MCP クライアントが
url属性をサポートしていない場合は、mcp-remote を使用できます。"cloud-run": { "command": "npx", "args": ["-y", "mcp-remote", "http://localhost:3000/sse"] }
OAuth を使用した MCP サーバーの使用
Cloud Run MCP サーバーは、認証方式として OAuth をサポートしています。OAuth を使用するには、OAuth クライアントを作成し、OAuth クライアントに対応する値を設定した .env ファイルを構成します。参照用に .env.example が用意されています。
Cloud Run MCP サーバーは、Google Cloud SDK OAuth クライアントとシームレスに連携します。Google Cloud SDK OAuth クライアントを利用するには、次のように .env.gcloud-sdk-oauth ファイルを .env ファイルとして使用できます。
cp .env.gcloud-sdk-oauth .env
node mcp-server.js
OAuth を使用するように Gemini CLI で MCP サーバーを構成する
Cloud Run MCP サーバーを OAuth モードで起動する場合、MCP クライアントも OAuth を使用するように構成する必要があります。~/.gemini/settings.json ファイルに以下の JSON を使用すると、Gemini CLI で MCP サーバーを OAuth モードに設定できます。
{
"mcpServers": {
"cloud-run": {
"httpUrl": "http://localhost:3000/mcp",
"oauth": {
"enabled": true,
"clientId": "<OAUTH_CLIENT_ID>",
"clientSecret": "<OAUTH_CLIENT_SECRET>"
}
}
}
}
上記のように設定を変更した後、Gemini CLI を起動します。Gemini CLI で次のプロンプトを使用して、Cloud Run MCP サーバーを認証してください。
/mcp auth cloud-run
ブラウザーで認証ページが開くので、該当する Gmail アカウントでログインし、利用規約に同意してください。認証が正常に完了したら、Gemini CLI に戻ると、Cloud Run MCP サーバーを使用できるようになります。
Google Cloud Platform 利用規約(https://cloud.google.com/terms/ で確認できます)およびデータ処理およびセキュリティに関する規約(https://cloud.google.com/terms/data-processing-terms で確認できます)は、Cloud Run MCP Server ソフトウェアのいずれのコンポーネントにも適用されません。
Cloud Run スキル
AI エージェントが Cloud Run で操作を実行できるように、Cloud Run スキルを導入しました。これらのスキルは Gemini CLI やその他のエージェント型 AI ツールで使用できます。スキルは Cloud Run スキルで利用できます。
Cloud Run スキルは Cloud Run 用の gcloud CLI を基盤としており、GCP ユーザーが gcloud CLI で実行できるすべての操作を、エージェントが gcloud を使用して Cloud Run で実行できるようにします。
Cloud Run スキルを使用するには:
gcloudCLI がインストールされており、gcloud auth loginとgcloud auth application-default loginで認証済みであることを確認します。gcloud config set project [PROJECT_ID]でプロジェクトを設定します。- エージェント型 AI ツールでスキルを有効にします。たとえば、ターミナルで次のコマンドを実行すると、Gemini CLI のスキルを有効にできます。
gemini skills install https://github.com/GoogleCloudPlatform/cloud-run-mcp.git --path skills/cloud-run
- スキルを有効にしたら、Cloud Run で操作を実行できます。次のプロンプトを参考にしてください。
-
プロジェクト test-gcp-project のリージョン us-west1 にある Cloud Run サービスを一覧表示してください。
-
フォルダー /home/username/workspace/hello-world を、プロジェクト test-gcp-project のリージョン us-west1 に Cloud Run サービス hello-world としてデプロイしてください。
-
プロジェクト test-gcp-project のリージョン europe-west1 にある Cloud Run ジョブ hello-job の詳細を表示してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。