Kubernetes集群管理服务器

CAPI MCP Server是一个生产级的模型上下文协议(MCP)服务器,为Kubernetes集群API(CAPI)提供安全、标准化的接口,使AI代理能够管理Kubernetes集群。

  • by jsell-rh
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jsell-rh/capi-mcp

使用说明

CAPI MCP服务器

用于Kubernetes Cluster API(CAPI)的生产级模型上下文协议(MCP)服务器,使人工智能代理能够通过安全、标准化的接口管理Kubernete集群。

AI开发免责声明

⚠️ 重要:该存储库主要由Anthropic的人工智能助理Claude Code与一名人类开发人员合作创建。代码、文档、测试和整体架构是通过人工智能辅助开发会话生成的。

虽然代码遵循行业最佳实践,并包括全面的测试,但用户应该:

  • 在部署到生产环境之前检查所有代码
  • 了解实施的安全影响
  • 验证代码是否符合其特定要求和合规标准
  • 考虑关键系统中人工智能生成代码的实验性质

概述

CAPI MCP服务器充当AI代理(MCP客户端)和CAPI管理集群之间的桥梁。它提供了一组工具,将CAPI的复杂性抽象为简单、可靠的操作,用于集群生命周期管理。

特性

V1.0范围

  • 基础设施提供商:AWS(通过AWS的群集API提供商-CAPA)
  • 核心工具:
    • list_clusters -列出所有托管工作负载集群
    • get_cluster -获取特定集群的详细信息
    • create_cluster -从模板创建新的工作负载集群
    • delete_cluster -删除工作负载群集
    • scale_cluster -扩展群集中的工作节点
    • get_cluster_kubeconfig -检索群集访问凭据
    • get_cluster_nodes -列出群集中的节点
  • 安全:API密钥认证、RBAC、机密管理
  • 可观测性:结构化日志、Prometheus指标

建筑

服务器遵循模块化、可扩展的设计:

  • 代理/网关模式 用于桥接MCP和CAPI
  • 提供者接口 用于未来的多云支持
  • 异步处理 长期CAPI行动
  • 安全第一 具有最小权限访问的方法

看 architecture.md 详细的设计文档。

发展

先决条件

  • 转到1.24.x
  • Docker&Docker编写
  • kubectl
  • 种类(用于本地测试)
  • 戈朗茨皮棉

快速开始

# Clone the repository
git clone https://github.com/capi-mcp/capi-mcp-server.git
cd capi-mcp-server

# Install dependencies
make deps

# Install development tools
make tools

# Run tests
make test

# Build the server
make build

# Run locally (requires API_KEY env var)
API_KEY=your-key make run

项目结构

/capi-mcp-server
├── /api/v1           # MCP tool/resource schemas
├── /cmd/server       # Application entry point
├── /internal         # Private application code
│   ├── /server       # MCP server engine
│   ├── /service      # Business logic
│   ├── /kube         # CAPI client wrapper
│   └── /config       # Configuration
├── /pkg              # Public libraries
│   ├── /provider     # Provider interface
│   └── /tools        # Tool implementations
├── /deploy           # Deployment artifacts
├── /test             # Test suites
└── /docs             # Documentation

部署

使用Helm将服务器部署为Kubernetes工作负载:

helm install capi-mcp-server ./deploy/charts/capi-mcp-server \
  --set auth.apiKey=$API_KEY \
  --namespace capi-system

安全

  • 认证:基于API密钥的(承载令牌)
  • 授权:具有最小权限的Kubernetes RBAC
  • 网络:受网络策略限制
  • 秘密:从未记录,安全处理

贡献

请阅读 CLAUDE.md 开发指南和标准。

路线图

看 路线图.md 项目愿景和开发阶段。

许可证

[许可证详细信息待添加]