Kubernetes MCP Server

आधिकारिक

एक Claude Kubernetes MCP सर्वर, जो Go में बनाया गया है। यह सर्वर ArgoCD, GitLab, Claude AI और Kubernetes के साथ एकीकृत होता है ताकि Kubernetes वातावरणों का उन्नत नियंत्रण और स्वचालन सक्षम हो सके।

दस्तावेज़

Claude Kubernetes MCP सर्वर

CI Release Docker Pulls Docker Image Size Go Report Card License GitHub release

ArgoCD और GitLab एकीकरण के साथ Kubernetes क्लस्टर प्रबंधन के लिए एक मॉडल संदर्भ प्रोटोकॉल (MCP) सर्वर।

यह रिपॉजिटरी Go में निर्मित Claude Kubernetes MCP (मॉडल संदर्भ प्रोटोकॉल) सर्वर को समाहित करती है। यह सर्वर Kubernetes परिवेशों के उन्नत नियंत्रण और स्वचालन को सक्षम करने के लिए ArgoCD, GitLab, Claude AI और Kubernetes के साथ एकीकृत होता है।

हमारे दस्तावेज़ यहाँ देखें

विषय-सूची


अवलोकन

यह सर्वर Claude AI, GitLab, ArgoCD और Vault का उपयोग करके Kubernetes कार्यभार को व्यवस्थित करने के लिए डिज़ाइन किया गया है। यह एक REST API को उजागर करता है जो इन प्रणालियों के साथ प्रोग्रामेटिक इंटरैक्शन की अनुमति देता है, जो एक कॉन्फ़िगर किए गए config.yaml द्वारा संचालित होता है और एक API कुंजी का उपयोग करके प्रमाणित होता है।

पूर्वापेक्षाएँ

  • Go 1.20+
  • Docker
  • Kubernetes क्लस्टर और मान्य ~/.kube/config
  • स्थानीय रूप से AWS_PROFILE सेट के साथ EKS क्लस्टर
  • ArgoCD क्रेडेंशियल
  • GitLab व्यक्तिगत एक्सेस टोकन
  • Claude API कुंजी (Anthropic)
  • Vault क्रेडेंशियल (वैकल्पिक, उपयोग पर निर्भर)

सेटअप निर्देश

1. रिपॉजिटरी क्लोन करें

git clone https://github.com/blankcut/kubernetes-mcp-server.git
cd kubernetes-mcp-server

2. आवश्यक पर्यावरण चर निर्यात करें

ArgoCD, GitLab और Claude के लिए क्रेडेंशियल निर्यात करें:

export ARGOCD_USERNAME="argocd-username"
export ARGOCD_PASSWORD="argocd-password"
export GITLAB_TOKEN="gitlab-token"
export CLAUDE_API_KEY="claude-api-key"
export VAULT_TOKEN="optional-if-using-vault"

सुनिश्चित करें कि एक kubeconfig उपलब्ध है:

export KUBECONFIG=~/.kube/config

3. config.yaml कॉन्फ़िगर करें

क्रेडेंशियल और सर्वर वरीयताओं के साथ kubernetes-claude-mcp/config.yaml अपडेट करें:

server:
  address: ":8080"
  readTimeout: 30
  writeTimeout: 60
  auth:
    apiKey: ""${API_KEY}"" 

kubernetes:
  kubeconfig: ""
  inCluster: false
  defaultContext: ""
  defaultNamespace: "default"

argocd:
  url: "http://example.argocd.com"
  authToken: ""
  username: "${ARGOCD_USERNAME}"
  password: "${ARGOCD_PASSWORD}"
  insecure: true

gitlab:
  url: "https://gitlab.com"
  authToken: "${AUTH_TOKEN}"
  apiVersion: "v4"
  projectPath: ""${PROJECT_PATH}""

claude:
  apiKey: "${API_KEY}"
  baseURL: "https://api.anthropic.com"
  modelID: "claude-sonnet-4.5-20250514"
  maxTokens: 8192
  temperature: 0.3

आप प्रदान किए गए Go टेम्पलेट या पर्यावरण चर प्रक्षेप विधि का उपयोग कर सकते हैं।

