mcpField
M
MimiOps mcp server for Kubernetes

MimiOps mcp server for Kubernetes

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

MimiOps mcp server for Kubernetes について

MimiOpsは、AIエージェント向けにKubernetesの監視、調査、限定的な復旧操作を提供する方針重視のMCPサーバーです。リスクの高い変更を制限し、Helm、FluxCD、Karpenterの拡張を任意で利用できます。

主な機能

  1. 01クラスターとワークロードの確認
  2. 02ログとイベントの取得
  3. 03限定的な復旧操作
  4. 04Helmリリースの確認とロールバック
  5. 05FluxCDリソースの確認
  6. 06Karpenterノードプールの確認

活用シーン

  1. 01Podやワークロードの問題調査
  2. 02Helmリリース状態の確認
  3. 03FluxCDとKarpenterリソースの確認

MCP 対応

Kubernetesの確認と限定的な復旧のためのツールをMCPクライアントに公開します。破壊的操作は既定で制限され、フラグで有効化できます。拡張機能も選択できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sergelogvinov-mimiops": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/sergelogvinov/mimiops-mcp:v0.5.0"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/sergelogvinov/mimiops-mcp:v0.5.0

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

パッケージ
ocighcr.io/sergelogvinov/mimiops-mcp:v0.5.0

ツール

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

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

詳細

Mimiops MCP Server

動機

Kubernetes ワークロードを管理する方法は数多くありますが、誤って問題を引き起こす方法も数多くあります。 AI エージェントが予期しない操作を行った事例は、すでに確認されています。AI エージェントに Kubernetes への完全なアクセス権を与えることには、特にリソースを直接作成、更新、削除できる場合、大きなリスクがあります。

私の考えでは、AI エージェントには、安全で明確に定義されたツールを提供する必要があります。こうしたツールでは、エージェントが実行できる操作を制限し、変更を適用する前に検証し、危険な操作を防ぐ必要があります。

また、ワークロードの問題を調査し、修正するのに役立つツールも必要です。 多くのワークロードは、Argo CD、FluxCD、Helm などのよく知られたツールや、その他の GitOps またはデプロイシステムによってすでに管理されています。 AI エージェントはリソースの管理者を把握し、これらのツールと競合する可能性のある直接変更を避けるべきです。

目標は、AI に Kubernetes の完全な制御権を与えることではありません。 目標は、AI が問題を理解し、変更を提案し、管理された操作のみを実行できる安全なインターフェースを提供することです。

概要

Mimi OPS は、AI エージェントに制限のない Kubernetes アクセスを与えるようには設計されていません。 その代わり、よく知られた操作を少数に絞り、管理された形で提供します。

エージェントは、状況を把握して調査し、限られた数の安全な復旧操作を実行できます。任意のリソースの編集、YAML の適用、シークレットの変更、永続データの削除など、より危険な操作は厳しく制限されます。

これにより、Mimi OPS は AI エージェントと Kubernetes の間に位置する、独自の方針を持つインターフェースになります。一般的なトラブルシューティングには十分な機能を備えつつ、予期しない変更のリスクを減らせるよう制限されています。

AI の手綱をしっかり握りましょう。

Kubernetes のコアツール

コアツールは常に登録されます。以下の名前は、サーバーが公開する MCP ツール名です。

  • クラスター:clusters_list(マルチクラスター構成の場合のみ)、clusters_describe。
  • Pod:pods_list、pods_get、pods_describe、pods_log。
  • Job:jobs_list、jobs_get、jobs_describe、jobs_log、jobs_create。
  • CronJob:cronjobs_list、cronjobs_get、cronjobs_describe。
  • ノード:nodes_list、nodes_get、nodes_describe。
  • 名前空間:namespaces_list、namespaces_describe。
  • リソース構成:resourcequotas_list、resourcequotas_describe、limitranges_list、limitranges_describe、storageclasses_list、persistentvolumeclaims_list、persistentvolumeclaims_describe、priorityclasses_list。
  • イベント:events_get。
  • ワークロード(Deployment、StatefulSet、DaemonSet):workloads_list、workloads_get、workloads_describe。
  • オートスケーリング:hpa_list、hpa_describe。
  • サービス:services_list、services_describe。

以下の追加の復旧ツールは、--allow-destructive が有効な場合にのみ登録されます。

  • pods_delete — Pod を削除し、そのコントローラーによる再作成を促します。
  • jobs_delete — Job を削除します。
  • cronjobs_suspend、cronjobs_resume — スケジュール実行を一時停止または再開します。
  • workloads_scale — Deployment、StatefulSet、または DaemonSet のスケールを変更します。
Helm 拡張機能

