Skip to main content
Glama

kubernetes-mcp-server

쿠버네티스 MCP 서버

✨ 기능 | 🚀 시작하기 | 🎥 데모 | ⚙️ 구성 | 🛠️ 도구 | 🧑‍💻 개발

https://github.com/user-attachments/assets/be2b67b3-fc1c-4d11-ae46-93deba8ed98e

✨ 특징

KubernetesOpenShift를 지원하는 강력하고 유연한 Kubernetes Model Context Protocol(MCP) 서버 구현입니다.

  • ✅ 구성 :
    • Kubernetes 구성의 변경 사항을 자동으로 감지하고 MCP 서버를 업데이트합니다.
    • 현재 Kubernetes .kube/config 또는 클러스터 내 구성을 보고 관리합니다.
  • ✅ 일반 Kubernetes 리소스 : 모든 Kubernetes 또는 OpenShift 리소스에 대한 작업을 수행합니다.
    • 모든 CRUD 작업(생성 또는 업데이트, 가져오기, 나열, 삭제).
  • ✅ Pod : Pod별 작업을 수행합니다.
    • 모든 네임스페이스 또는 특정 네임스페이스의 포드를 나열합니다 .
    • 지정된 네임스페이스에서 이름으로 포드를 가져옵니다 .
    • 지정된 네임스페이스에서 이름으로 Pod를 삭제합니다 .
    • 지정된 네임스페이스에서 이름으로 Pod에 대한 로그를 표시합니다 .
    • 포드에 exec를 넣고 명령을 실행합니다.
    • 포드에서 컨테이너 이미지를 실행 하고 선택적으로 노출합니다.
  • ✅ 네임스페이스 : Kubernetes 네임스페이스를 나열합니다.
  • ✅ 이벤트 : 모든 네임스페이스 또는 특정 네임스페이스의 Kubernetes 이벤트를 확인합니다.
  • ✅ 프로젝트 : OpenShift 프로젝트를 나열하세요.
  • ☸️ 헬멧 :
    • 현재 또는 제공된 네임스페이스에 Helm 차트를 설치합니다 .
    • 모든 네임스페이스 또는 특정 네임스페이스의 Helm 릴리스를 나열합니다 .
    • 현재 또는 제공된 네임스페이스에서 Helm 릴리스를 제거합니다 .

다른 쿠버네티스 MCP 서버 구현과 달리, 이 구현은 단순히 kubectl 이나 helm 명령줄 도구를 감싸는 래퍼가 아닙니다 . 쿠버네티스 API 서버와 직접 상호 작용하는 Go 기반 네이티브 구현 입니다.

시스템에 외부 종속성이나 도구를 설치할 필요가 없습니다 . 네이티브 바이너리를 사용하는 경우 시스템에 Node.js나 Python을 설치할 필요가 없습니다.

  • ✅ 가벼움 : 이 서버는 Linux, macOS, Windows용 단일 네이티브 바이너리로 배포됩니다.
  • ✅ 고성능/낮은 지연 시간 : 외부 명령을 호출하고 기다리는 오버헤드 없이 Kubernetes API 서버와 직접 상호 작용합니다.
  • ✅ 크로스 플랫폼 : Linux, macOS, Windows용 네이티브 바이너리, npm 패키지, Python 패키지, 컨테이너/Docker 이미지로 제공됩니다.
  • ✅ 구성 가능 : 서버 동작을 구성하기 위한 명령줄 인수를 지원합니다.
  • ✅ 철저한 테스트 : 이 서버는 다양한 Kubernetes 환경에서 안정성과 정확성을 보장하기 위해 광범위한 테스트 모음을 갖추고 있습니다.

🚀 시작하기

요구 사항

  • Kubernetes 클러스터에 액세스합니다.

클로드 데스크탑

npx 사용하기

npm이 설치되어 있다면 Claude Desktop에서 kubernetes-mcp-server 시작하는 가장 빠른 방법입니다.

claude_desktop_config.json 열고 mcpServers 목록에 mcp 서버를 추가합니다.

지엑스피1

VS 코드 / VS 코드 인사이더

다음 링크를 눌러 VS Code Insiders에서 Kubernetes MCP 서버 확장 프로그램을 설치하세요.

또는 다음 명령을 실행하여 확장 프로그램을 수동으로 설치할 수 있습니다.

# For VS Code code --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}' # For VS Code Insiders code-insiders --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'

구스 CLI

Goose CLI는 인공지능(AI) 에이전트를 사용하는 가장 쉽고 저렴한 방법입니다.

npm 사용하기

npm이 설치되어 있다면 kubernetes-mcp-server 시작하는 가장 빠른 방법입니다.

goose config.yaml 열고 mcpServers 목록에 mcp 서버를 추가합니다.

extensions: kubernetes: command: npx args: - -y - kubernetes-mcp-server@latest

🎥 데모

OpenShift 배포 진단 및 자동 수정

Claude Desktop이 Kubernetes MCP 서버를 활용하여 사용자 지원 없이 OpenShift에서 배포를 자동으로 진단하고 수정하는 방법을 보여주는 데모입니다.

https://github.com/user-attachments/assets/a576176d-a142-4c19-b9aa-a83dc4b8d941

간단한 게임을 Vibe 코딩 하여 OpenShift에 배포

이 데모에서는 VS Code를 사용하여 간단한 게임을 Vibe Coding하는 과정과 Podman MCP 서버 와 Kubernetes MCP 서버를 활용하여 이를 OpenShift에 배포하는 방법을 안내해 드립니다.

VS Code에서 Kubernetes MCP 서버로 GitHub Copilot을 강화하세요 - 클릭 한 번으로 설정하세요!

이 데모에서는 링크를 클릭하기만 하면 VS 코드에서 Kubernetes MCP 서버를 설정하는 방법을 보여드리겠습니다.

⚙️ 구성

Kubernetes MCP 서버는 명령줄(CLI) 인수를 사용하여 구성할 수 있습니다.

npx , uvx 사용하거나 최신 릴리스 바이너리를 다운로드하여 CLI 실행 파일을 실행할 수 있습니다.

# Run the Kubernetes MCP server using npx (in case you have npm and node installed) npx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using uvx (in case you have uv and python installed) uvx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using the latest release binary ./kubernetes-mcp-server --help

구성 옵션

옵션설명
--sse-portMCP 서버를 SSE(Server-Sent Event) 모드로 시작하고 지정된 포트에서 수신 대기합니다.
--log-level로깅 수준을 설정합니다( 0~9 ). kubectl 로깅 수준 과 유사합니다.
--kubeconfig쿠버네티스 구성 파일의 경로입니다. 지정하지 않으면 구성(클러스터 내, 기본 위치 등)을 확인하려고 시도합니다.
--read-only이 옵션을 설정하면 MCP 서버가 읽기 전용 모드로 실행되어 Kubernetes 클러스터에서 쓰기 작업(생성, 업데이트, 삭제)을 허용하지 않습니다. 이는 클러스터를 변경하지 않고 디버깅하거나 검사하는 데 유용합니다.
--disable-destructive이 옵션을 설정하면 MCP 서버가 Kubernetes 클러스터에서 모든 파괴적인 작업(삭제, 업데이트 등)을 비활성화합니다. 이는 실수로 클러스터를 변경하지 않고 디버깅하거나 검사하는 데 유용합니다. --read-only 옵션을 사용하면 이 옵션은 적용되지 않습니다.

🛠️ 도구

configuration_view

현재 Kubernetes 구성 콘텐츠를 kubeconfig YAML로 가져옵니다.

매개변수:

  • minified ( boolean , 선택 사항, 기본값: true )
    • 구성의 축소된 버전을 반환합니다.
    • true 인 경우 현재 컨텍스트와 관련 구성 부분만 유지합니다.
    • false 인 경우 모든 컨텍스트, 클러스터, 인증 정보 및 사용자를 반환합니다.

events_list

모든 네임스페이스에서 현재 클러스터의 모든 Kubernetes 이벤트를 나열합니다.

매개변수:

  • namespace ( string , 선택 사항)
    • 이벤트를 검색할 네임스페이스입니다. 지정하지 않으면 모든 네임스페이스의 이벤트가 나열됩니다.

helm_install

제공된 이름과 차트를 사용하여 현재 또는 제공된 네임스페이스에 Helm 차트를 설치합니다.

매개변수:

  • chart ( string , 필수)
    • 설치할 Helm 차트의 이름
    • 로컬 경로 또는 원격 URL이 될 수 있습니다.
    • 예: ./my-chart.tgz 또는 https://example.com/my-chart.tgz
  • values ( object , 선택 사항)
    • Helm 차트에 전달할 값
    • 예: {"key": "value"}
  • name ( string , 선택 사항)
    • Helm 릴리스의 이름
    • 제공되지 않으면 임의의 이름이 지정됩니다.
  • namespace ( string , 선택 사항)
    • Helm 차트를 설치할 네임스페이스
    • 제공되지 않으면 구성된 네임스페이스를 사용합니다.

helm_list

현재 또는 제공된 네임스페이스(또는 지정된 경우 모든 네임스페이스)에 있는 모든 Helm 릴리스를 나열합니다.

매개변수:

  • namespace ( string , 선택 사항)
    • Helm 릴리스를 나열할 네임스페이스
    • 제공되지 않으면 구성된 네임스페이스를 사용합니다.
  • all_namespaces ( boolean , 선택 사항)
    • true 경우 모든 네임스페이스의 Helm 릴리스가 나열됩니다.
    • false 경우 지정된 네임스페이스에서 Helm 릴리스를 나열합니다.

helm_uninstall

제공된 이름을 사용하여 현재 또는 제공된 네임스페이스에서 Helm 릴리스를 제거합니다.

매개변수:

  • name ( string , 필수)
    • 제거할 Helm 릴리스의 이름
  • namespace ( string , 선택 사항)
    • Helm 릴리스를 제거할 네임스페이스
    • 제공되지 않으면 구성된 네임스페이스를 사용합니다.

namespaces_list

현재 클러스터의 모든 Kubernetes 네임스페이스를 나열합니다.

매개변수: 없음

pods_delete

제공된 이름을 사용하여 현재 또는 제공된 네임스페이스에서 Kubernetes Pod를 삭제합니다.

매개변수:

  • name ( string , 필수)
    • 삭제할 Pod의 이름
  • namespace ( string , 필수)
    • Pod를 삭제할 네임스페이스

pods_exec

제공된 이름과 명령을 사용하여 현재 또는 제공된 네임스페이스의 Kubernetes Pod에서 명령을 실행합니다.

매개변수:

  • command ( string[] , 필수)
    • Pod 컨테이너에서 실행할 명령
    • 첫 번째 항목은 명령이고 나머지는 인수입니다.
    • 예: ["ls", "-l", "/tmp"]
  • name (문자열, 필수)
    • 포드의 이름
  • namespace (문자열, 필수)
    • Pod의 네임스페이스
  • container ( string , 선택 사항)
    • 로그를 가져올 Pod 컨테이너의 이름

pods_get

제공된 이름으로 현재 또는 제공된 네임스페이스에서 Kubernetes Pod를 가져옵니다.

매개변수:

  • name ( string , 필수)
    • 포드의 이름
  • namespace ( string , 필수)
    • Pod를 가져올 네임스페이스

pods_list

모든 네임스페이스에서 현재 클러스터의 모든 Kubernetes 포드를 나열합니다.

매개변수:

  • labelSelector ( string , 선택 사항)
    • Kubernetes 레이블 선택기(예: 'app=myapp,env=prod' 또는 'app in (myapp,yourapp)'). 레이블별로 포드를 필터링하려면 이 옵션을 사용하세요.

pods_list_in_namespace

현재 클러스터의 지정된 네임스페이스에 있는 모든 Kubernetes 포드를 나열합니다.

매개변수:

  • namespace ( string , 필수)
    • 포드를 나열할 네임스페이스
  • labelSelector ( string , 선택 사항)
    • Kubernetes 레이블 선택기(예: 'app=myapp,env=prod' 또는 'app in (myapp,yourapp)'). 레이블별로 포드를 필터링하려면 이 옵션을 사용하세요.

pods_log

제공된 이름을 사용하여 현재 또는 제공된 네임스페이스의 Kubernetes Pod 로그를 가져옵니다.

매개변수:

  • name ( string , 필수)
    • 로그를 가져올 Pod의 이름
  • namespace ( string , 필수)
    • Pod 로그를 가져올 네임스페이스
  • container ( string , 선택 사항)
    • 로그를 가져올 Pod 컨테이너의 이름

pods_run

제공된 컨테이너 이미지와 선택적 이름을 사용하여 현재 또는 제공된 네임스페이스에서 Kubernetes Pod를 실행합니다.

