如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本目录包含所有 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 通信。
CLI 标志
| 标志 | 默认值 | 描述 |
|---|---|---|
--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、文件描述符等)。
工具提供详细的错误消息并支持详细输出。调试问题时:
潜在的未来改进方向:
添加新工具或修改现有工具时:
来自真实用户的反馈,见证轩辕镜像的优质服务