mcp-ephemeral-k8s について
mcp-ephemeral-k8s は、Kubernetes 上に一時的な MCP サーバーを作成する Python ライブラリで、MCP サーバーとしても動作します。Node.js と Python のランタイムに対応し、SSE 接続とローカルまたはクラスター内の Kubernetes 設定を利用できます。
主な機能
- 01Kubernetes 上で一時的な MCP サーバーを作成
- 02npx 経由の Node.js と uvx 経由の Python に対応
- 03SSE 接続
- 04ローカル kubeconfig またはクラスター内設定を利用
- 05MCP サーバーとして実行
活用シーン
- 01Kubernetes で短期間の MCP サーバーを起動
- 02SSE 経由で Node.js または Python の MCP ランタイムを公開
- 03ローカルまたはクラスター内の Kubernetes 設定で実行
MCP 対応
Kubernetes 上に一時的な MCP サーバーを作成し、SSE 経由で MCP クライアントに接続を提供します。本体も MCP サーバーとして動作できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-ephemeral-k8s
Server-Sent Events(SSE)を使用して、Kubernetes 上で一時的な Model Context Protocol(MCP)サーバーを起動するための Python ライブラリです。
- Github:https://github.com/BobMerkus/mcp-ephemeral-k8s/
- ドキュメント:https://BobMerkus.github.io/mcp-ephemeral-k8s/docs/
機能
- 複数のランタイムに対応しています。
- Node.js(
npx経由) - Python(
uvx経由)
- Node.js(
uvxまたはnpxランタイムで mcp-proxy を使用できます。- ローカルの kubeconfig とクラスター内設定の両方に対応しています。
- MCP サーバーとして実行できます。
使用方法
MCP サーバーの実行
uvx mcp-ephemeral-k8s
ライブラリの使用
import asyncio
from mcp_ephemeral_k8s import KubernetesSessionManager, presets
async def main():
async with KubernetesSessionManager() as session_manager:
mcp_server = await session_manager.create_mcp_server(
presets.K8S_MCP_SERVER, wait_for_ready=True, expose_port=True
)
print(mcp_server.sse_url)
if __name__ == "__main__":
asyncio.run(main())
Job 'mcp-ephemeral-k8s-proxy-1762291156-x17zuayy' in unknown state, waiting...
http://mcp-ephemeral-k8s-proxy-1762291156-x17zuayy.default.svc.cluster.local:8080/sse
インストール
前提条件
オプション 1:uvx を使用する(推奨)
uvx mcp-ephemeral-k8s
MCP サーバーに接続するには、次の設定を使用します。
{
"mcp-ephemeral-k8s": {
"url": "http://localhost:8000/sse",
"transport": "sse"
}
}
オプション 2:Python パッケージとして使用する
pip install mcp-ephemeral-k8s
mcp-ephemeral-k8s
オプション 3:Helm チャートを使用する
Helm チャートをインストールするには、次を実行します。
helm repo add mcp-ephemeral-k8s https://BobMerkus.github.io/mcp-ephemeral-k8s/
helm repo update
helm install mcp-ephemeral-k8s mcp-ephemeral-k8s/mcp-ephemeral-k8s
Helm チャートをアップグレードするには、次を実行します。
helm upgrade -i mcp-ephemeral-k8s mcp-ephemeral-k8s/mcp-ephemeral-k8s
特定のバージョンをインストールするには、次を実行します。
helm install mcp-ephemeral-k8s mcp-ephemeral-k8s/mcp-ephemeral-k8s --version <replace-with-version>
Helm チャートをアンインストールするには、次を実行します。
helm uninstall mcp-ephemeral-k8s
オプション 4:ソースからインストールする
-
リポジトリをクローンする
git clone https://github.com/BobMerkus/mcp-ephemeral-k8s.git cd mcp-ephemeral-k8s -
開発環境をセットアップする
make install -
pre-commit フックを実行する
make check -
テストを実行する
make test -
Docker イメージをビルドする
make docker-build-local make docker-build-local-proxy -
イメージをクラスターに読み込む
kind load docker-image ghcr.io/bobmerkus/mcp-ephemeral-k8s:latest kind load docker-image ghcr.io/bobmerkus/mcp-ephemeral-k8s-proxy:latest -
Helm チャートをインストールする
helm upgrade -i mcp-ephemeral-k8s charts/mcp-ephemeral-k8s --set image.tag=latest -
MCP サーバーのポートフォワードを設定する
kubectl port-forward svc/mcp-ephemeral-k8s 8000:8000 -
FastAPI サーバーにアクセスする
npx @modelcontextprotocol/inspector --sse http://localhost:8000/sse
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。