MCP spans report JSON-RPC as a network version and infer transports from class names
MCP server spans currently set network.protocol.version to JSON-RPC 2.0 for every transport, including stdio, and infer network.transport from substrings in transport class names. This can report an HTTP version that was never observed and classify custom transports incorrectly.
Follow the OpenTelemetry MCP transport conventions: record the actual HTTP protocol/version when request metadata provides it, and omit unknown network versions and transports. Preserve mcp.transport as the implementation class name. Also expose the available HTTP User-Agent as request-local user_agent.original on MCP spans for both TypeScript SDK majors.
This is a focused transport-metadata correction within the broader semantic-convention alignment tracked in #21482.
Source: getsentry/sentry-javascript