Skip to main content
Glama

쿠버네티스 MCP 서버

GitHub 라이센스 엔피엠 PyPI - 버전 GitHub 릴리스(최신 SemVer) 짓다

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

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 환경에서 안정성과 정확성을 보장하기 위해 광범위한 테스트 모음을 갖추고 있습니다.

Related MCP server: k8s-interactive-mcp

🚀 시작하기

요구 사항

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

MCP 서버를 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
A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
13hResponse time
3wRelease cycle
17Releases (12mo)
Commit activity
Issues opened vs closed

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • The official MCP Server from Mia-Platform to interact with Mia-Platform Console

  • MCP server for Klever blockchain smart contract development.

View all MCP Connectors

Latest Blog Posts

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/containers/kubernetes-mcp-server'

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