매개변수:

  • image ( string , 필수)
    • Pod에서 실행할 컨테이너 이미지
  • namespace ( string , 필수)
    • Pod를 실행할 네임스페이스
  • name ( string , 선택 사항)
    • 포드 이름(제공되지 않으면 무작위 이름)
  • port ( number , 선택사항)
    • Pod 컨테이너에서 노출할 TCP/IP 포트
    • 제공되지 않으면 포트가 노출되지 않습니다.

projects_list

현재 클러스터의 모든 OpenShift 프로젝트를 나열합니다.

resources_create_or_update

리소스의 YAML 또는 JSON 표현을 제공하여 현재 클러스터에서 Kubernetes 리소스를 생성하거나 업데이트합니다.

매개변수:

  • resource ( string , 필수)
    • Kubernetes 리소스의 표현을 포함하는 JSON 또는 YAML
    • apiVersion, kind, metadata, spec과 같은 최상위 필드를 포함해야 합니다.

일반적인 apiVersion과 종류는 다음과 같습니다.

  • v1 포드
  • v1 서비스
  • v1 노드
  • 앱/v1 배포
  • networking.k8s.io/v1 인그레스

resources_delete

현재 클러스터에서 Kubernetes 리소스 삭제

매개변수:

  • apiVersion ( string , 필수)
    • 리소스의 apiVersion(예: v1 , apps/v1 , networking.k8s.io/v1 )
  • kind ( string , 필수)
    • 리소스 종류(예: Pod , Service , Deployment , Ingress )
  • name ( string , 필수)
    • 리소스의 이름
  • namespace ( string , 선택 사항)
    • 네임스페이스 리소스를 삭제할 네임스페이스
    • 클러스터 범위 리소스에 대해 무시됨
    • 제공되지 않으면 구성된 네임스페이스를 사용합니다.

resources_get

현재 클러스터에서 Kubernetes 리소스 가져오기

매개변수:

  • apiVersion ( string , 필수)
    • 리소스의 apiVersion(예: v1 , apps/v1 , networking.k8s.io/v1 )
  • kind ( string , 필수)
    • 리소스 종류(예: Pod , Service , Deployment , Ingress )
  • name ( string , 필수)
    • 리소스의 이름
  • namespace ( string , 선택 사항)
    • 네임스페이스가 지정된 리소스를 검색할 네임스페이스
    • 클러스터 범위 리소스에 대해 무시됨
    • 제공되지 않으면 구성된 네임스페이스를 사용합니다.

resources_list

현재 클러스터의 Kubernetes 리소스 및 객체 나열

매개변수:

  • apiVersion ( string , 필수)
    • 리소스의 apiVersion(예: v1 , apps/v1 , networking.k8s.io/v1 )
  • kind ( string , 필수)
    • 리소스 종류(예: Pod , Service , Deployment , Ingress )
  • namespace ( string , 선택 사항)
    • 네임스페이스 리소스를 검색할 네임스페이스
    • 클러스터 범위 리소스에 대해 무시됨
    • 제공되지 않으면 모든 네임스페이스의 리소스를 나열합니다.
  • labelSelector ( string , 선택 사항)
    • Kubernetes 레이블 선택기(예: 'app=myapp,env=prod' 또는 'app in (myapp,yourapp)'). 레이블별로 포드를 필터링하려면 이 옵션을 사용하세요.

🧑‍💻 개발

mcp-inspector로 실행

프로젝트를 컴파일하고 mcp-inspector 로 Kubernetes MCP 서버를 실행하여 MCP 서버를 검사합니다.

# Compile the project make build # Run the Kubernetes MCP server with mcp-inspector npx @modelcontextprotocol/inspector@latest $(pwd)/kubernetes-mcp-server

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    This project is intended as a both MCP server connecting to Kubernetes and a library to build more servers for any custom resources in Kubernetes.
    Last updated -
    279
    Go
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Provides MCP multi-cluster Kubernetes management and operations, featuring a management interface, logging, and nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
    Last updated -
    487
    Go
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Provides MCP multi-cluster Kubernetes management and operations. It can be integrated as an SDK into your own project and includes nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
    Last updated -
    115
    Go
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Open source MCP server specializing in easy, fast, and secure tools for Databases.
    Last updated -
    1,430
    Go
    Apache 2.0
    • Linux

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/manusa/kubernetes-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server