返回 MCP 目录
public公开dns本地运行

claude-kubernetes-mcp-server

Claude Kubernetes MCP服务器是一个基于Go的集成平台,结合ArgoCD、GitLab和Claude AI实现Kubernetes环境的高级控制和自动化。

article

README

🚀 项目文档

本项目主要用于搭建一个集成了Kubernetes、Argo CD、GitLab和Claude等服务的系统,通过配置文件对各服务进行参数设置,提供了多种运行和部署方式,同时定义了丰富的API接口,方便用户进行资源管理和分析等操作。

🚀 快速开始

快速运行

在项目根目录下,可使用以下命令快速启动服务:

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. 构建镜像

在项目根目录下执行以下命令构建 Docker 镜像:

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

2. 运行容器(第二套构建选项)

同样在项目根目录下,使用 Docker Compose 构建并启动容器:

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

生产部署

项目包含一个 Helm 图表用于 Kubernetes 部署,具体步骤如下:

1. 切换到 Helm 图表目录

cd kubernetes-claude-mcp/deployments/helm

2. 使用 Helm 部署

更新 values.yaml 中的值并运行以下命令进行部署:

helm install claude-mcp .

若需要升级部署,可使用以下命令:

helm upgrade claude-mcp .

请确保在集群中正确挂载和安全配置密钥和配置映射。

📦 服务地址

服务的配置信息存储在 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-3-haiku-20240307"
  maxTokens: 4096
  temperature: 0.7

💻 使用示例

本项目主要通过 API 接口与服务进行交互,以下是部分 API 接口的使用示例。

基本

健康检查

curl -H "X-API-Key: your_api_key" http://localhost:8080/api/v1/health

Kubernetes

列出命名空间

curl -H "X-API-Key: your_api_key" http://localhost:8080/api/v1/namespaces

列出资源

curl -H "X-API-Key: your_api_key" "http://localhost:8080/api/v1/resources/pods?namespace=default"

Argo CD

列出应用

curl -H "X-API-Key: your_api_key" http://localhost:8080/api/v1/argocd/applications

Claude MCP 端点

分析资源

curl -X POST -H "X-API-Key: your_api_key" -H "Content-Type: application/json" -d '{"data": "your_data"}' http://localhost:8080/api/v1/mcp/resource

📚 详细文档

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}

Argo CD

  • 列出应用
    • GET /api/v1/argocd/applications

Claude MCP 端点

  • 分析资源
    • POST /api/v1/mcp/resource
  • 故障排除资源
    • POST /api/v1/mcp/troubleshoot
  • 提交分析(GitLab)
    • POST /api/v1/mcp/commit
  • 获取提交状态
    • GET /api/v1/mcp/commits/{cluster}

👥 贡献指南

提交代码

若您想为项目贡献代码,可按以下步骤操作:

git clone https://github.com/yourusername/kubernetes-claude-mcp.git
cd kubernetes-claude-mcp
# 修改代码
git add .
git commit -m "提交信息"
git push origin main

提交问题

请通过 Issues 提交问题。

👨‍💻 贡献者

  • [你的名字] - 项目维护者
  • 其他贡献者 - (可选)

📄 许可证

本项目遵循 LICENSE 文件中的许可协议。

感谢您的支持!

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端