local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Allows management of Kubernetes clusters through kubectl commands, providing tools for creating and managing deployments, pods, services, namespaces, and other resources, as well as performing operations like scaling, port forwarding, and viewing logs and events.
MCP 쿠버네티스 서버
이는 LLM과의 상호작용을 통해 Kubernetes 클러스터에 대한 제어를 제공하는 Kubernetes용 MCP(Model Context Protocol) 서버입니다.
개요
이 클라이언트는 MCP 도구를 통해 일반적인 쿠버네티스 작업을 수행할 수 있도록 합니다. kubectl
명령을 래핑하여 쿠버네티스 리소스를 관리하기 위한 간단한 인터페이스를 제공합니다. 모델 컨텍스트 프로토콜(MCP)은 언어 모델과 쿠버네티스 작업 간의 원활한 상호 작용을 지원합니다.
MCP란 무엇인가요?
모델 컨텍스트 프로토콜(MCP)은 언어 모델이 외부 도구 및 서비스와 체계적인 방식으로 상호 작용할 수 있도록 하는 프레임워크입니다. 다음과 같은 기능을 제공합니다.
- 언어 모델에 기능을 노출하는 표준화된 방법
- 운영을 위한 컨텍스트 관리
- 도구 발견 및 문서화
- 모델과 도구 간의 유형 안전 상호 작용
사용 예
- 프로덕션 네임스페이스에 3개의 복제본을 포함하여 이름이 nginx-app이고 이미지가 nginx:latest인 새로운 배포를 생성합니다.
- 프로덕션 네임스페이스에서 배포 nginx-app을 버전 1.19로 업데이트합니다.
- 프로덕션 네임스페이스에서 배포 nginx-app을 5개의 복제본으로 확장합니다.
- 프로덕션 네임스페이스에서 포드를 가져와 주세요.
- 클러스터에 있는 모든 네임스페이스를 가져와주세요.
- 클러스터의 모든 노드를 가져와주세요.
- 클러스터의 모든 서비스를 가져와 주세요.
- 클러스터의 모든 배포를 가져와주세요.
- 클러스터 내 모든 일자리를 알려주세요.
- 클러스터에 있는 모든 cronjob을 가져와 주세요.
- 클러스터에 있는 모든 StatefulSet을 가져와주세요.
- 클러스터에 있는 모든 데몬셋을 가져와 주세요.
- 현재 상황은 어떠한가?
- 모든 맥락을 나열하세요.
- 문맥으로 전환합니다.
- 프로덕션 네임스페이스에서 Pod 로그를 가져와 주세요.
- 프로덕션 네임스페이스에서 이벤트를 가져와 주세요.
- 프로덕션 네임스페이스에서 key1=value1로 pod에 주석을 추가합니다.
- 프로덕션 네임스페이스의 pod에서 주석 key1을 제거합니다.
- 프로덕션 네임스페이스의 pod에 레이블 key1=value1을 추가합니다.
- 프로덕션 네임스페이스의 pod에서 레이블 key1을 제거합니다.
- 프로덕션 네임스페이스에서 포트 80의 nginx-app 배포를 공개합니다.
- 프로덕션 네임스페이스의 이름을 사용하여 pod,deployment,service를 로컬 포트 8080으로 포트 포워딩합니다.
- 프로덕션 네임스페이스에서 이름이 있는 pod, deployment, service, job, cronjob, statefulset, daemonset을 삭제합니다.
곧 출시될 기능
- 클러스터 역할을 생성합니다.
- 클러스터 역할을 삭제합니다.
- 클러스터 역할 바인딩을 생성합니다.
- 클러스터 역할 바인딩을 삭제합니다.
- 네임스페이스를 생성합니다.
- 네임스페이스를 삭제합니다.
- 서비스 계정을 생성합니다.
- 서비스 계정을 삭제합니다.
- 역할을 생성합니다.
- 역할을 삭제합니다.
- 역할 바인딩을 생성합니다.a
- 역할 바인딩을 삭제합니다.
LLM 통합
이 MCP 클라이언트는 대규모 언어 모델(LLM)과 원활하게 작동하도록 설계되었습니다. 이 함수들은 @mcp.tool()
로 데코레이팅되어 있어 모델 컨텍스트 프로토콜(Model Context Protocol) 프레임워크를 통해 LLM에서 접근할 수 있습니다.
LLM 프롬프트 예시
LLM은 자연어를 사용하여 Kubernetes 클러스터와 상호 작용할 수 있습니다. 다음은 몇 가지 프롬프트 예시입니다.
- "프로덕션 네임스페이스에 3개의 복제본이 있는 새로운 nginx 배포를 만듭니다."
- "nginx-app 배포를 5개의 복제본으로 확장"
- "nginx-app 이미지를 1.19 버전으로 업데이트하세요"
LLM은 이러한 자연어 요청을 해석하고 올바른 매개변수를 사용하여 적절한 MCP 함수를 호출합니다.
LLM 통합의 이점
- 자연어 인터페이스 : 대화형 언어를 사용하여 Kubernetes 리소스 관리
- 명령 복잡성 감소 : 정확한 kubectl 구문을 기억할 필요가 없습니다.
- 오류 방지 : LLM은 입력을 검증하고 유용한 오류 메시지를 제공할 수 있습니다.
- 컨텍스트 인식 : LLM은 여러 작업에 걸쳐 컨텍스트를 유지할 수 있습니다.
- 구조화된 상호작용 : MCP는 LLM과 도구 간의 유형 안전하고 문서화된 상호작용을 보장합니다.
요구 사항
kubectl
통해 구성된 Kubernetes 클러스터 액세스- 파이썬 3.x
- MCP 프레임워크 설치 및 구성
보안 참고 사항
LLM과 함께 이 클라이언트를 사용할 때 다음 사항을 확인하세요.
- Kubernetes 클러스터에 적절한 액세스 제어가 적용되었습니다.
- MCP 서버는 보안 환경에서 실행 중입니다.
- API 액세스가 적절하게 인증되고 승인되었습니다.
Claude Desktop과 함께 사용
지엑스피1
기여하다
MCP 쿠버네티스 서버에 대한 기여를 환영합니다! 기여하고 싶으신 분은 다음과 같습니다.
- 저장소를 포크하세요
- 기능에 대한 새 브랜치를 만듭니다(
git checkout -b feature/amazing-feature
) - 변경 사항을 만드세요
- 필요에 따라 테스트를 작성하거나 업데이트하세요
- 변경 사항을 커밋하세요(
git commit -m 'Add some amazing feature'
) - 브랜치에 푸시합니다(
git push origin feature/amazing-feature
) - 풀 리퀘스트 열기
중요한 변경 사항이 있는 경우, 먼저 이슈를 열어서 변경하고 싶은 사항을 논의하세요.
Smithery를 통해 설치
Smithery 를 통해 Claude Desktop에 Kubernetes Server를 자동으로 설치하는 방법:
This server cannot be installed
LLM이 자연어 명령을 통해 Kubernetes 클러스터를 관리할 수 있도록 하는 서버로, kubectl 작업을 래핑하여 일반적인 Kubernetes 작업에 대한 단순화된 인터페이스를 제공합니다.