mcp-k8s-eye
mcp-k8s-eye是一个可以管理kubernetes集群和分析工作负载状态的工具。
特性
Kubernetes核心操作
- \[x\] 连接到Kubernetes集群
- \[x\] 通用Kubernetes资源 管理能力
- 支持所有导航资源:Pod、Deployment、Service、StatefulSet、Ingress。.. - 支持自定义资源定义资源 - 操作包括:列表、获取、创建、更新、删除
- \[x\] Pod管理功能(exec、日志)
- \[x\] 部署管理能力(规模)
- \[x\] 描述Kubernetes资源
- \[\]解释Kubernetes资源
诊断
- \[x\] 吊舱诊断(分析吊舱状态、容器状态、吊舱资源利用率)
- \[x\] 服务诊断(分析服务选择器配置、未就绪端点、事件)
- \[x\] 部署诊断(分析可用副本)
- \[x\] StatefulSet诊断(分析StatefulSet服务(如果存在),pvc(如果存在,可用副本)
- \[x\] CronJob诊断(分析CronJob计划、开始截止日期、最后计划时间)
- \[x\] 入口诊断(分析入口类配置、相关服务、tls机密)
- \[x\] NetworkPolicy诊断(分析网络策略配置、受影响的Pod)
- \[x\] 验证webhook诊断(分析webhook配置、引用的服务和Pod)
- \[x\] 修改webhook诊断(分析webhook配置、引用的服务和Pod)
- \[x\] 节点诊断(分析节点状况)
- \[\]群集诊断和故障排除
监控
- \[x\] Pod、部署、ReplicaSet、StatefulSet、DaemonSet工作负载资源使用情况(cpu、内存)
- \[\]节点容量、利用率(cpu、内存)
- \[\]集群容量、利用率(cpu、内存)
高级功能
- \[x\] 支持多种传输协议(Stdio、SSE)
- \[x\] 支持多个AI客户端
工具使用
资源操作工具
resource_get:获取命名空间中特定资源的详细资源信息resource_list:列出命名空间中所有资源的详细资源信息resource_create_or_update:在命名空间中创建或更新资源resource_delete:删除命名空间中的资源resource_describe:描述命名空间中的资源详细信息deployment_scale:在命名空间中扩展部署pod_exec:在命名空间中的pod中执行命令\`pod_logs:从命名空间中的pod获取日志
诊断工具
pod_analyze:诊断命名空间中的所有Poddeployment_analyze:诊断命名空间中的所有部署statefulset_analyze:诊断命名空间中的所有状态集service_analyze:诊断命名空间中的所有服务cronjob_analyze:诊断命名空间中的所有cronjobsingress_analyze:诊断命名空间中的所有入口networkpolicy_analyze:诊断命名空间中的所有网络策略validatingwebhook_analyze:诊断所有正在验证的Webhooksmutatingwebhook_analyze:诊断所有变异的webhooksnode_analyze:诊断群集中的所有节点
监视工具
workload_resource_usage:获取命名空间(cpu、内存)中的pod/deploy/replicaset/statefulset资源使用情况
需求
- 达到1.23或更高
- kubectl已配置
安装
# clone the repository
git clone https://github.com/wenhuwang/mcp-k8s-eye.git
cd mcp-k8s-eye
# build the binary
go build -o mcp-k8s-eye用法
标准模式
{
"mcpServers": {
"k8s eye": {
"command": "YOUR mcp-k8s-eye PATH",
"env": {
"HOME": "USER HOME DIR"
},
}
}
}env.HOME 用于设置kubeconfig文件的HOME目录。
SSE模式
- 启动您的mcp-sse服务器
- 配置您的mcp服务器
{
"mcpServers": {
"k8s eye": {
"url": "http://localhost:8080/sse",
"env": {}
}
}
}