mcpField
K
Kopilot MCP

Kopilot MCP

github.com/kokoiruby编码 Agent182 周前更新

关于 Kopilot MCP

Kopilot MCP 是面向 Kubernetes 操作的 MCP 客户端与服务端,可通过自然语言查询和操作集群资源,并支持自选 LLM 提供方执行类似 kubectl 的命令。

主要功能

  1. 01自然语言操作 Kubernetes 资源
  2. 02自定义 LLM 提供方
  3. 03执行类似 kubectl 的操作

适用场景

  1. 01查询 Kubernetes 命名空间中的 Pod
  2. 02通过自然语言操作集群资源

MCP 相关

项目包含 MCP 客户端和服务端;运行客户端时会自动启动服务端,用于通过 MCP 调用 Kubernetes 操作工具。

详细介绍

Kopilot MCP

一个 MCP 重制版 🔧 的我的之前项目。

主要功能

  • 使用 MCP 创建一个 AI Kubernetes Agent。
  • 使用自然语言与 Kubernetes 资源交互。
  • 自定义大模型提供商来执行"kubectl 风格"的命令。
  • 学习如何使用 MCP 来标准化工具调用。

技术栈

快速开始

前置条件
  • Python 3.12+
  • uv
  • 来自大模型提供商的 API 密钥(例如 OpenRouter)
  • 一个 Kubernetes 集群。(例如 kind)
设置
  1. 克隆此仓库。
  2. 配置 config/dev/example.toml 并将其重命名为 config/dev/config.toml。
  3. 安装依赖。
uv sync
运行
  1. 运行 MCP 客户端。它会自动启动 MCP 服务。
uv run mcp_client.py
  1. 然后您会在终端中看到一个提示词:
Query (Type `exit`, `quit`, `q` to quit):
  1. 使用自然语言交互以操作 Kubernetes 资源。例如:
Query (Type `exit`, `quit`, `q` to quit): Get po in kube-system ns
  1. 您会得到类似的响应:
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

工作流

image

贡献

  1. Fork 仓库。
  2. 创建您的功能分支。
  3. 提交拉取请求。

许可证

MIT 许可证 - 详见 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。