Kubernetes MCP Server
chính thứcMộ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
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
- Điều kiện tiên quyết
- Hướng dẫn Thiết lập
- Cấu hình
- Chạy Cục bộ
- Xây dựng và Chạy với Docker
- Triển khai Sản xuất
- Tài liệu API
- Bộ sưu tập Postman
- Giấy phép
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/confighợ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 đề!