/ ディレクトリ / プレイグラウンド / Google Cloud Run
● 公式 GoogleCloudPlatform 🔑 自分のキーが必要

Google Cloud Run

作者 GoogleCloudPlatform · GoogleCloudPlatform/cloud-run-mcp

エージェントから Google Cloud Run サービスをデプロイ・管理 — Google 公式 MCP、gcloud 認証と連携します。

Google Cloud Platform 公式 MCP です。コンテナやファイルコンテンツを Cloud Run にデプロイし、サービスの一覧表示・詳細確認・ログ取得が可能です。gcloud アプリケーションデフォルト認証情報(ADC)を使用するため、サービスアカウントの JSON キーファイルを設定に含める必要はありません。エージェント駆動のデプロイや、その場でのログクエリによる診断に最適です。

なぜ使うのか

主な機能

ライブデモ

実際の動作

cloud-run.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cloud-run": {
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "cloud-run": {
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "cloud-run": {
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "cloud-run": {
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "cloud-run",
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "cloud-run": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@google-cloud/cloud-run-mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add cloud-run -- npx -y @google-cloud/cloud-run-mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Google Cloud Run

エージェントから小規模サービスを Cloud Run にデプロイする

👤 バックエンドエンジニア、プロトタイプを素早くリリースしたいソロファウンダー ⏱ ~10 min intermediate

使うタイミング: Node/Python サービスの準備ができていて、コンソールに切り替えずに Cloud Run で公開したいとき。

前提条件
  • gcloud SDK がインストール済みかつ認証済みであることgcloud auth login && gcloud auth application-default login
  • 課金が有効な GCP プロジェクトがあることgcloud projects list
フロー
  1. プロジェクト一覧から対象を選択
    GCP プロジェクトを一覧表示して。'staging' タグが付いたプロジェクトにデプロイしたい。✓ コピーしました
    → プロジェクトが特定される
  2. ローカルフォルダをデプロイ
    ./my-api を Cloud Run サービス 'api-staging' として us-central1 にデプロイして。未認証アクセスを許可。自動検出されたビルドパックを使用。✓ コピーしました
    → デプロイ完了、URL が返される
  3. 動作確認
    サービスの詳細を取得して。URL に curl 風のテストを実行し、200 が返ることを確認。✓ コピーしました
    → 動作するサービス URL

結果: 3〜5 分で Cloud Run サービスが稼働し、エージェントが URL を記録します。

注意点
  • 未認証フラグを設定するとサービスが公開される — ステージングには便利だが本番には不適切 — 本番に近い環境では allow_unauthenticated を省略し IAM を使用。ユーザー向けの場合は Cloud Armor を前段に配置
  • デプロイのたびに新しいリビジョンが作成され、古いリビジョンが残ってリソースを占有する — gcloud で古いリビジョンを定期的にクリーンアップするか、リビジョン保持ポリシーを設定
組み合わせ: fastmcp · fastapi-mcp

ログから Cloud Run サービスを診断する

👤 オンコールエンジニア ⏱ ~10 min intermediate

使うタイミング: Cloud Run サービスが 500 エラーを返している。コンソールを開かずにログを確認したいとき。

フロー
  1. 直近のログを取得
    us-central1 のサービス 'api-prod' の最新 200 件のログエントリを取得して。ERROR 重大度でフィルタ。✓ コピーしました
    → エラーログエントリ
  2. パターンを特定
    エラーをメッセージテンプレートごとにグループ化して。最も多いのはどれ?サンプルのスタックトレースを 1 つ含めて。✓ コピーしました
    → 最多エラーとスタックトレース
  3. 修正案を提示
    スタックトレースに基づいて、原因と思われるコードパスを特定して。エラーが直近のデプロイに集中している場合は、前のリビジョンへのロールバックを推奨して。✓ コピーしました
    → 根本原因の仮説とアクション

結果: アラートからロールバック判断まで 5 分で完了します。

注意点
  • デフォルトのログ保持期間が短い(30 日) — 後から参照する可能性のあるログは、Log Router 経由で BigQuery または GCS にエクスポート
組み合わせ: sentry

MCP サーバー(FastMCP / fastapi-mcp)を Cloud Run にデプロイする

👤 共有 MCP をホスティングするプラットフォームエンジニア ⏱ ~30 min advanced

使うタイミング: MCP サーバーを構築済みで、チーム全体で利用できるようにホスティングしたいとき。

前提条件
  • Dockerfile またはビルドパック対応のプロジェクトがあること — Cloud Run はほとんどの言語でビルドパックを使用可能
フロー
  1. サーバーをデプロイ
    ./my-mcp を Cloud Run サービス 'acme-mcp' として us-central1 にデプロイして。.env.prod から環境変数を設定。認証を必須に。✓ コピーしました
    → IAM 保護下でサービスがデプロイされる
  2. IAM アクセスを付与
    このサービスに対して [email protected] グループに 'roles/run.invoker' ロールを付与して。✓ コピーしました
    → チームが呼び出し可能になる
  3. クライアントを接続
    gcloud run services proxy または IAM トークン付きの mcp-remote 経由で接続する Claude Desktop の設定ファイルを書いて。✓ コピーしました
    → チームがコピペで設定できる

結果: GCP ネイティブ認証を備えたチーム向け MCP が、他のサービスと同じデプロイモデルで稼働します。

注意点
  • Cloud Run のデフォルト 5 分リクエストタイムアウトで SSE 接続が切断される — サービスに --timeout=3600 を設定。MCP 接続にはより長いアイドル許容時間が必要
組み合わせ: fastmcp · fastapi-mcp · mcp-context-forge

組み合わせ

他のMCPと組み合わせて10倍の力を

cloud-run + fastmcp

Python MCP を作成し、同一セッションで Cloud Run にデプロイ

料金 API を公開する FastMCP サーバーをスキャフォールドし、Cloud Run サービス 'pricing-mcp' に IAM 認証付きでデプロイして。✓ コピーしました
cloud-run + sentry

Cloud Run のエラーを Sentry と連携してインシデントトリアージ

Cloud Run サービスのエラー率が急増した場合、Sentry の該当イシューを取得し、スタックトレースを直近のデプロイと照合して。✓ コピーしました
cloud-run + mcp-context-forge

ContextForge 自体を Cloud Run にホストして MCP をフェデレーション

mcp-contextforge-gateway をフェデレーション状態管理用の Redis 付きで Cloud Run にデプロイして。既存の 3 つの MCP をバックエンドとして登録。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
list-projects 対象プロジェクトを確認する(ローカルのみ) free
create-project name, project_id? 新しい GCP プロジェクトを作成する(ローカルのみ) free
list-services project, region? プロジェクト/リージョンで稼働中のサービスを確認する free
get-service project, region, service 特定サービスの設定を確認する free
get-service-log project, region, service, filter?, limit? デバッグ — 直近のログを取得する free
deploy-local-folder folder_path, service, region, project, allow_unauthenticated? ローカルにあるコードをデプロイする(ローカルのみ) free(ビルド)+ Cloud Run のリクエスト単価
deploy-file-contents files: {path,content}[], service, region, project ローカルファイルなしでエージェント生成コードをデプロイする free(ビルド)+ Cloud Run のリクエスト単価

コストと制限

運用コスト

APIクォータ
GCP クォータ — Cloud Run デプロイ API は十分な割り当て
呼び出しあたりのトークン
ログレスポンスは大きくなり得る — ページネーションまたはフィルタを積極的に活用
金額
Cloud Run: 無料枠 約 200 万リクエスト/月、以降 約 $0.40/100 万リクエスト + $0.000024/vCPU 秒
ヒント
重要でないサービスは min-instances=0 に設定 — コールドスタートは増えるがアイドル時のコストはほぼゼロ

セキュリティ

権限、シークレット、影響範囲

最小スコープ: roles/run.admin roles/iam.serviceAccountUser
認証情報の保管: gcloud auth application-default login によるアプリケーションデフォルト認証情報 — キーファイル不要
データ送信先: *.googleapis.com への通信
絶対に付与しない: roles/owner

トラブルシューティング

よくあるエラーと対処法

Permission denied on deploy

アカウントにランタイムサービスアカウントに対する roles/run.admin と roles/iam.serviceAccountUser の両方が必要です。gcloud projects get-iam-policy で確認してください。

Build failed with 'buildpack not detected'

Dockerfile、またはビルドパックが認識するファイル(Node なら package.json、Python なら requirements.txt など)を追加してください。

Service deployed but returns 403

allow_unauthenticated が設定されていないか、呼び出し元の ID に roles/run.invoker がありません。公開にするか IAM で制御するかを決めてください。

SSE MCP connections hang / drop

--timeout=3600 を増やし、コールドスタートによる切断を避けるため min-instances=1 を設定してください。

代替案

Google Cloud Run 他との比較

代替案代わりに使う場面トレードオフ
Vercel (for Next.js)Next.js アプリを特にホスティングしたい場合Next.js 向けの DX はよりシンプル。対応範囲は Cloud Run より狭い
AWS App Runner / Lambda MCPAWS を利用している場合同等のサーバーレスモデル、エコシステムが異なる
Fly.ioデフォルトでグローバルエッジとシンプルな料金体系を求める場合エコシステムは小規模。公式 MCP はまだない

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る