Releases: weibaohui/kom
Releases · weibaohui/kom
v0.2.11
v0.2.10
v0.2.9
v0.2.8
v0.2.7
v0.2.6
v0.2.5
使用示例
0. 多集群 k8s MCP 支持
支持多个tools 支持。包括对任意资源的查询列表删除描述操作,以及POD日志读取操作。
1.集成到代码中
// 一行代码启动MCP Server
mcp.RunMCPServer("kom mcp server", "0.0.1", 9096)
2. 直接源码启动
# 源码启动
go run main.go
# MCP Server 访问地址
http://IP:9096/sse
3. 编译后启动
# 编译
go build main.go
# 运行
./main
# MCP Server 访问地址
http://IP:9096/sse
4. 集成到MCP工具中
适合MCP工具集成,如Cursor、Claude Desktop、Windsurf等,此外也可以使用这些软件的UI操作界面进行添加。
{
"mcpServers": {
"kom": {
"type": "sse",
"url": "http://IP:9096/sse"
}
}
}
MCP工具列表(49种)
类别 | 方法 | 描述 |
---|---|---|
集群管理(1) | list_clusters |
列出所有已注册的Kubernetes集群 |
部署管理(12) | scale_deployment |
扩缩容Deployment |
restart_deployment |
重启Deployment | |
stop_deployment |
停止Deployment | |
restore_deployment |
恢复Deployment | |
update_tag_deployment |
更新Deployment镜像标签 | |
rollout_history_deployment |
查询Deployment升级历史 | |
rollout_undo_deployment |
回滚Deployment | |
rollout_pause_deployment |
暂停Deployment升级 | |
rollout_resume_deployment |
恢复Deployment升级 | |
rollout_status_deployment |
查询Deployment升级状态 | |
hpa_list_deployment |
查询Deployment的HPA列表 | |
list_deployment_pods |
获取Deployment管理的Pod列表 | |
动态资源管理(含CRD,8) | get_k8s_resource |
获取k8s资源 |
describe_k8s_resource |
描述k8s资源 | |
delete_k8s_resource |
删除k8s资源 | |
list_k8s_resource |
列表形式获取k8s资源 | |
list_k8s_event |
列表形式获取k8s事件 | |
patch_k8s_resource |
更新k8s资源,以JSON Patch方式更新 | |
label_k8s_resource |
为k8s资源添加或删除标签 | |
annotate_k8s_resource |
为k8s资源添加或删除注解 | |
节点管理(8) | taint_node |
为节点添加污点 |
untaint_node |
为节点移除污点 | |
cordon_node |
为节点设置Cordon | |
uncordon_node |
为节点取消Cordon | |
drain_node |
为节点执行Drain | |
get_node_resource_usage |
查询节点的资源使用情况 | |
get_node_ip_usage |
查询节点上Pod IP资源使用情况 | |
get_node_pod_count |
查询节点上的Pod数量 | |
Pod 管理(14) | list_pod_files |
列出Pod文件 |
list_all_pod_files |
列出Pod所有文件 | |
delete_pod_file |
删除Pod文件 | |
upload_file_to_pod |
上传文件到Pod内,支持传递文本内容,存储为Pod内文件 | |
get_pod_logs |
获取Pod日志 | |
run_command_in_pod |
在Pod中执行命令 | |
get_pod_linked_service |
获取Pod关联的Service | |
get_pod_linked_ingress |
获取Pod关联的Ingress | |
get_pod_linked_endpoints |
获取Pod关联的Endpoints | |
get_pod_linked_pvc |
获取Pod关联的PVC | |
get_pod_linked_pv |
获取Pod关联的PV | |
get_pod_linked_env |
通过在pod内运行env命令获取Pod运行时环境变量 | |
get_pod_linked_env_from_yaml |
通过Pod yaml定义获取Pod运行时环境变量 | |
get_pod_resource_usage |
获取Pod的资源使用情况,包括CPU和内存的请求值、限制值、可分配值和使用比例 | |
YAML管理(2) | apply_yaml |
应用YAML资源 |
delete_yaml |
删除YAML资源 | |
存储管理(3) | set_default_storageclass |
设置默认StorageClass |
get_storageclass_pvc_count |
获取StorageClass下的PVC数量 | |
get_storageclass_pv_count |
获取StorageClass下的PV数量 | |
Ingress管理(1) | set_default_ingressclass |
设置默认IngressClass |
启动命令
mcp.RunMCPServer("kom mcp server", "0.0.1", 3619)
AI工具集成
Claude Desktop
- 打开Claude Desktop设置面板
- 在API配置区域添加MCP Server地址
- 启用SSE事件监听功能
- 验证连接状态
Cursor
- 进入Cursor设置界面
- 找到扩展服务配置选项
- 添加MCP Server的URL(例如:http://localhost:9096/sse)
Windsurf
- 访问配置中心
- 设置API服务器地址
v0.2.4
MCP工具列表(35种)
类别 | 方法 | 描述 |
---|---|---|
集群管理 | list_clusters |
列出所有已注册的Kubernetes集群 |
部署管理 | scale_deployment |
扩缩容Deployment |
restart_deployment |
重启Deployment | |
stop_deployment |
停止Deployment | |
restore_deployment |
恢复Deployment | |
update_tag_deployment |
更新Deployment镜像标签 | |
rollout_history_deployment |
查询Deployment升级历史 | |
rollout_undo_deployment |
回滚Deployment | |
rollout_pause_deployment |
暂停Deployment升级 | |
rollout_resume_deployment |
恢复Deployment升级 | |
rollout_status_deployment |
查询Deployment升级状态 | |
hpa_list_deployment |
查询Deployment的HPA列表 | |
动态资源管理 | get_dynamic_resource |
获取动态资源 |
get_dynamic_resource_describe |
描述动态资源 | |
delete_dynamic_resource |
删除动态资源 | |
list_dynamic_resource |
列出动态资源 | |
节点管理 | taint_node |
为节点添加污点 |
untaint_node |
为节点移除污点 | |
cordon_node |
为节点设置Cordon | |
uncordon_node |
为节点取消Cordon | |
drain_node |
为节点执行Drain | |
node_resource_usage |
查询节点资源使用情况 | |
node_ip_usage |
查询节点IP资源使用情况 | |
node_pod_count |
查询节点Pod数量 | |
Pod 管理 | list_pod_files |
列出Pod文件 |
list_all_pod_files |
列出Pod所有文件 | |
delete_pod_file |
删除Pod文件 | |
get_pod_logs |
获取Pod日志 | |
get_pod_linked_service |
获取Pod关联的Service | |
get_pod_linked_ingress |
获取Pod关联的Ingress | |
get_pod_linked_endpoints |
获取Pod关联的Endpoints | |
get_pod_linked_pvc |
获取Pod关联的PVC | |
get_pod_linked_pv |
获取Pod关联的PV | |
get_pod_linked_env |
获取Pod运行时环境变量 | |
get_pod_exec |
在Pod中执行命令 | |
YAML 管理 | apply_dynamic_resource |
应用YAML资源 |
delete_dynamic_resource |
删除YAML资源 |
v0.2.3
扩展MCP工具方法
delete_k8s_resource
describe_k8s_resource
get_k8s_resource
get_pod_linked_endpoints
get_pod_linked_ingresses
get_pod_linked_pv
get_pod_linked_pvc
get_pod_linked_services
get_pod_logs
list_clusters
list_k8s_event
list_k8s_resource
pod_file_operations
restart_deployment
scale_deployment