核心可观测性功能MCP trace

MCP trace

Model Context Protocol (MCP) 让 AI agent 能与外部工具和数据源交互。在对 MCP 应用做 trace 时,默认情况下客户端和服务端的操作会产生独立的 trace,这对划分服务边界很有用。

但你也可以通过将 trace 元数据从客户端传播到服务端,把这些 trace 关联起来,得到整条请求流的统一视图。

独立 trace vs. 关联 trace

独立 trace:MCP 客户端和服务端各自生成独立的 trace。当你需要清晰的服务边界,或客户端与服务端由不同团队管理时很有用。

关联 trace:通过 MCP 的 _meta 字段把 trace 上下文从客户端传播到服务端。这样能形成一个完整的关联 trace,展示从客户端经服务端再到外部 API 的整条请求流。

传播 trace 上下文

MCP 通过 _meta 字段约定支持上下文传播。把 OpenTelemetry 上下文(W3C Trace Context 格式)注入到工具调用中,就可以关联客户端和服务端的 trace:

  1. 在客户端提取当前的 trace 上下文
  2. 将其注入到 MCP 工具调用的 _meta 字段
  3. 在服务端提取并恢复该上下文
  4. 服务端的所有操作都会继承客户端的 trace 上下文

MCP trace 截图

Litefuse 中示例 trace 的链接

示例实现

完整实现可以参考 litefuse-examples 仓库,里面演示了基于 OpenAI、Exa API 和 Litefuse 的端到端 MCP trace。

这个页面对你有帮助吗?