mcpField
M
mcp-ephemeral-k8s

mcp-ephemeral-k8s

ローカル
github.com/BobMerkusクラウド・インフラ238 週間前に更新

mcp-ephemeral-k8s について

mcp-ephemeral-k8s は、Kubernetes 上に一時的な MCP サーバーを作成する Python ライブラリで、MCP サーバーとしても動作します。Node.js と Python のランタイムに対応し、SSE 接続とローカルまたはクラスター内の Kubernetes 設定を利用できます。

主な機能

  1. 01Kubernetes 上で一時的な MCP サーバーを作成
  2. 02npx 経由の Node.js と uvx 経由の Python に対応
  3. 03SSE 接続
  4. 04ローカル kubeconfig またはクラスター内設定を利用
  5. 05MCP サーバーとして実行

活用シーン

  1. 01Kubernetes で短期間の MCP サーバーを起動
  2. 02SSE 経由で Node.js または Python の MCP ランタイムを公開
  3. 03ローカルまたはクラスター内の Kubernetes 設定で実行

MCP 対応

Kubernetes 上に一時的な MCP サーバーを作成し、SSE 経由で MCP クライアントに接続を提供します。本体も MCP サーバーとして動作できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ephemeral-k8s": {
"command": "uvx",
"args": [
"mcp-ephemeral-k8s"
]
}
}
}
起動コマンドuvx mcp-ephemeral-k8s

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-ephemeral-k8s

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-ephemeral-k8s

Release Build status codecov Commit activity License

Server-Sent Events(SSE)を使用して、Kubernetes 上で一時的な Model Context Protocol(MCP)サーバーを起動するための Python ライブラリです。

機能

  • 複数のランタイムに対応しています。
    • Node.js(npx 経由)
    • Python(uvx 経由)
  • 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

インストール

前提条件
  • Docker
  • Kind または有効な kubectl 設定を持つ任意の Kubernetes クラスター
オプション 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:ソースからインストールする
  1. リポジトリをクローンする

    git clone https://github.com/BobMerkus/mcp-ephemeral-k8s.git
    cd mcp-ephemeral-k8s
    
  2. 開発環境をセットアップする

    make install
    
  3. pre-commit フックを実行する

    make check
    
  4. テストを実行する

    make test
    
  5. Docker イメージをビルドする

    make docker-build-local
    make docker-build-local-proxy
    
  6. イメージをクラスターに読み込む

    kind load docker-image ghcr.io/bobmerkus/mcp-ephemeral-k8s:latest
    kind load docker-image ghcr.io/bobmerkus/mcp-ephemeral-k8s-proxy:latest
    
  7. Helm チャートをインストールする

    helm upgrade -i mcp-ephemeral-k8s charts/mcp-ephemeral-k8s --set image.tag=latest
    
  8. MCP サーバーのポートフォワードを設定する

    kubectl port-forward svc/mcp-ephemeral-k8s 8000:8000
    
  9. FastAPI サーバーにアクセスする

    npx @modelcontextprotocol/inspector --sse http://localhost:8000/sse
    

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。