Skip to main content
Glama

Mimiops MCP Server

動機

Kubernetesワークロードを管理する方法は数多くありますが、誤って壊してしまう方法も同じように数多くあります。AIエージェントが私たちの想定とは異なることを行う事例は既に確認されています。AIエージェントにKubernetesへの完全なアクセス権を与えることは、特にリソースを直接作成・更新・削除できる場合には、危険を伴います。

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

また、ワークロードの問題を調査し修正するためのツールも必要です。多くのワークロードは、Argo CD、FluxCD、Helm、その他のGitOpsやデプロイメントシステムといった、よく知られたツールで管理されています。AIエージェントは、リソースを管理しているのが誰かを理解し、それらのツールと競合する直接的な変更を避けるべきです。

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

Related MCP server: mcp-devops-server

概要

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

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

これにより、Mimi OPSは、AIエージェントとKubernetesの間の「方針を持つ」(opinionated)なインターフェースとなっています。一般的なトラブルシューティングには十分な高がありますが、想定外の変更のリスクを減らすには十分に制限されています。

Kubernetes基本ツール

  • Pods

    • list — ポッドとその現在のステータスを一覧表示します。

    • get — ポッドの詳細情報を取得します。

    • describe — ポッドのステータス、コンディション、イベント、関連情報を調査します。

    • logs — トラブルシューティングのためにコンテナログを読み取ります。

    • delete — ポッドを削除し、そのコントローラーに再作成させることで、ワークロードを安全に再起動します。

  • CronJobsとJobs

    • list — CronJobsとJobsを一覧表示します。

    • get — 特定のリソースに関する情報を取得します。

    • describe — 状態、コンディション、イベント、障害を調査します。

  • Deployments、StatefulSets、DaemonSets

    • list — ワークロードとその現在のステータスを一覧表示します。

    • get — 特定のワークロードに関する情報を取得します。

    • describe — レプリカ数、ロールアウト状態、コンディション、関連イベントを調査します。

Helm統合

Mimi OPSは、Helmで管理されるワークロードを調べ、デプロイが失敗したときの復旧を支援します。

  • list — Helmリリースの一覧を作成します。

  • describe — リリース情報、ステータス、リビジョンおよび関連リソースを表示します。

  • rollback — 現在のリリースが壊れた状態にある場合、以前の正常なリビジョンにロールバックします。

FluxCD 統合

Mimi OPSは、GitOpsが管理するリソースを直接変更することなく、FluxCDが管理するリソースを取り扱えます。。

  • Fluxソースリソースを Reconcile し、最新の設定を取得します。

  • HelmRelease リソースを Reconcile し、期待される Helm の状態を再試行または適用します。

  • Reconcile 状態とエラーを調査して、デプロイが準備の完了しない理由を理解します。

インストール

Goで書かれたKubernetes **MCP(Model Context Protocol)**サーバーです。MCPのクライアント(Claude Desktop、Cursor、VS Codeなど)へ2つのトランスポートでKubernetesの操作を公開しています。

  • mimiops-mcp mcp — stdio。デスクトップ MCP クライアント向け。

  • mimiops-mcp server — HTTP/SSE。Web/リモート MCP クライアント向け。

実行

共通フラグ

フラグは**グローバル(永続)**です。すべてのサブコマンドで有効です。

フラグ

デフォルト

説明

--kubeconfig <path>

自動

kubeconfig へのパス(既定では$KUBECONFIG、次に~/.kube/config)

--context <name>

current-context

使用する Kubernetes のコンテキスト

--namespace <name>

すべてのネームスペース

操作を特定のネームスペースに限定する

--allow-destructive

false

破壊的なツール(例:pods_delete)を有効にする

--log-level <level>

info

debug、info、warn、error

コマンドごとのフラグ:

コマンド

フラグ

デフォルト

説明

server

--port

8080

HTTP/SSE のリッスンポート

使用例

# stdio against a specific context
./bin/mimiops-mcp mcp --kubeconfig ~/.kube/dev.yaml --context prod-east

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

開発

make lint       # golangci-lint
make unit       # unit tests (build tag `unit`)
make test       # lint + unit
make licenses   # license audit (forbidden/restricted/unknown)
make docs       # (Docker image docs targets are also available; see `make help`)

make help で、ターゲット一覧を全件確認できます。

ライセンス

Apache-2.0

Related MCP Connectors

Related MCP Servers