article
README
🚀 Kubernetes MCP 服务器
这是一个轻量级的 MCP 服务器,它结合了自然语言处理和 API 来访问 Kubernetes 集群,巧妙地将 kubectl 命令与 Kubernetes Python 客户端进行了结合。
🚀 快速开始
本项目需满足以下前提条件:
- Python 3.11+
- 可访问的 Kubernetes 集群
- 本地配置好的
kubectl - 已安装 UV
按如下步骤进行安装:
# 克隆仓库
git clone https://github.com/ductnn/mcp-kubernetes-server.git
cd mcp-kubernetes-server
# 创建虚拟环境
uv venv .venv
# 激活(Unix)
source .venv/bin/activate
# 安装依赖
uv pip install -r requirements.txt
✨ 主要特性
- 自然语言接口:能够把 plain English 查询转换为 kubectl 命令。
- 可列出所有命名空间中的 pod 和部署。
- 若遇到不支持的查询,会回退到通用资源列表。
- 完整的 CRUD 操作:
- 🆕 可通过 API 端点创建/删除命名空间、pod 和部署。
- 🔍 能检查集群资源。
- ✏️ 可修改标签、注释和部署配置。
- 🗑️ 支持带有空闲期的优雅删除。
- 📊 可调整部署规模。
- 双执行模式:
- 集成
kubectl命令。 - 支持 Kubernetes 官方 Python 客户端(SDK)。
- 集成
- 高级功能:
- 命名空间验证(DNS - 1123 兼容)。
- 标签过滤。
- 空闲期控制。
- 自动命令回退。
- 资源管理(CPU,内存)。
- 环境变量配置。
📦 安装指南
前提条件
- Python 3.11+
- 可用的 Kubernetes 集群访问
- 当地配置好的
kubectl - 已安装 UV
安装步骤
# 克隆仓库
git clone https://github.com/ductnn/mcp-kubernetes-server.git
cd mcp-kubernetes-server
# 创建虚拟环境
uv venv .venv
# 激活(Unix)
source .venv/bin/activate
# 安装依赖
uv pip install -r requirements.txt
💻 使用示例
基础用法
自然语言处理
服务器支持基本的自然语言查询以列出资源:
# 列出所有 pod
result = nl_processor.process("Show me all pods")
# 列出所有部署
result = nl_processor.process("Show me all deployments")
# 带有命名空间的查询
result = nl_processor.process("Show me all resources", "kube-system")
API 端点操作
对于更复杂的操作,请使用专用 API 端点:
# 创建一个 pod
pod_service.create_pod(
name="my-pod",
namespace="default",
image="nginx:latest",
labels={"app": "my-app"}
)
# 创建一个部署
deployment_service.create_deployment(
name="my-deployment",
namespace="default",
image="nginx:latest",
replicas=3
)
# 删除命名空间
namespace_service.delete("my-namespace", force=True)
高级用法
服务器提供所有操作的 RESTful 端点:
/api/pods:列出所有 pod/api/deployments:列出所有部署/api/services:列出所有服务/api/namespaces:列出所有命名空间/api/resources:列出所有资源
📚 详细文档
与 AI 助手集成
配置如下:
# 配置路径
export PATH="/path/to/uv:$PATH"
测试
基本测试
# 安装依赖
pip install -r requirements.txt
# 运行测试
pytest tests/
详细说明
- 自然语言处理:将用户查询转换为 Kubernetes 操作。
- API 端点:提供 RESTful API 来管理 Kubernetes 资源。
📄 许可证
本项目遵循 MIT 许可证。
Scan to join WeChat group