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. Вместо этого он предоставляет небольшой набор хорошо известных и контролируемых операций.

Агент может наблюдать, расследовать и выполнять ограниченное количество безопасных действий по восстановлению. Более опасные операции, такие как редактирование произвольных ресурсов, применение YAML, изменение секретов или удаление постоянных данных, строго ограничены.

Это делает Mimi OPS целенаправленным интерфейсом между AI-агентами и Kubernetes: достаточно мощным для типичного устранения неполадок, но достаточно ограниченным, чтобы снизить риск непредвиденных изменений.

Базовые инструменты Kubernetes:

  • Pods

    • list — список pod'ов и их текущего статуса.

    • get — получение подробной информации о pod.

    • describe — проверка статуса pod, условий, событий и связанной информации.

    • logs — чтение журналов контейнеров для устранения неполадок.

    • delete — безопасный перезапуск рабочей нагрузки путём удаления pod и разрешения его контроллеру воссоздать его.

  • CronJobs и Jobs

    • list — список CronJobs и Jobs.

    • get — получение информации о конкретном ресурсе.

    • describe — проверка статуса, условий, событий и ошибок.

  • Deployments, StatefulSets и DaemonSets

    • list — список рабочих нагрузок и их текущего статуса.

    • get — получение информации о конкретной рабочей нагрузке.

    • describe — проверка реплик, статуса развёртывания, условий и связанных событий.

Интеграция с Helm

Mimi OPS может проверять рабочие нагрузки, управляемые Helm, и помогать восстанавливать их при сбое развёртывания:

  • list — список Helm-релизов.

  • describe — отображение информации о релизе, статусе, ревизии и связанных ресурсах.

  • rollback — откат релиза к предыдущей рабочей ревизии, когда текущий релиз находится в нерабочем состоянии.

Интеграция с FluxCD

Mimi OPS может работать с ресурсами, управляемыми FluxCD, без прямого изменения ресурсов, контролируемых GitOps:

  • Согласование ресурсов-источников Flux для получения последней конфигурации.

  • Согласование ресурсов HelmRelease для повторной попытки или применения ожидаемого состояния Helm.

  • Проверка статуса согласования и ошибок, чтобы понять, почему развёртывание не готово.

Установка

Сервер MCP (Model Context Protocol) для Kubernetes, написанный на Go. Он предоставляет операции Kubernetes MCP-клиентам (Claude Desktop, Cursor, VS Code и т. д.) через два транспорта:

  • mimiops-mcp mcp — stdio, для настольных MCP-клиентов.

  • mimiops-mcp server — HTTP/SSE, для веб/удалённых MCP-клиентов.

Запуск

Общие флаги

Флаги являются глобальными (постоянными) и принимаются в обеих подкомандах:

Флаг

По умолчанию

Описание

--kubeconfig <path>

auto

Путь к kubeconfig (по умолчанию $KUBECONFIG, затем ~/.kube/config)

--context <name>

current-context

Используемый контекст Kubernetes

--namespace <name>

all namespaces

Ограничить операции пространством имён

--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