MCP spans report JSON-RPC as a network version and infer transports from class names
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 65/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- backend-api-design, observability
Research direction
Start with the MCP server span transport-metadata entry points in both TypeScript SDK majors and compare their request metadata handling with the linked OpenTelemetry MCP transport conventions. Done means HTTP protocol/version is recorded only when observed, unknown transport and version values are omitted, mcp.transport retains the class name, and request-local user_agent.original is exposed in both majors.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- TypeScript
- Stars
- 8.7k
- Forks
- 1.9k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 543
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from getsentry/sentry-javascript
-
Browser Waiting for: Product Owner
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
getsentry/sentry-javascript#24577 · 1 comment ·
-
Task
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
getsentry/sentry-javascript#24558 · 1 comment ·
-
Task
Difficulty 1/5 Under an hour Newbie friendliness 90/100
getsentry/sentry-javascript#24557 · 1 comment ·
-
Task
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
getsentry/sentry-javascript#24556 · 1 comment ·
-
Task
Difficulty 1/5 1-3 hours Newbie friendliness 90/100
getsentry/sentry-javascript#24555 · 1 comment ·
All issues in getsentry/sentry-javascript
Similar issues
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
supermomonga/zcode-acp#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
growthbook/growthbook#7100 ·
-
triage
Difficulty 1/5 1-3 hours Newbie friendliness 88/100