标准 OTel 只报 7 次失败实际有 18 次:MCP 追踪的静默失败盲区

airesearch12 · x · 2026-10-02

作者指出 MCP 工具的一个可观测性盲区:MCP 通常在成功的 JSON-RPC 响应内以 isError: true 报错,传输层是 200 OK,标准 OpenTelemetry 因此记录为绿色正常 span——而 agent 实际收到的是 permissiondenied、notfound、validationerror 等错误。演示数据中标准 OTel 报了 7 次失败,实际有 18 次。

为此作者开发了 Node.js 的 MCP OpenTelemetry 库 opentel-mcp,新版本增加本地 dashboard,一条命令即可体验(npx opentel-mcp-ui --demo),无需 Prometheus/Grafana/Collector,可并排展示标准追踪记录 vs 实际发生的静默失败。

库的能力包括:tools/call 与 tools/list 的 span(对齐 OTel MCP 语义约定)、12 项指标(静默失败、错误、时长、token、成本、agent 重试循环、schema 漂移)、错误指纹与分类,兼容 MCP SDK v1/v2 的 stdio 和 HTTP,且不会向你的 server 抛异常。目前限制:仅服务端、只覆盖 tools 不含 resources/prompts、成本追踪需工具自行上报 token 用量。

所属事件:标准 OpenTelemetry 难以捕捉 MCP 工具静默失败(2 条相关)→

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →