本目录包含所有 KAgent 工具的 Go 实现,从原始 Python 实现迁移而来。这些工具旨在与模型上下文协议(Model Context Protocol, MCP)服务器配合使用,提供全面的 Kubernetes、云原生和可观测性功能。
curl -sL https://raw.githubusercontent.com/kagent-dev/tools/refs/heads/main/scripts/install.sh | bash
docker run -it --rm -p 8084:8084 ghcr.io/kagent-dev/kagent/tools:0.0.13
helm upgrade -i -n kagent --create-namespace kagent-tools oci://ghcr.io/kagent-dev/tools/helm/kagent-tools --version 0.0.13
helm ls -A
有关如何使用 AgentGateway 运行 KAgent 工具的快速入门指南,请参阅 快速入门指南。
Go 工具实现为单个 MCP 服务器,通过 MCP 协议公开所有可用工具。每个工具类别在独立的 Go 文件中实现,以提高组织性和可维护性。
k8s.go)提供全面的 Kubernetes 集群管理功能:
helm.go)提供 Helm 包管理器功能:
istio.go)提供 Istio 服务网格管理功能:
argo.go)提供 Argo Rollouts 渐进式交付功能:
cilium.go)提供 Cilium CNI 和网络功能:
prometheus.go)提供 Prometheus 监控和告警功能:
grafana.go)提供 Grafana 仪表板和告警管理功能:
datetime.go)提供时间和日期实用工具:
docs.go)提供文档查询功能:
common.go)提供通用实用函数:
kubectl(用于 Kubernetes 工具)helm(用于 Helm 工具)istioctl(用于 Istio 工具)cilium(用于 Cilium 工具)go build -o kagent-tools .
./kagent-tools
服务器使用 SSE 传输进行 MCP 通信。
| 标志 | 默认值 | 描述 |
|---|---|---|
--port, -p | 8084 | MCP 服务器运行端口 |
--metrics-port | 8084 | Prometheus 指标服务器运行端口 |
--stdio | false | 使用标准输入输出进行通信,而非 HTTP |
--tools | [](全部) | 要注册的工具提供程序的逗号分隔列表 |
--read-only | false | 禁用执行写操作的工具 |
--kubeconfig | "" | kubeconfig 文件路径(默认使用集群内配置) |
--version, -v | false | 显示版本信息并退出 |
go test -v ./...
所有工具均实现全面的错误处理,并通过 MCP 协议返回适当的错误消息。当 CLI 工具不可用或命令失败时,工具会返回描述性错误消息。
工具遵循现有认证和配置:
KUBECONFIG 环境变量工具使用通用的 runCommand 函数,该函数:
所有工具均与 MCP 协议正确集成:
mcp.ParseString、mcp.ParseBool 等进行正确的参数解析mcp.NewToolResultText 或 mcp.NewToolResultError 返回结果此 Go 实现提供与原始 Python 工具相同的功能,同时具有以下优势:
os/exec 包而非 Python 的 subprocess工具可通过环境变量进行配置:
KUBECONFIG:Kubernetes 配置文件路径PROMETHEUS_URL:默认 Prometheus 服务器 URLGRAFANA_URL:默认 Grafana 服务器 URLGRAFANA_API_KEY:默认 Grafana API 密钥MCP 服务器在可配置的 HTTP 端点(/metrics)上公开 Prometheus 指标。默认情况下,指标端点与 MCP 服务器使用相同的端口。要在单独的端口上运行:
./kagent-tools --port 8084 --metrics-port 9090
| 指标 | 类型 | 标签 | 描述 |
|---|---|---|---|
kagent_tools_mcp_server_info | Gauge | server_name, version, git_commit, build_date, server_mode | 服务器元数据(始终设为 1) |
kagent_tools_mcp_registered_tools | Gauge | tool_name, tool_provider | 每个已注册工具设为 1 |
kagent_tools_mcp_invocations_total | Counter | tool_name, tool_provider | 工具调用总次数 |
kagent_tools_mcp_invocations_failure_total | Counter | tool_name, tool_provider | 工具调用失败总次数 |
还包括标准的 Go 运行时和进程指标(goroutine、内存、CPU、文件描述符等)。
工具提供详细的错误消息并支持详细输出。调试问题时:
潜在的未来改进方向:
添加新工具或修改现有工具时:
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务