Kubernetes MCP Server

resmi

Server Kubernetes MCP Claude, dibangun dalam Go. Server ini terintegrasi dengan ArgoCD, GitLab, Claude AI, dan Kubernetes untuk memungkinkan kontrol dan otomatisasi tingkat lanjut pada lingkungan Kubernetes.

Apa yang bisa Anda lakukan dengan Kubernetes MCP?

  • Periksa sumber daya cluster — Minta asisten Anda untuk membuat daftar namespace atau sumber daya apa pun melalui GET /api/v1/namespaces dan GET /api/v1/resources/{kind}.
  • Pecahkan masalah sumber daya tertentu — Minta asisten untuk menganalisis atau memecahkan masalah pod seperti example-pod menggunakan endpoint POST /api/v1/mcp/troubleshoot.
  • Tinjau commit GitLab — Minta analisis commit melalui endpoint POST /api/v1/mcp/commit untuk mendapatkan wawasan berbasis AI.
  • Periksa aplikasi ArgoCD — Minta daftar semua aplikasi ArgoCD melalui GET /api/v1/argocd/applications.
  • Kueri AI kustom pada sumber daya — Kirim permintaan MCP generik (POST /api/v1/mcp) dengan kueri kustom tentang sumber daya apa pun di cluster Anda.

Dokumentasi

Blank Cut

Claude Kubernetes MCP Server

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

Sebuah server Model Context Protocol (MCP) untuk manajemen klaster Kubernetes dengan integrasi ArgoCD dan GitLab.

Repositori ini berisi server Claude Kubernetes MCP (Model Context Protocol), yang dibangun dengan Go. Server ini terintegrasi dengan ArgoCD, GitLab, Claude AI, dan Kubernetes untuk memungkinkan kontrol dan otomatisasi tingkat lanjut pada lingkungan Kubernetes.

Lihat Dokumentasi Kami Di Sini

Daftar Isi


Ringkasan

Server ini dirancang untuk mengorkestrasi workload Kubernetes menggunakan Claude AI, GitLab, ArgoCD, dan Vault. Server ini mengekspos REST API yang memungkinkan interaksi terprogram dengan sistem-sistem tersebut, digerakkan oleh config.yaml yang dikonfigurasi dan diautentikasi menggunakan kunci API.

Prasyarat

  • Go 1.20+
  • Docker
  • Klaster Kubernetes & ~/.kube/config yang valid
  • Klaster EKS dengan AWS_PROFILE yang disetel secara lokal
  • Kredensial ArgoCD
  • Token akses pribadi GitLab
  • Kunci API Claude (Anthropic)
  • Kredensial Vault (opsional, tergantung penggunaan)

Petunjuk Pengaturan

1. Klon Repositori

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

2. Ekspor Variabel Lingkungan yang Diperlukan

Ekspor kredensial untuk ArgoCD, GitLab, dan 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"

Pastikan kubeconfig tersedia:

export KUBECONFIG=~/.kube/config

3. Konfigurasi config.yaml

Perbarui kubernetes-claude-mcp/config.yaml dengan kredensial dan preferensi server:

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

Anda dapat menggunakan template Go yang disediakan atau metode interpolasi variabel lingkungan.

4. Tambahkan Kunci API untuk Postman

Pastikan config.yaml menyertakan apiKey. Ini akan digunakan untuk mengautentikasi permintaan di Postman atau klien eksternal lainnya.


Menjalankan Secara Lokal

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

Dengan Log Debug:

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

Server akan mulai dan terikat ke port yang dikonfigurasi di config.yaml (default: 8080).


Membangun dan Menjalankan dengan Docker

1. Bangun Image

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

2. Jalankan Kontainer (opsi build kedua disertakan)

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

Deployment Produksi

Sebuah Helm chart disertakan dalam repositori untuk deployment Kubernetes:

1. Navigasi ke Direktori Helm Chart

cd kubernetes-claude-mcp/deployments/helm

2. Deploy dengan Helm

Perbarui values.yaml dengan nilai yang sesuai dan jalankan:

helm install claude-mcp .

Untuk upgrade:

helm upgrade claude-mcp .

Pastikan secrets dan config maps terpasang dengan benar dan aman di dalam klaster.


Dokumentasi API

Di bawah ini adalah endpoint utama yang diekspos oleh server MCP. Semua permintaan memerlukan header X-API-Key:

Umum

  • Health Check
    • GET /api/v1/health

Kubernetes

  • Daftar Namespace
    • GET /api/v1/namespaces
  • Daftar Sumber Daya
    • GET /api/v1/resources/{kind}?namespace={ns}
  • Dapatkan Sumber Daya Tertentu
    • GET /api/v1/resources/{kind}/{name}?namespace={ns}
  • Dapatkan Event untuk Sumber Daya
    • GET /api/v1/events?namespace={ns}&resource={kind}&name={name}

ArgoCD

  • Daftar Aplikasi
    • GET /api/v1/argocd/applications

Endpoint Claude MCP

  • Analisis Sumber Daya
    • POST /api/v1/mcp/resource
  • Pemecahan Masalah Sumber Daya
    • POST /api/v1/mcp/troubleshoot
  • Analisis Komit (GitLab)
    • POST /api/v1/mcp/commit
  • Permintaan MCP Umum
    • POST /api/v1/mcp

Semua endpoint POST menerima payload JSON yang berisi bidang seperti:

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

Koleksi Postman

Koleksi Postman yang siap digunakan akan segera tersedia.

Donasi

Silakan berkontribusi pada dana kopi kami untuk membantu kami terus melakukan hal-hal hebat Beli Saya Kopi

Lisensi

Proyek ini dilisensikan di bawah Lisensi MIT.


Kontribusi

Dokumentasi akan segera diperluas. Jika Anda ingin berkontribusi, silakan buka pull request atau ajukan issue!