4. Postman के लिए API कुंजी जोड़ें

कृपया सुनिश्चित करें कि एक config.yaml में एक apiKey शामिल है। इसका उपयोग Postman या किसी बाहरी क्लाइंट में अनुरोधों को प्रमाणित करने के लिए किया जाएगा।


स्थानीय रूप से चलाना

cd kubernetes-claude-mcp
go run ./cmd/server/main.go

डीबग लॉगिंग के साथ:

LOG_LEVEL=debug go run ./cmd/server/main.go --config config.yaml

सर्वर प्रारंभ होगा और config.yaml में कॉन्फ़िगर किए गए पोर्ट से बंध जाएगा (डिफ़ॉल्ट: 8080)।


Docker के साथ निर्माण और चलाना

1. इमेज बनाएँ

cd kubernetes-claude-mcp
docker build -t claude-mcp-server -f Dockerfile .

2. कंटेनर चलाएँ (दूसरा निर्माण विकल्प शामिल)

cd kubernetes-claude-mcp
docker-compose build
docker-compose up -d

उत्पादन परिनियोजन

Kubernetes परिनियोजन के लिए रिपॉजिटरी में एक Helm चार्ट शामिल है:

1. Helm चार्ट निर्देशिका पर जाएँ

cd kubernetes-claude-mcp/deployments/helm

2. Helm के साथ परिनियोजित करें

उपयुक्त मानों के साथ values.yaml अपडेट करें और चलाएँ:

helm install claude-mcp .

अपग्रेड करने के लिए:

helm upgrade claude-mcp .

कृपया सुनिश्चित करें कि क्लस्टर में सीक्रेट और कॉन्फ़िग मैप ठीक से माउंट और सुरक्षित हैं।


API दस्तावेज़ीकरण

MCP सर्वर द्वारा उजागर किए गए प्राथमिक एंडपॉइंट नीचे दिए गए हैं। सभी अनुरोधों के लिए X-API-Key हेडर आवश्यक है:

सामान्य

  • स्वास्थ्य जाँच
    • GET /api/v1/health

Kubernetes

  • नेमस्पेस सूचीबद्ध करें
    • GET /api/v1/namespaces
  • संसाधन सूचीबद्ध करें
    • GET /api/v1/resources/{kind}?namespace={ns}
  • विशिष्ट संसाधन प्राप्त करें
    • GET /api/v1/resources/{kind}/{name}?namespace={ns}
  • किसी संसाधन के लिए ईवेंट प्राप्त करें
    • GET /api/v1/events?namespace={ns}&resource={kind}&name={name}

ArgoCD

  • एप्लिकेशन सूचीबद्ध करें
    • GET /api/v1/argocd/applications

Claude MCP एंडपॉइंट

  • संसाधन का विश्लेषण करें
    • POST /api/v1/mcp/resource
  • संसाधन का समस्या निवारण करें
    • POST /api/v1/mcp/troubleshoot
  • कमिट विश्लेषण (GitLab)
    • POST /api/v1/mcp/commit
  • सामान्य MCP अनुरोध
    • POST /api/v1/mcp

सभी POST एंडपॉइंट एक JSON पेलोड स्वीकार करते हैं जिसमें निम्नलिखित फ़ील्ड होते हैं:

{
  "resource": "pod",
  "name": "example-pod",
  "namespace": "default",
  "query": "What’s wrong with this pod?"
}

Postman संग्रह

एक उपयोग के लिए तैयार Postman संग्रह जल्द ही उपलब्ध होगा।

दान

कृपया हमारे कॉफी फंड में योगदान करें ताकि हम महान कार्य करना जारी रख सकें मेरे लिए कॉफी खरीदें

लाइसेंस

यह परियोजना MIT लाइसेंस के तहत लाइसेंस प्राप्त है।


योगदान

दस्तावेज़ीकरण जल्द ही विस्तारित किया जाएगा। यदि आप योगदान करना चाहते हैं, तो बेझिझक एक पुल अनुरोध खोलें या कोई समस्या दर्ज करें!