一个用于Kubernetes的模型上下文协议(MCP)服务器,使像Claude、Cursor和其他AI助手能够通过自然语言与Kubernetes集群进行交互。
kubectl-mcp-tool!
kubectl-mcp-tool!
kubectl-mcp-tool!
Kubectl MCP工具实现了模型上下文协议(MCP),使AI助手能够通过标准化接口与Kubernetes集群进行交互。架构包括:

该工具以两种模式运行:
有关详细的安装说明,请参阅安装指南。
你可以从PyPI直接安装kubectl-mcp-tool:
pip install kubectl-mcp-tool
对于特定版本:
pip install kubectl-mcp-tool==1.1.1
该包在PyPI上可用:https://pypi.org/project/kubectl-mcp-tool/1.1.1/
# 从PyPI安装最新版本
pip install kubectl-mcp-tool
# 或从GitHub安装开发版本
pip install git+https://github.com/rohitg00/kubectl-mcp-server.git
# 克隆仓库
git clone https://github.com/rohitg00/kubectl-mcp-server.git
cd kubectl-mcp-server
# 开发模式安装
pip install -e .
安装后,验证工具是否正常工作:
kubectl-mcp --help
注意:此工具设计为AI助手连接的MCP服务器,而不是直接替代kubectl。主要命令是kubectl-mcp serve,它启动MCP服务器。
如果你更喜欢使用Docker,可以在Docker Hub上找到预构建的镜像:
# 拉取最新镜像
docker pull rohitghumare64/kubectl-mcp-server:latest
容器内的服务器监听端口8000。将主机上的任意空闲端口绑定到8000,并挂载你的kubeconfig:
# 将8081替换为你主机上的任意空闲端口
# 挂载你的本地~/.kube目录以访问集群凭证
docker run -p 8081:8000 \
-v $HOME/.kube:/root/.kube \
rohitghumare64/kubectl-mcp-server:latest
-p 8081:8000 将主机端口8081映射到容器端口8000。-v $HOME/.kube:/root/.kube 挂载你的kubeconfig以便服务器可以访问集群。如果你想构建并推送一个多架构镜像(使其能在x86_64和Apple Silicon上运行),可以使用Docker Buildx:
# 确保每台机器上Buildx和QEMU已安装一次
# docker buildx create --name multiarch --use
# docker buildx inspect --bootstrap
# 构建并推送linux/amd64和linux/arm64
# (如果发布到自己的注册表,请替换<your_username>)
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t rohitghumare64/kubectl-mcp-server:latest \
--push .
发布的镜像将包含两个架构的清单列表,Docker会自动在每台机器上拉取正确的变体。
MCP服务器允许访问以下路径来读取你的Kubernetes配置:
run:
volumes:
- '{{kubectl-mcp-server.kubeconfig}}:/root/.kube'
config:
description: MCP服务器允许访问此路径
parameters:
type: object
properties:
kubeconfig:
type: string
default:
$HOME/.kube
required:
- kubeconfig
此配置允许用户将他们的kubeconfig目录添加到容器中,使MCP服务器能够与其Kubernetes集群进行身份验证。
MCP服务器(kubectl_mcp_tool.mcp_server)是一个基于FastMCP SDK的强大实现,提供了跨不同AI助手的增强兼容性:
注意:如果你遇到MCP服务器实现中的任何错误,可以通过在配置中将
kubectl_mcp_tool.mcp_server替换为kubectl_mcp_tool.minimal_wrapper来回退到最小包装器。最小包装器提供了基本功能,但实现更为简单。
直接配置
{
"mcpServers": {
"kubernetes": {
"command": "python",
"args": ["-m", "kubectl_mcp_tool.mcp_server"],
"env": {
"KUBECONFIG": "/path/to/your/.kube/config",
"PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
"MCP_LOG_FILE": "/path/to/logs/debug.log",
"MCP_DEBUG": "1"
}
}
}
}
关键环境变量
MCP_LOG_FILE:日志文件路径(推荐避免stdout污染)MCP_DEBUG:设置为"1"启用详细日志MCP_TEST_MOCK_MODE:设置为"1"使用模拟数据而非真实集群KUBECONFIG:Kubernetes配置文件路径KUBECTL_MCP_LOG_LEVEL:设置为"DEBUG"、"INFO"、"WARNING"或"ERROR"测试MCP服务器 你可以通过以下命令测试服务器是否正常工作:
python -m kubectl_mcp_tool.simple_ping
这将尝试连接到服务器并执行ping命令。
或者,你可以直接运行服务器:
python -m kubectl_mcp_tool
在Claude桌面配置~/Library/Application\ Support/Claude/claude_desktop_config.json(Windows:%APPDATA%\Claude\mcp.json)中添加以下内容:
{
"mcpServers": {
"kubernetes": {
"command": "python",
"args": ["-m", "kubectl_mcp_tool.mcp_server"],
"env": {
"KUBECONFIG": "$HOME/.kube/config" // 或者你的配置文件的实际路径
}
}
}
}
在Cursor AI设置下的MCP中添加一个新的全局MCP服务器:
{
"mcpServers": {
"kubernetes": {
"command": "python",
"args": ["-m", "kubectl_mcp_tool.mcp_server"],
"env": {
"KUBECONFIG": "/path/to/your/.kube/config",
"PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin"
}
}
}
}
保存此配置到~/.cursor/mcp.json以进行全局设置。
注意:将
/path/to/your/.kube/config替换为实际的kubeconfig文件路径。大多数系统上,这将是~/.kube/config。
在Windsurf配置~/.config/windsurf/mcp.json(Windows:%APPDATA%\WindSurf\mcp.json)中添加以下内容:
{
"mcpServers": {
"kubernetes": {
"command": "python",
"args": ["-m", "kubectl_mcp_tool.mcp_server"],
"env": {
"KUBECONFIG": "/path/to/your/.kube/config"
}
}
}
}
要自动配置所有支持的AI助手,运行提供的安装脚本:
bash install.sh