关于 Kopilot MCP
Kopilot MCP 是面向 Kubernetes 操作的 MCP 客户端与服务端,可通过自然语言查询和操作集群资源,并支持自选 LLM 提供方执行类似 kubectl 的命令。
主要功能
- 01自然语言操作 Kubernetes 资源
- 02自定义 LLM 提供方
- 03执行类似 kubectl 的操作
适用场景
- 01查询 Kubernetes 命名空间中的 Pod
- 02通过自然语言操作集群资源
MCP 相关
项目包含 MCP 客户端和服务端;运行客户端时会自动启动服务端,用于通过 MCP 调用 Kubernetes 操作工具。
详细介绍
Kopilot MCP
一个 MCP 重制版 🔧 的我的之前项目。
主要功能
- 使用 MCP 创建一个 AI Kubernetes Agent。
- 使用自然语言与 Kubernetes 资源交互。
- 自定义大模型提供商来执行"kubectl 风格"的命令。
- 学习如何使用 MCP 来标准化工具调用。
技术栈
快速开始
前置条件
- Python 3.12+
- uv
- 来自大模型提供商的 API 密钥(例如 OpenRouter)
- 一个 Kubernetes 集群。(例如 kind)
设置
- 克隆此仓库。
- 配置
config/dev/example.toml并将其重命名为config/dev/config.toml。 - 安装依赖。
uv sync
运行
- 运行 MCP 客户端。它会自动启动 MCP 服务。
uv run mcp_client.py
- 然后您会在终端中看到一个提示词:
Query (Type `exit`, `quit`, `q` to quit):
- 使用自然语言交互以操作 Kubernetes 资源。例如:
Query (Type `exit`, `quit`, `q` to quit): Get po in kube-system ns
- 您会得到类似的响应:
Here are the pods in the `kube-system` namespace:
- coredns-7db6d8ff4d-lz4s8
- coredns-7db6d8ff4d-qbgvc
- etcd-test-control-plane
- kindnet-cnjm6
- kube-apiserver-test-control-plane
- kube-controller-manager-test-control-plane
- kube-proxy-v647r
- kube-scheduler-test-control-plane
- sealed-secrets-controller-67767c668-dz4bj
项目结构
kopilot-mcp
├── README.md # Project documentation
├── config # Configuration
│ ├── config.py
│ └── dev
│ └── example.toml
├── mcp_client.py # MCP client
├── mcp_server.py # MCP server
├── mcp_server_factory.py # MCP server factory
├── pyproject.toml # Python project meta
├── scheme # scheme (Kubernetes GVR ➡ GVK)
│ ├── __init__.py
│ └── scheme.py
├── utils # Utilities
│ ├── __init__.py
│ ├── clients.py
│ ├── helpers.py
│ └── models.py
└── uv.lock # uv lock file
工作流

贡献
- Fork 仓库。
- 创建您的功能分支。
- 提交拉取请求。
许可证
MIT 许可证 - 详见 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。