Conversation
Contributor
size-limit report 📦
|
mydea
added this pull request to stack #24534
September 21, 2026 08:30
mydea
force-pushed
the
feat/mcp-server-auto-instrumentation-e2e
branch
from
September 21, 2026 08:39
bec2e7d to
ea8d457
Compare
Add two Express e2e apps that construct an `McpServer` WITHOUT calling `wrapMcpServerWithSentry`, exercising the `mcpServer` integration's auto-wrapping over a real streamable-HTTP transport: - `node-express-mcp-v1-auto` (`@modelcontextprotocol/sdk` v1) - `node-express-mcp-v2-auto` (`@modelcontextprotocol/server` v2) Both assert the expected `mcp.server` spans (initialize, tool call, resource read, error status) still appear without a manual wrap. Bun/Deno/Cloudflare variants are intentionally left as a follow-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drop the `-auto` suffix now that auto-instrumentation is the default path: - `node-express-mcp-v1-auto` -> `node-express-mcp-v1` - `node-express-mcp-v2-auto` -> `node-express-mcp-v2`, replacing the previous manual-wrap app of that name (same assertions, now exercising the default auto path). Manual-wrap coverage remains via the cloudflare-mcp apps and the v1 `node-express*` apps. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mydea
force-pushed
the
feat/mcp-server-auto-instrumentation-e2e
branch
from
September 21, 2026 08:58
ea8d457 to
59cc528
Compare
mydea
marked this pull request as ready for review
September 21, 2026 09:05
betegon
reviewed
Sep 21, 2026
betegon
left a comment
Member
There was a problem hiding this comment.
great one!
could we keep the existing legacy coverage and add a no-wrapper HTTP scenario pinned to protocol 2026-07-28, using createMcpHandler?
The current SDK 2 scenario still uses the legacy initialization/session path (there's no initialization in v2), so it doesn't verify auto-instrumentation through the v2 entry point
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #24529.
Adds two Express e2e apps that construct an
McpServerwithout callingwrapMcpServerWithSentry, so themcpServerintegration from #24529 is the only thing producing spans — over a real streamable-HTTP transport rather than the in-memory one used by the node-integration-tests:node-express-mcp-v1—@modelcontextprotocol/sdk(v1)node-express-mcp-v2—@modelcontextprotocol/server(v2)Each asserts the expected
mcp.serverspans (initialize, tool call, resource read, error status) still appear with no manual wrap. Express is the existing convention for the sibling MCP e2e apps; MCP itself doesn't require it.node-express-mcp-v2replaces the previous manual-wrap app of that name — now that auto-instrumentation is the default path, these apps drop the interim-autosuffix and exercise the default. Manual-wrap e2e coverage remains viacloudflare-mcp(v2),cloudflare-mcp-agent(v1), and the v1node-express*apps.Bun/Deno/Cloudflare variants (hono-4 multi-entry style) are intentionally deferred to a follow-up — this PR keeps the auto-instrumentation e2e coverage node-only.
🤖 Generated with Claude Code