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 — Pods와 현재 상태를 나열합니다.

    • 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는 GitOps로 제어되는 리소스를 직접 변경하지 않고 FluxCD로 관리되는 리소스와 함께 작동할 수 있습니다:

  • Flux 소스 리소스를 재조정하여 최신 구성을 가져옵니다.

  • HelmRelease 리소스를 재조정하여 예상되는 Helm 상태를 재시도하거나 적용합니다.

  • 재조정 상태와 오류를 검사하여 배포가 준비되지 않은 이유를 이해합니다.

설치

Go로 작성된 Kubernetes MCP(Model Context Protocol) 서버입니다. 두 가지 전송 방식으로 MCP 클라이언트(Claude Desktop, Cursor, VS Code 등)에 Kubernetes 작업을 노출합니다:

  • mimiops-mcp mcp — 데스크톱 MCP 클라이언트용 stdio.

  • mimiops-mcp server — 웹/원격 MCP 클라이언트용 HTTP/SSE.

실행

공통 플래그

플래그는 전역(영구적) 이며 두 하위 명령 모두에서 허용됩니다:

플래그

기본값

설명

--kubeconfig <path>

자동

kubeconfig 경로(기본값은 $KUBECONFIG 다음 ~/.kube/config)

--context <name>

현재-컨텍스트

사용할 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