Kube 核心 MCP
将自然语言请求转换为有效的 kubectl 命令的 Kubernetes 命令处理服务。
特征
- 自然语言到 kubectl 命令的转换
- 命令验证和安全检查
- 支持常见的 kubectl 操作
- 用于 LLM 处理的 AWS Bedrock 集成
先决条件
- Python 3.8+
- 已配置 AWS 凭证
- kubectl 安装和配置
- Node.js 和 npm(用于前端)
设置
- 克隆存储库:
git clone <repository-url>
cd kube-core-mcp
- 创建并激活虚拟环境:
python3 -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- 安装依赖项:
pip install -r requirements.txt
- 配置AWS凭证:
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=your_region
- 启动 FastAPI 服务器:
API 文档
健康检查
curl http://localhost:3000/health
服务
curl http://localhost:3000/api/services
自然语言命令
curl -X POST http://localhost:3000/api/nl \
-H "Content-Type: application/json" \
-d '{"message": "show me the pods in default namespace"}'
直接命令
curl -X POST http://localhost:3000/api/command \
-H "Content-Type: application/json" \
-d '{"command": "kubectl get pods -n default"}'
安全
该服务以两种安全模式运行:
- 严格(默认):
- 仅允许预定义的命令模式
- 根据允许的模式验证所有命令
- 防止危险操作
- 允许:
- 允许更灵活的命令模式
- 仍然保持基本的安全检查
- 对于开发和测试有用
发展
运行测试
代码风格
black src/ tests/
flake8 src/ tests/
贡献
- 分叉存储库
- 创建功能分支
- 进行更改
- 运行测试
- 提交拉取请求
执照
[添加许可信息]