用途:KubeSense MCP 是 KubeSense 各类查询技能底层的共享工具层,统一字段名、WHERE 语法和输出格式,避免各信号技能重复定义契约。按问题路由:日志与 grep 用 kubesense-logs,延迟与 span 用 kubesense-traces,CPU/内存/PromQL 用 kubesense-metrics,运行状态与变更用 kubesense-infra,告警用 kubesense-alerts。
连接:由 kubeapi 在 /mcp 以 Streamable HTTP 提供,挂载于 /api 组之外,凭据同 REST API。API key 不过期(推荐智能体使用),也可用会过期的 JWT。示例:
claude mcp add --scope user --transport http kubesense
https://<your-kubesense-host>/mcp
--header "x-api-key: <your-api-key>"
存活检查 GET /mcp_health;用 get-current-user 确认身份(无参数)。RBAC 按工具调用针对 logs、traces、infrastructure、alerts 模块解析,权限错误会指明模块。服务端可设 MCP_LOG_LEVEL=debug 记录每次调用参数,而不提高全局日志级别。
主要能力:共 38 个工具。发现类:get-trace-or-log-fields、get-available-metrics、get-metric-labels。查询类:search-logs、search-traces(默认 10 行)、analyze-logs、analyze-traces、analyze-metrics、analyze-telemetry(多查询加公式)、get-distributed-trace(按 trace_id 取完整 span 树)、execute-sql/validate-sql(ClickHouse 只读逃生通道,受范围限制角色会被拒绝)、execute-spl/validate-spl(仅日志,SPL 接受存储列名,且未知字段与函数也能通过解析,故须先校验)。清点类:list-clusters、list-nodes、get-node-detail、list-pods、get-pod-detail、list-workloads、get-workload-detail、list-issues、get-infra-issues、get-recent-changes。告警类:list-alerts、list-active-alerts、list-alert-rules、get-alert-details、get-alert-history、list-notification-channels、find-investigation-for-alert。身份与校验:get-current-user、validate-alert-json、validate-dashboard-json(只读)。写入:create-alert、create-dashboard,带写注解并需用户批准,调用前须说明将创建的内容,并先调用 list-notification-channels,否则不会通知任何人。
关键规则:先发现再查询,字段、指标、集群一律不猜;get-trace-or-log-fields 要传与查询相同的窗口,属性键按窗口作用域变化。日志/链路输入只接受目录标签,存储列名会被拒绝;两个信号在 node/node_name、严重级别命名与大小写上不一致,service 仅存在于链路。枚举大小写从 enum_values 读取,勿用 example。WHERE 仅支持 = != < > <= >= LIKE ILIKE SUBSTR_ILIKE IN 与 AND/OR/NOT 及括号;含 /、:、%、空格的取值须双引号;用 NOT (x IN (...))。value_operation 用 row_count。数字用 analyze-,只有读记录才用 search-;比率用 analyze-telemetry 加公式。空结果不等于零。search-logs/search-traces 无 page/offset,靠收窄 to_time 翻页,窗口半开且须复制毫秒精度。清点与告警工具用 page/page_size(默认 50)或 limit/offset。
限制:HAS_TOKEN、HAS_ALL、HAS_ANY、LIKE_AND、ILOG、IS_IP_ADDRESS、EXIST 等操作符在 WHERE 中不可用,exist(@field) 在所有信号上均失效,没有可用的存在性检查。链路信号上 @attr 过滤会被当作未知字段拒绝(服务端缺陷)。duration 为毫秒输入、纳秒输出。具体字段表见 references/field-catalog.md,多查询示例见 references/multi-query.md。其他平台支持与收费信息暂未提供。