MCP Server Kubernetes의 개요
MCP Server Kubernetes는 GitHub 사용자 Flux159가 npm에 mcp-server-kubernetes로 공개한 서버로, 에이전트가 kubectl과 Helm을 통해 클러스터를 살펴보고 변경할 수 있게 합니다. kubectl_get, kubectl_describe, kubectl_logs부터 kubectl_apply, kubectl_delete, exec_in_pod, node_management, 그리고 어떤 kubectl 명령이든 실행하는 kubectl_generic 도구까지 23개의 도구를 제공하며, 문제 해결용 k8s-diagnose 프롬프트도 있습니다. 대부분의 도구는 PATH에 있는 kubectl과 helm 바이너리를 호출하며, 인수를 셸을 거치지 않고 직접 넘깁니다. 포트 포워딩과 연결 확인에는 공식 JavaScript 클라이언트 라이브러리를 씁니다.
기본적으로 ~/.kube/config를 읽고 현재 설정된 컨텍스트를 그대로 씁니다. KUBECONFIG_YAML이나 KUBECONFIG_JSON에 담긴 kubeconfig 전체, K8S_SERVER와 K8S_TOKEN의 서버 주소와 bearer 토큰, 사용자 지정 경로, 파드 안에서 실행될 때의 클러스터 내 ServiceAccount도 받으며, 저장소의 Helm 차트가 이 방식을 지원합니다. 기본 전송 방식은 stdio이고, Streamable HTTP는 ENABLE_UNSAFE_STREAMABLE_HTTP_TRANSPORT로 직접 켜야 하며 선택 사항으로 X-MCP-AUTH 헤더 토큰을 쓸 수 있습니다.
MIT 라이선스 저장소의 GitHub 스타는 약 1,600개입니다. v4.2.1은 2026년 10월 26일에 나왔고, npm 패키지는 10월 26일까지 한 달 동안 약 34,000번 다운로드되었습니다. 공식 MCP 레지스트리에 올라 있습니다.
MCP Server Kubernetes 설치 방법
npx mcp-server-kubernetesMCP Server Kubernetes, 쓸 만한 가치가 있습니까?
문제는 기능 목록이 아니라 기본값입니다. 환경 변수 없이 시작하면 서버는 현재 설정된 kubeconfig 컨텍스트를 대상으로 23개의 도구를 모두 제공합니다. 대부분의 엔지니어에게 이 컨텍스트는 관리자 계정입니다. 그러면 에이전트는 네임스페이스를 삭제하고, 노드를 드레인하고, Helm 릴리스를 제거하고, exec_in_pod로 파드 안에서 명령을 실행하고, kubectl_generic에 무엇이든 넘길 수 있습니다. kubectl_context의 set 작업조차 kubeconfig를 다시 쓰므로, 사용자 자신의 터미널이 쓰는 컨텍스트도 바뀝니다.
범위를 좁히는 스위치는 세 가지이며, 우선순위는 다음 순서입니다. ALLOWED_TOOLS는 정확한 목록을 받으며, 이름이 틀리면 시작하지 않습니다. ALLOW_ONLY_READONLY_TOOLS는 문서화된 7개의 도구만 남깁니다. get, describe, logs, context(전환은 차단), explain_resource, list_api_resources, ping입니다. ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS는 이름보다 약합니다. delete, uninstall, cleanup, 노드 관리, exec, kubectl_generic은 빼지만 kubectl_apply, kubectl_patch, kubectl_scale과 Helm install, upgrade는 남겨 두므로, 에이전트는 여전히 디플로이먼트를 0으로 줄이거나 실행 중인 매니페스트를 덮어쓸 수 있습니다.
Secret은 일부만 가려집니다. kubectl_get은 기본적으로 모든 Secret의 data 값을 ***로 바꾸지만, 문서는 로그와 다른 작업은 대상이 아니라고 분명히 밝힙니다. 기본 모드에서는 kubectl_generic과 exec_in_pod를 모두 쓸 수 있으므로, Secret에 대한 get 권한이 있는 계정은 Secret을 전부 읽을 수 있습니다. 인라인 환경 변수가 있는 파드 명세와 ConfigMap은 어느 모드에서든 가려지지 않은 채 돌아옵니다. 가리기는 편의 기능이고, 실제 통제 수단은 RBAC입니다.
여기서 전용 ServiceAccount가 제 역할을 합니다. 한 네임스페이스에서 Kubernetes 기본 제공 view ClusterRole에 바인딩하면 대부분의 객체는 읽을 수 있지만 Secret, 롤, 롤 바인딩은 읽을 수 없습니다. 따라서 프롬프트 인젝션이 담긴 로그 한 줄도, 서버 버그도 자격 증명에 닿거나 무언가를 쓸 수 없습니다. Kubernetes 자체 지침은 Secret에 대한 list와 watch도 get과 마찬가지로 내용을 드러낸다고 경고합니다. 저장소의 Helm 차트를 본보기로 삼지는 마십시오. 최소 권한이라고 설명된 그 ClusterRole은 클러스터 전체의 Secret에 대한 get, list, watch에 더해 파드와 디플로이먼트 삭제, pods/exec 권한까지 줍니다.
보안 기록은 양면적입니다. 2025년 7월 이후 11건의 보안 권고가 공개되었고 그중 8건은 높음 등급입니다. 명령 인젝션, 운영자의 bearer 토큰을 다른 API 서버로 보낼 수 있던 플래그 인젝션, 임의의 로컬 파일 읽기, 그리고 2026년 5월에는 읽기 전용 모드가 호출을 차단하지 않고 도구를 숨기기만 하던 문제(3.6.0에서 수정)가 있었습니다. 모두 빠르게 수정되었고, 지금 코드는 도구 입력에서 --server, --token, --as 같은 플래그를 차단합니다. 서버 하나치고는 지적 사항이 많으며, 최신 릴리스를 유지해야 할 이유이기도 합니다.
제 역할을 하는 곳
Kubernetes에서 프로덕션을 운영하는 엔지니어 50명 규모 SaaS 기업의 온콜 SRE
쓰기 위험 없이 한 네임스페이스 의 파드가 크래시 루프에 빠진 이유 찾기
ALLOW_ONLY_READONLY_TOOLS=true와, 해당 네임스페이스의 view 롤에 바인딩된 ServiceAccount용 kubeconfig로 실행한 뒤 k8s-diagnose 프롬프트를 호출합니다. 에이전트는 이벤트, describe 출력, 로그를 읽지만 Secret을 읽거나 무언가를 바꿀 수는 없습니다. 서버는 무료이고, 설정은 Role 바인딩 하나면 됩니다.
로컬 minikube나 kind 클러스터로 작업하는 개발자
서비스를 반복 개발하면서 Helm 차트를 설치하고 값을 바꿔 다시 배포하기
이 경우에는 로컬 컨텍스트에서 기본 모드를 써도 무리가 없습니다. install_helm_chart, kubectl_apply, kubectl_rollout이 이 흐름을 다룹니다. 같은 설정으로 프로덕션을 가리키면 같은 에이전트가 네임스페이스를 삭제할 수 있으므로, kubeconfig의 현재 컨텍스트는 로컬 클러스터에 두십시오.
공유 클러스터에 에이전트 접근을 허용할지 정하는 핀테크 기업의 플랫폼 팀장
어떤 에이전트 동작을 허용할지 정책 정하기
ALLOWED_TOOLS=kubectl_get,kubectl_describe,kubectl_logs는 노출 범위를 고정하고 오타가 있으면 시작 단계에서 실패하며, OpenTelemetry 추적이 모든 호출을 기록합니다. 더 큰 결정은 그 뒤에 있는 RBAC 롤입니다. Helm 차트의 기본값은 클러스터의 모든 Secret을 읽을 수 있기 때문입니다.
도입 전 확인할 점
- 설정
- PATH에 kubectl이 있고 kubeconfig가 작동해야 합니다(Helm 3는 선택). 그런 다음 claude mcp add kubernetes -- npx mcp-server-kubernetes를 실행하거나, Claude Desktop, VS Code, Cursor, Codex에서 같은 npx 명령을 씁니다. mcpb 번들, Docker 이미지, Helm 차트도 제공됩니다. 터미널에서 kubectl get pods가 작동한다면 첫 호출까지 몇 분이면 됩니다.
- 연동
- 23개의 도구가 있습니다. 읽기 도구(kubectl_get, kubectl_describe, kubectl_logs, explain_resource, list_api_resources, ping), 쓰기 도구(kubectl_apply, kubectl_create, kubectl_patch, kubectl_scale, kubectl_rollout, Helm install, upgrade, uninstall), 파괴적 도구(kubectl_delete, cleanup, node_management, exec_in_pod, kubectl_generic)에 더해 포트 포워딩과 컨텍스트 전환이 있습니다. 선택 사항으로 OpenTelemetry를 어떤 OTLP 백엔드로든 내보낼 수 있습니다.
- 데이터와 개인정보
- kubeconfig 계정이 할 수 있는 일은 무엇이든 할 수 있으며, 기본값에서는 kubectl_generic이나 exec_in_pod로 Secret을 전부 읽는 일도 포함됩니다. 파드 로그, 이벤트, 어노테이션은 모델에 닿는 신뢰할 수 없는 텍스트이며, 여러 보안 권고가 토큰 유출을 바로 이 경로로 설명합니다. HTTP 모드는 기본적으로 DNS 리바인딩 보호를 켠 채 localhost에 바인딩하지만, MCP_AUTH_TOKEN을 설정하지 않으면 토큰을 요구하지 않습니다.
- 대규모 사용 시 비용
- 무료이며 클러스터 비용은 평소대로 청구됩니다. 늘어나는 비용은 API 서버 부하와 컨텍스트입니다. 큰 클러스터에서 모든 네임스페이스에 걸친 list 호출은 기본 1 MB 출력 버퍼를 넘칠 수 있으며, SPAWN_MAX_BUFFER로 늘릴 수 있습니다.
- 제한
- 로컬에 kubectl과 helm 바이너리가 필요합니다. 자체 승인 단계가 없으므로 확인 절차는 MCP 클라이언트에 달려 있습니다. 가리기는 Secret에 대한 kubectl_get에만 적용됩니다. Helm 차트의 HTTP 모드는 security.mcpAuthToken을 설정하지 않으면 인증 없는 요청을 받습니다.
좋은 점
- 23개의 도구가 kubectl, Helm, 로그, 포트 포워딩, 노드 작업을 다룹니다
- 3.6.0부터 읽기 전용 모드와 정확한 허용 목록 모드가 호출 시점에 적용됩니다
- kubectl_get 출력에서 Secret 값이 기본적으로 가려집니다
- 클러스터 내 ServiceAccount를 포함해 자격 증명 출처가 다양합니다
아쉬운 점
- 기본 모드에 delete, exec_in_pod, 원시 kubectl이 포함됩니다
- 비파괴 모드에서도 apply, patch, scale을 쓸 수 있습니다
- 보안 권고가 11건이며 그중 8건이 높음 등급입니다
- Helm 차트의 기본 ClusterRole은 모든 Secret을 읽을 수 있습니다
추천 대상
에이전트에게 kubectl로 클러스터를 조사하게 하되, 먼저 범위를 제한한 ServiceAccount와 읽기 전용 모드를 줄 플랫폼 엔지니어입니다.
MCP Server Kubernetes 대안
MCP Server Kubernetes: 자주 묻는 질문
- MCP Server Kubernetes, 쓸 만한 가치가 있습니까?
- 범위가 넓고 패치도 활발하지만, 기본 상태에서는 현재 컨텍스트에 대한 삭제, exec, 원시 kubectl 권한을 에이전트에게 넘깁니다. Secret을 볼 수 없는 ServiceAccount로 읽기 전용 모드에서 실행하십시오. 평점은 5점 만점에 3.8점입니다.
- MCP Server Kubernetes의 가격은 얼마입니까?
- 무료 오픈소스입니다(MIT). 비용은 연결하는 클러스터에 대해서만 냅니다.
- MCP Server Kubernetes의 단점은 무엇입니까?
- 기본 모드에 delete, exec_in_pod, 원시 kubectl이 포함됩니다; 비파괴 모드에서도 apply, patch, scale을 쓸 수 있습니다; 보안 권고가 11건이며 그중 8건이 높음 등급입니다; Helm 차트의 기본 ClusterRole은 모든 Secret을 읽을 수 있습니다.
- MCP Server Kubernetes에 적합한 사람은 누구입니까?
- 에이전트에게 kubectl로 클러스터를 조사하게 하되, 먼저 범위를 제한한 ServiceAccount와 읽기 전용 모드를 줄 플랫폼 엔지니어입니다.
- 팀이나 프로덕션 환경에서 MCP Server Kubernetes의 비용은 얼마입니까?
- 무료이며 클러스터 비용은 평소대로 청구됩니다. 늘어나는 비용은 API 서버 부하와 컨텍스트입니다. 큰 클러스터에서 모든 네임스페이스에 걸친 list 호출은 기본 1 MB 출력 버퍼를 넘칠 수 있으며, SPAWN_MAX_BUFFER로 늘릴 수 있습니다.
- MCP Server Kubernetes에 회사 데이터를 맡겨도 안전합니까?
- kubeconfig 계정이 할 수 있는 일은 무엇이든 할 수 있으며, 기본값에서는 kubectl_generic이나 exec_in_pod로 Secret을 전부 읽는 일도 포함됩니다. 파드 로그, 이벤트, 어노테이션은 모델에 닿는 신뢰할 수 없는 텍스트이며, 여러 보안 권고가 토큰 유출을 바로 이 경로로 설명합니다. HTTP 모드는 기본적으로 DNS 리바인딩 보호를 켠 채 localhost에 바인딩하지만, MCP_AUTH_TOKEN을 설정하지 않으면 토큰을 요구하지 않습니다.
- MCP Server Kubernetes의 가장 좋은 대안은 무엇입니까?
- 저희가 리뷰한 것 중 가장 가까운 대안은 AWS MCP Server, Azure MCP Server, Terraform MCP Server 및 Grafana MCP Server입니다.
답변 확인일: 2026년 10월 28일.
