☁️ 🚀 Build and Deploy a remote MCP server to Cloud Run in 5 minutes について
Cloud Run にリモート MCP サーバーをデプロイするためのサンプルと手順を提供します。需要に応じた拡張や認証アクセスを備えた集中ホスティングを目指す開発者向けです。
主な機能
- 01Cloud Run デプロイサンプル
- 02リモート MCP サーバーのホスティング
- 03需要に応じたスケーリング
- 04チームでの一元利用
- 05認証リクエストの設定
活用シーン
- 01MCP サーバーのリモートデプロイ
- 02チームでのサーバー共有
- 03未認証リクエストのアクセス制限
MCP 対応
Cloud Run でリモート MCP サーバーを運用する方法と、シンプルなサンプルを紹介します。SSE や Streamable HTTP などのリモート転送方式を扱います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cloud Run 上の MCP
このリポジトリには、リモート Model Context Protocol(MCP)サーバーを Cloud Run にデプロイする方法を紹介するサンプルが含まれています。
クイックスタート
背景
Anthropic の Model Context Protocol(MCP) は、プロンプト、リソース、ツール(コンテキスト)を LLM に接続するためのプロトコルです。
MCP は、ソフトウェア開発向けのコーディングアシスタントや AI 搭載 IDE、さらに外部のツールやリソースへの接続を必要とするエージェント型アプリケーションの普及に伴い、人気が高まっています。
MCP はクライアント・サーバーアーキテクチャを採用しており、長い間、stdio トランスポートを使用してサーバーをローカルで実行する方法のみをサポートしていました。
MCP は現在、2 つの追加トランスポート(sse と streamable-http)をサポートしており、MCP サーバーをリモートで実行できます。これらのトランスポートについて詳しくは、MCP 公式ドキュメントをご覧ください。
MCP サーバーをリモートで実行するメリット
Cloud Run 上で MCP サーバーをリモート実行すると、次のようなメリットがあります。
- 📈 スケーラビリティ:Cloud Run は、受信するすべてのリクエストに対応できるよう、迅速にスケールアウトするように構築されています。需要に応じて、Cloud Run が MCP サーバーを自動的にスケールします。
- 👥 サーバーの一元管理:MCP サーバーを一元管理できる場所に置いてチームメンバーと共有でき、各メンバーは自分のマシンから接続できます。各自がサーバーをローカルで実行する必要はありません。MCP サーバーに変更を加えると、チームメンバー全員がその恩恵を受けられます。
- 🔐 セキュリティ:Cloud Run では、認証済みのリクエストのみを許可する設定を簡単に行えます。これにより、MCP サーバーへの安全な接続のみが許可され、不正アクセスを防止できます。
重要
上記のセキュリティに関する点は非常に重要です。認証を必須にしないと、インターネット上の誰もが MCP サーバーにアクセスして呼び出せる可能性があります。
前提条件
- Python 3.10 以降(FastMCP には 3.10 以降が必要です)
- Google Cloud SDK(gcloud)
- Git(リポジトリのクローン用)
インストール
リポジトリをクローンします
git clone https://github.com/jackwotherspoon/mcp-on-cloudrun.git
cd mcp-on-cloudrun
MCP サーバーのデプロイ :rocket:
1-deploy-mcp-server ディレクトリには、シンプルな MCP サーバーを Cloud Run にデプロイする方法を紹介するサンプルが含まれています。
MCP サーバーをデプロイするには、1-deploy-mcp-server/README.md ファイルの手順に従ってください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。