k8s-mcp-server
쿠버네티스 MCP 서버
표준화된 인터페이스를 통해 Kubernetes 클러스터와 상호 작용하기 위한 도구를 제공하는 Kubernetes 모델 컨텍스트 프로토콜(MCP) 서버입니다.
특징
API 리소스 검색 : Kubernetes 클러스터에서 사용 가능한 모든 API 리소스를 가져옵니다.
리소스 목록 : 선택적 네임스페이스 및 레이블 필터링을 사용하여 모든 유형의 리소스를 나열합니다.
리소스 세부 정보 : 특정 Kubernetes 리소스에 대한 자세한 정보를 얻으세요
리소스 설명 : Kubernetes 리소스에 대한 포괄적인 설명을 얻으세요
Pod 로그 : 특정 Pod에서 로그 검색
노드 메트릭 : 특정 노드에 대한 리소스 사용 메트릭 가져오기
Pod 메트릭 : 특정 Pod에 대한 CPU 및 메모리 메트릭 가져오기
이벤트 목록 : 네임스페이스 내의 이벤트나 특정 리소스에 대한 이벤트를 나열합니다.
리소스 생성 : 매니페스트에서 새로운 Kubernetes 리소스를 생성합니다.
표준화된 인터페이스 : 일관된 도구 상호 작용을 위해 MCP 프로토콜을 사용합니다.
유연한 구성 : 다양한 Kubernetes 컨텍스트 및 리소스 범위 지원
Related MCP server: Multi Cluster Kubernetes MCP Server
필수 조건
1.20 이상으로 가세요
Kubernetes 클러스터에 대한 액세스
적절한 클러스터 액세스로 구성된
kubectl
설치
저장소를 복제합니다.
지엑스피1
종속성 설치:
go mod download서버를 빌드하세요:
go build -o k8s-mcp-server main.go용법
서버 시작
서버를 실행합니다:
./k8s-mcp-server서버가 시작되어 stdin/stdout에서 MCP 프로토콜 메시지를 수신합니다.
사용 가능한 도구
1. getAPIResources
Kubernetes 클러스터에서 사용 가능한 모든 API 리소스를 검색합니다.
매개변수:
includeNamespaceScoped(부울): 네임스페이스 범위 리소스를 포함할지 여부(기본값은 true)includeClusterScoped(부울): 클러스터 범위 리소스를 포함할지 여부(기본값은 true)
예:
{
"jsonrpc": "2.0",
"id": 1,
"method": "getAPIResources",
"params": {
"arguments": {
"includeNamespaceScoped": true,
"includeClusterScoped": true
}
}
}2. listResources
특정 리소스 유형의 모든 인스턴스를 나열합니다.
매개변수:
Kind(문자열, 필수): 나열할 리소스 종류(예: "Pod", "Deployment")namespace(문자열): 리소스를 나열할 네임스페이스(생략하면 네임스페이스가 지정된 리소스에 대한 모든 네임스페이스 목록이 나열됨)labelSelector(문자열): 레이블 선택기로 리소스 필터링
예:
{
"jsonrpc": "2.0",
"id": 1,
"method": "listResources",
"params": {
"arguments": {
"Kind": "Pod",
"namespace": "default",
"labelSelector": "app=nginx"
}
}
}3. getResource
특정 리소스에 대한 자세한 정보를 검색합니다.
매개변수:
kind(문자열, 필수): 가져올 리소스 종류(예: "Pod", "Deployment")name(문자열, 필수): 가져올 리소스의 이름namespace(문자열): 리소스의 네임스페이스(네임스페이스가 지정된 리소스인 경우)
예:
{
"jsonrpc": "2.0",
"id": 1,
"method": "getResource",
"params": {
"arguments": {
"kind": "Pod",
"name": "nginx-pod",
"namespace": "default"
}
}
}4. describeResource
kubectl describe 와 유사하게, 주어진 종류와 이름을 기반으로 Kubernetes 클러스터의 리소스를 설명합니다.
매개변수:
Kind(문자열, 필수): 설명할 리소스 종류(예: "Pod", "Deployment")name(문자열, 필수): 설명할 리소스의 이름namespace(문자열): 리소스의 네임스페이스(네임스페이스가 지정된 리소스인 경우)
예:
{
"jsonrpc": "2.0",
"id": 1,
"method": "describeResource",
"params": {
"arguments": {
"Kind": "Pod",
"name": "nginx-pod",
"namespace": "default"
}
}
}5. getPodsLogs
Kubernetes 클러스터의 특정 Pod 로그를 검색합니다.
매개변수:
Name(문자열, 필수): 로그를 가져올 Pod의 이름입니다.namespace(문자열): 포드의 네임스페이스(네임스페이스가 지정된 리소스인 경우)
예:
{
"jsonrpc": "2.0",
"id": 1,
"method": "getPodsLogs",
"params": {
"arguments": {
"Name": "my-app-pod-12345",
"namespace": "production"
}
}
}6. getNodeMetrics
Kubernetes 클러스터의 특정 노드에 대한 리소스 사용 지표를 검색합니다.
매개변수:
Name(문자열, 필수): 메트릭을 가져올 노드의 이름입니다.
예:
{
"jsonrpc": "2.0",
"id": 1,
"method": "getNodeMetrics",
"params": {
"arguments": {
"Name": "worker-node-1"
}
}
}7. getPodMetrics
Kubernetes 클러스터의 특정 Pod에 대한 CPU 및 메모리 메트릭을 검색합니다.
매개변수:
namespace(문자열, 필수): Pod의 네임스페이스입니다.podName(문자열, 필수): Pod의 이름입니다.
예:
{
"jsonrpc": "2.0",
"id": 1,
"method": "getPodMetrics",
"params": {
"arguments": {
"namespace": "default",
"podName": "my-app-pod-67890"
}
}
}8. getEvents
Kubernetes 클러스터의 특정 네임스페이스 또는 리소스에 대한 이벤트를 검색합니다.
매개변수:
namespace(문자열): 이벤트를 가져올 네임스페이스입니다. 생략하면 모든 네임스페이스의 이벤트가 고려됩니다(RBAC에서 허용하는 경우).resourceName(문자열): 이벤트를 필터링할 특정 리소스의 이름(예: Pod 이름)입니다.resourceKind(문자열):resourceName제공된 경우 특정 리소스의 종류(예: "Pod")입니다.
예(네임스페이스 이벤트):
{
"jsonrpc": "2.0",
"id": 1,
"method": "getEvents",
"params": {
"arguments": {
"namespace": "default"
}
}
}예(리소스 이벤트):
{
"jsonrpc": "2.0",
"id": 1,
"method": "getEvents",
"params": {
"arguments": {
"namespace": "production",
"resourceName": "my-app-pod-12345",
"resourceKind": "Pod"
}
}
}9. createorUpdateResource
YAML 또는 JSON 매니페스트에서 Kubernetes 클러스터에 새 리소스를 만듭니다.
매개변수:
manifest(문자열, 필수): 생성할 리소스의 YAML 또는 JSON 매니페스트입니다.namespace(문자열, 선택 사항): 리소스를 생성할 네임스페이스입니다. 매니페스트에 네임스페이스가 포함된 경우, 이 매개변수를 생략하거나 이를 재정의하는 데 사용할 수 있습니다(서버 구현에 따라 동작이 달라질 수 있음).
예:
{
"jsonrpc": "2.0",
"id": 1,
"method": "createResource",
"params": {
"arguments": {
"namespace": "default",
"manifest": "apiVersion: v1\nkind: Pod\nmetadata:\n name: my-new-pod\nspec:\n containers:\n - name: nginx\n image: nginx:latest"
}
}
}개발
프로젝트 구조
.
├── handlers/ # Tool handlers
│ └── handlers.go # Implementation of MCP tools
├── pkg/ # Internal packages
│ └── k8s/ # Kubernetes client implementation
├── main.go # Server entry point
├── go.mod # Go module definition
└── go.sum # Go module checksums새로운 도구 추가
새로운 도구를 추가하려면:
handlers/handlers.go에 새 도구 정의 함수(예:MyNewTool() mcp.Tool)를 만듭니다.handlers/handlers.go에 도구 핸들러 함수(예:MyNewHandler(client *k8s.Client) func(...))를 구현합니다.s.AddTool()사용하여main.go에 도구와 해당 핸들러를 등록합니다.
기여하다
참여를 환영합니다! 이 프로젝트에 기여하는 방법에 대한 자세한 내용은 CONTRIBUTING.md를 참조하세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables AI assistants to interact with Kubernetes clusters through natural language, supporting core Kubernetes operations, monitoring, security, and diagnostics.115947MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with multiple Kubernetes clusters simultaneously, providing comprehensive tools for cluster management, resource operations, and diagnostics across different environments.
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for Kubernetes that provides full resource coverage and advanced troubleshooting tools via HTTP chunked streaming. It enables users to manage clusters and diagnose complex issues like pod crashloops through specialized prompts and standard kubectl-like operations.12,374MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server for generating Kubernetes manifests (deployments, services, configmaps, secrets, ingresses, namespaces) and performing kubectl operations like apply, delete, get, describe, logs, and exec.MIT
Related MCP Connectors
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for InsForge BaaS — database, storage, edge functions, and deployments
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/reza-gholizade/k8s-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server