使用说明
项目简介
Kubernetes MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为大型语言模型 (LLM) 提供与 Kubernetes 集群交互的能力。通过标准化的 MCP 协议,LLM 可以调用服务器提供的工具,安全、便捷地获取 Kubernetes 集群的资源信息和执行管理操作。
主要功能点
- API 资源发现: 允许 LLM 获取 Kubernetes 集群中所有可用的 API 资源类型,例如 Pod、Deployment、Service 等。
- 资源列表: 支持 LLM 查询指定类型的 Kubernetes 资源列表,并可以根据命名空间和标签进行过滤,精确获取所需信息。
- 标准化接口: 采用 MCP 协议作为通信标准,确保与各种 MCP 客户端的兼容性和互操作性。
- 灵活配置: 支持连接不同的 Kubernetes 集群环境,适应不同的资源访问范围和权限需求。
安装步骤
-
克隆仓库:
git clone https://github.com/reza-gholizade/k8s-mcp-server.git cd k8s-mcp-server -
安装依赖:
go mod download -
构建服务器:
go build -o k8s-mcp-server main.go
服务器配置
MCP 客户端需要以下配置信息来连接 Kubernetes MCP Server。请将以下 JSON 配置添加到您的 MCP 客户端配置中:
{ "serverName": "Kubernetes MCP Server", // 服务器名称,用于在客户端中标识 "command": "./k8s-mcp-server", // 启动服务器的命令,假设 k8s-mcp-server 可执行文件在当前目录下 "args": [] // 启动命令参数,此服务器无需额外参数 }
配置说明:
- 'serverName': 自定义的服务器名称,方便在 MCP 客户端界面中识别和管理不同的 MCP 服务器连接。
- 'command': 启动 Kubernetes MCP Server 的可执行文件路径。在完成安装步骤后,'k8s-mcp-server' 可执行文件应位于仓库根目录下。
- 'args': 启动命令的参数列表。此 Kubernetes MCP Server 默认监听标准输入/输出,无需额外的启动参数。
基本使用方法
Kubernetes MCP Server 通过标准输入 (stdin) 接收来自 MCP 客户端的 JSON-RPC 请求,并通过标准输出 (stdout) 返回 JSON-RPC 响应。
示例请求:
-
获取 API 资源列表:
发送以下 JSON 请求到服务器的标准输入,以获取 Kubernetes 集群中所有可用的 API 资源:
{ "tool": "getAPIResources", "params": { "includeNamespaceScoped": true, "includeClusterScoped": true } }服务器将返回包含 API 资源列表的 JSON 响应到标准输出。
-
列出 Pod 资源:
发送以下 JSON 请求以列出 'default' 命名空间下标签为 'app=myapp' 的 Pod 资源:
{ "tool": "listResources", "params": { "Kind": "Pod", "namespace": "default", "labelSelector": "app=myapp" } }服务器将返回包含 Pod 资源列表的 JSON 响应。
请参考仓库 'README.md' 文件和代码示例,了解更多可用工具和参数信息。
信息
分类
开发者工具