K8s MCP Server 是一个用于简化 Kubernetes 操作的工具,它支持通过自然语言交互,执行 kubectl 命令、部署 Helm Chart、管理 Istio 服务网格和 ArgoCD 应用等功能。
使用以下命令启动 K8s MCP Server:
docker run -i --rm ghcr.io/alexei-led/k8s-mcp-server:latest
通过自然语言与 MCP 服务器交互,例如:
flowchart TB
User->MCP_Server: "显示默认命名空间中的所有 pod"
MCP_Server->K8s_API: kubectl get pods -n default
K8s_API->MCP_Server: 返回 pod 列表
MCP_Server->User: 显示结果并进行解释
K8s MCP Server 支持以下功能:
flowchart TB
subgraph "Basic Commands"
A1["显示默认命名空间中的所有 pod"]
A2["获取所有命名空间中的服务"]
A3["显示 nginx pod 的日志"]
end
flowchart TB
subgraph "故障排查"
B1["为什么我的部署没有启动?"]
B2["描述失败的 pod 并解释错误原因"]
B3["检查我的服务是否正确连接到 pod"]
end
在 config.json 中添加以下配置:
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"-e", "K8S_CONTEXT=production-cluster",
"-e", "K8S_NAMESPACE=my-application",
"-e", "K8S_MCP_TIMEOUT=600",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"-v", "/Users/YOUR_USER_NAME/.aws:/home/appuser/.aws:ro",
"-e", "AWS_PROFILE=production",
"-e", "AWS_REGION=us-west-2",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"-e", "K8S_CONTEXT=aks-cluster",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
在 config.json 中添加以下内容以启用调试模式:
{
"logging": {
"level": "debug",
"file": "mcp_server.log"
}
}
本项目遵循 MIT 许可证,具体条款如下:
版权所有 (c) 2023, Alexei Ledovskoi
Permission is granted to use, modify and distribute this software under the MIT License.