Kubectl MCP Server
使用说明
项目简介
Kubectl MCP Server (kubectl-mcp-tool) 是一个实现了 Model Context Protocol (MCP) 的服务器,它充当 AI 助手(如 Claude、Cursor、Windsurf 等 MCP 客户端)与 Kubernetes 集群之间的桥梁。通过标准化的 MCP 协议,该服务器允许 AI 助手以自然语言安全地执行 Kubernetes 操作,例如资源管理、状态监控、安全审计和问题诊断等。
主要功能点
- 核心 Kubernetes 操作: 支持连接 Kubernetes 集群,列出、管理和操作 Pod、Service、Deployment 等资源,获取日志和事件,支持 Helm v3 操作,以及 kubectl explain 和 api-resources 等高级功能。
- 自然语言处理: 能够处理自然语言查询,将其转换为 kubectl 命令,实现上下文感知的 Kubernetes 操作。
- 监控与诊断: 提供集群健康监控、资源利用率跟踪、Pod 状态检查、事件监控和告警、以及资源配置验证等功能,帮助用户诊断和解决 Kubernetes 集群问题。
- 安全性: 实施 RBAC 验证、安全上下文审计、安全连接 Kubernetes API、凭证管理和网络策略评估等安全措施。
- 多协议支持: 支持 Stdio 和 SSE 等多种传输协议,方便与不同的 MCP 客户端集成。
安装步骤
-
前提条件:
- Python 3.9+
- kubectl 命令行工具已安装并配置
- 可以访问 Kubernetes 集群
- pip (Python 包管理器)
-
安装 Kubectl MCP Server: 使用 pip 从 PyPI 安装 kubectl-mcp-tool:
pip install kubectl-mcp-tool -
验证安装: 安装完成后,可以通过以下命令检查工具是否正确安装:
kubectl-mcp --help
服务器配置
MCP 服务器需要配置在 MCP 客户端中,以便客户端能够连接并使用服务器提供的 Kubernetes 功能。以下是一些常见 MCP 客户端的配置示例,您需要根据您使用的客户端类型进行配置。
Claude Desktop 配置示例:
{ "mcpServers": { "kubernetes": { "command": "python", "args": ["-m", "kubectl_mcp_tool.cli", "serve", "--transport", "stdio"] } } }
- 'kubernetes': 服务器名称,可以自定义。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 传递给 'kubectl-mcp_tool.cli' 的参数:
- 'serve': 指定运行 MCP 服务器模式。
- '--transport', 'stdio': 指定使用 Stdio 传输协议。
Cursor AI 配置示例:
{ "tools": [ { "name": "kubectl-mcp", "command": "python", "args": ["-m", "kubectl_mcp_tool.cli", "serve", "--transport", "stdio"], "description": "A tool for interacting with Kubernetes clusters." } ] }
- 'name': 工具名称,在 Cursor AI 中用于识别该工具,可以自定义。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 传递给 'kubectl-mcp_tool.cli' 的参数,与 Claude 示例相同。
- 'description': 工具描述,用于在 Cursor AI 中显示工具的用途。
Windsurf 配置示例:
{ "extensions": [ { "name": "kubectl-mcp", "description": "Kubernetes operations using MCP", "exec": { "command": "python", "args": ["-m", "kubectl_mcp_tool.cli", "serve", "--transport", "stdio"] } } ] }
- 'name': 扩展名称,在 Windsurf 中用于识别扩展,可以自定义。
- 'description': 扩展描述,用于在 Windsurf 中显示扩展的用途。
- 'exec': 执行配置,包含 'command' 和 'args' 参数,与 Claude 和 Cursor 示例相同。
基本使用方法
-
启动 MCP 服务器: 根据您选择的传输协议(stdio 或 sse)和客户端配置,启动 kubectl-mcp-tool 服务器。通常,服务器会在后台运行,监听来自 MCP 客户端的请求。
-
在 AI 助手中使用: 在配置好 MCP 服务器后,您可以在支持 MCP 协议的 AI 助手中使用自然语言指令与 Kubernetes 集群进行交互。例如,在 Claude 中,您可以直接提问 "List all pods in my cluster"。AI 助手会将您的自然语言指令转换为 MCP 请求,发送给 Kubectl MCP Server,服务器执行相应的 kubectl 命令并将结果返回给 AI 助手。
请参考仓库的 README 文档和集成指南获取更详细的使用说明和高级配置选项。