Helm ツールは、デフォルトで --extensions helm によって有効になります。

  • helm_list — Helm リリースを一覧表示します。
  • helm_status — リリースのステータス、リビジョン、および関連情報を確認します。
  • helm_rollback — リリースを前のリビジョンにロールバックします。--allow-destructive が有効な場合のみ使用できます。
FluxCD 拡張機能

--extensions fluxcd(または --extensions all)で FluxCD ツールを有効にします。読み取り専用の確認ツールは次のとおりです。

  • GitRepository:flux_gitrepositories_list、flux_gitrepositories_describe。
  • OCIRepository:flux_ocirepositories_list、flux_ocirepositories_describe。
  • HelmRelease:flux_helmreleases_list、flux_helmreleases_describe。
  • Kustomization:flux_kustomizations_list、flux_kustomizations_describe。

--allow-destructive が有効な場合、Flux では次のツールも公開されます。

  • flux_reconcile — GitRepository、HelmRelease、または Kustomization の即時リコンサイルを開始します。
  • flux_reconciliation — Flux HelmRelease または Kustomization を一時停止または再開します。
Karpenter 拡張機能

--extensions karpenter(または --extensions all)を指定すると、Karpenter ツールを有効にできます。読み取り専用の確認ツールは次のとおりです。

  • NodePool:karpenter_nodepools_list — ノードクラス、ノード数、準備状況、重み、プロビジョニング済みの CPU/メモリと上限を含む NodePool の一覧を表示します。

インストール

brew install sergelogvinov/tap/mimiops-mcp
MCPB 対応クライアント

MimiOPS には、Claude Desktop など、MCP バンドルに対応したクライアント向けの MCPB マニフェストが含まれています。 .mcpb リリースバンドルをダウンロードし、クライアントで開くかインポートしてください。バンドルは次の処理を行います。

  • server/mimiops-mcp mcp を起動します。
  • kubeconfig ファイルの入力を求めます。
  • そのファイルを KUBECONFIG としてサーバーに渡します。
エディターの手動設定

JSON 形式の MCP 設定を使用するクライアントでは、次のようなサーバーエントリーを追加してください。

{
  "mcpServers": {
    "mimiops": {
      "command": "mimiops-mcp",
      "args": ["mcp"]
    }
  }
}

Zed では、context_servers の下にコマンドオブジェクトを指定します。

{
  "context_servers": {
    "mimiops": {
      "command": {
        "path": "mimiops-mcp",
        "args": ["mcp"],
        "env": {
          "KUBECONFIG": "/absolute/path/to/kubeconfig"
        }
      }
    }
  }
}

設定を保存した後、クライアントを再起動するか、再読み込みしてください。 その後、サーバーが mimiops として表示され、以下に記載されているツールが利用できるようになります。

実行

共通フラグ

Kubernetes とアプリケーションのフラグは**グローバル(永続)**であり、mcp、server、tools に継承されます。

フラグデフォルト環境変数説明
--kubeconfig <path>autoKUBECONFIGkubeconfig へのパス。未設定の場合は、デフォルトの Kubernetes 読み込みルールを使用します
--context <name>current contextCONTEXT使用する Kubernetes コンテキスト
--namespace <name>all namespacesNAMESPACE操作のデフォルトの名前空間スコープ
--as <user>unsetASKubernetes の偽装ユーザー
--extensions <list>helmEXTENSIONS有効にする拡張機能をカンマ区切りで指定するか、all を指定します
--allow-destructivefalseALLOW_DESTRUCTIVE破壊的または変更を伴うツールを有効にします
--log-level <level>infoLOG_LEVELdebug、info、warn、または error
--log-format <format>textLOG_FORMATtext または json

Kubernetes クライアントでは、標準の genericclioptions 接続フラグと認証フラグも利用できます。tools コマンドには、次のコマンド固有フラグが追加されます。

コマンドフラグデフォルト説明
tools--output、-otextツールの結果を text、json、または yaml 形式で出力します
server--port8080HTTP/SSE の待ち受けポート。環境変数:PORT

使用できるコマンドは、mcp(stdio)、server(HTTP/SSE)、tools(CLI からの直接実行)、および version です。

例
# stdio with kubeconfig and impersonation
./bin/mimiops-mcp mcp --kubeconfig ~/.kube/dev.yaml --as developer

# SSE server scoped to a namespace, with destructive tools enabled
./bin/mimiops-mcp server --namespace default --allow-destructive --port 8080

# List enabled tools, or invoke one directly from the CLI
./bin/mimiops-mcp tools --extensions all
./bin/mimiops-mcp tools pods_list namespace=default -o json

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

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

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