Kubernetes MCP Server

chính thức

Một máy chủ MCP Kubernetes cho Claude, được xây dựng bằng Go. Máy chủ tích hợp với ArgoCD, GitLab, Claude AI và Kubernetes để hỗ trợ kiểm soát và tự động hóa nâng cao các môi trường Kubernetes.

Tài liệu

Claude Kubernetes MCP Server

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

Một máy chủ Giao thức Ngữ cảnh Mô hình (MCP) dành cho quản lý cụm Kubernetes với tích hợp ArgoCD và GitLab.

Kho lưu trữ này chứa máy chủ Claude Kubernetes MCP (Giao thức Ngữ cảnh Mô hình), được xây dựng bằng Go. Máy chủ tích hợp với ArgoCD, GitLab, Claude AI và Kubernetes để cho phép kiểm soát và tự động hóa nâng cao các môi trường Kubernetes.

Xem Tài liệu của Chúng tôi tại Đây

Mục lục


Tổng quan

Máy chủ này được thiết kế để điều phối các khối lượng công việc Kubernetes bằng cách sử dụng Claude AI, GitLab, ArgoCD và Vault. Nó hiển thị một API REST cho phép tương tác theo chương trình với các hệ thống này, được điều khiển bởi một config.yaml đã được cấu hình và xác thực bằng khóa API.

Điều kiện tiên quyết

  • Go 1.20+
  • Docker
  • Cụm Kubernetes & ~/.kube/config hợp lệ
  • Cụm EKS với AWS_PROFILE được đặt cục bộ
  • Thông tin xác thực ArgoCD
  • Mã thông báo truy cập cá nhân GitLab
  • Khóa API Claude (Anthropic)
  • Thông tin xác thực Vault (tùy chọn, tùy theo mục đích sử dụng)

Hướng dẫn Thiết lập

1. Sao chép Kho lưu trữ

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

2. Xuất các Biến Môi trường Bắt buộc

Xuất thông tin xác thực cho ArgoCD, GitLab và 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"

Đảm bảo có sẵn kubeconfig:

export KUBECONFIG=~/.kube/config

3. Cấu hình config.yaml

Cập nhật kubernetes-claude-mcp/config.yaml với thông tin xác thực và tùy chọn máy chủ:

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

Bạn có thể sử dụng các mẫu Go được cung cấp hoặc phương pháp nội suy biến môi trường.

4. Thêm Khóa API cho Postman

Vui lòng đảm bảo một config.yaml bao gồm một apiKey. Điều này sẽ được sử dụng để xác thực các yêu cầu trong Postman hoặc bất kỳ máy khách bên ngoài nào.


Chạy Cục bộ

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

Với Ghi nhật ký Gỡ lỗi:

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

Máy chủ sẽ khởi động và liên kết với cổng được cấu hình trong config.yaml (mặc định: 8080).


Xây dựng và Chạy với Docker

1. Xây dựng Hình ảnh

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

2. Chạy Vùng chứa (bao gồm tùy chọn xây dựng thứ hai)

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

Triển khai Sản xuất

Một biểu đồ Helm được bao gồm trong kho lưu trữ để triển khai Kubernetes:

1. Điều hướng đến Thư mục Biểu đồ Helm

cd kubernetes-claude-mcp/deployments/helm

2. Triển khai với Helm

Cập nhật values.yaml với các giá trị phù hợp và chạy:

helm install claude-mcp .

Để nâng cấp:

helm upgrade claude-mcp .

Vui lòng đảm bảo các bí mật và bản đồ cấu hình được gắn kết và bảo mật đúng cách trong cụm.


Tài liệu API

Dưới đây là các điểm cuối chính được hiển thị bởi máy chủ MCP. Tất cả các yêu cầu đều yêu cầu tiêu đề X-API-Key:

Chung

  • Kiểm tra Tình trạng
    • GET /api/v1/health

Kubernetes

  • Liệt kê Không gian tên
    • GET /api/v1/namespaces
  • Liệt kê Tài nguyên
    • GET /api/v1/resources/{kind}?namespace={ns}
  • Lấy Tài nguyên Cụ thể
    • GET /api/v1/resources/{kind}/{name}?namespace={ns}
  • Lấy Sự kiện cho một Tài nguyên
    • GET /api/v1/events?namespace={ns}&resource={kind}&name={name}

ArgoCD

  • Liệt kê Ứng dụng
    • GET /api/v1/argocd/applications

Điểm cuối Claude MCP

  • Phân tích Tài nguyên
    • POST /api/v1/mcp/resource
  • Khắc phục sự cố Tài nguyên
    • POST /api/v1/mcp/troubleshoot
  • Phân tích Cam kết (GitLab)
    • POST /api/v1/mcp/commit
  • Yêu cầu MCP Chung
    • POST /api/v1/mcp

Tất cả các điểm cuối POST chấp nhận một tải trọng JSON chứa các trường như:

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

Bộ sưu tập Postman

Một bộ sưu tập Postman sẵn sàng sử dụng sẽ sớm có sẵn.

Quyên góp

Vui lòng đóng góp vào quỹ cà phê của chúng tôi để giúp chúng tôi tiếp tục làm những điều tuyệt vời Mua cho tôi Cà phê

Giấy phép

Dự án này được cấp phép theo Giấy phép MIT.


Đóng góp

Tài liệu sẽ sớm được mở rộng. Nếu bạn muốn đóng góp, vui lòng mở một yêu cầu kéo hoặc gửi một vấn đề!