Repository navigation
feat(mcp): upgrade generated servers to SDK v2 - #84
ThomasRooney wants to merge 6 commits into
Conversation
BREAKING CHANGE: MCP servers require Node 20 (22.18 with Gram). Custom extensions use v2 ServerContext. Cloudflare serves stateless HTTP at /mcp and retires /sse; Node legacy SSE remains supported.
|
We detected this is a high-risk PR and are running a free ultrareview. An ultrareview is a deeper, multi-pass review that catches hard-to-find bugs a standard review can miss. We'll post the findings when it completes. This PR appears to move logic across many files, where a missed bug can hide in interactions a single-pass review does not trace, so a deeper multi-pass review is worth running. Want an ultrareview on every high-risk PR? Set up automated ultrareviews. |
Generator Snapshot Testing
Snapshot results: https://github.com/speakeasy-api/openapi-generation-snapshots/issues/111#issuecomment-6043600032 Snapshot results are summarized above. Additional run context is linked for maintainers with access. |
There was a problem hiding this comment.
We detected this is a high-risk PR and ran a free ultrareview. An ultrareview is a deeper, multi-pass review that catches hard-to-find bugs a standard review can miss.
This PR appears to move logic across many files, where a missed bug can hide in interactions a single-pass review does not trace, so a deeper multi-pass review is worth running.
Want an ultrareview on every high-risk PR? Set up automated ultrareviews.
All reported issues were addressed across 101 files
Shadow auto-approve: would not auto-approve because issues were found.
View guided diff | Turn on auto-fix | Re-trigger cubic
Keep OAuth grant credentials authoritative and isolate concurrent session requests. Preserve legacy transports and extension interfaces while generated servers move to the v2 SDK.
There was a problem hiding this comment.
All reported issues were addressed across 104 files
Shadow auto-approve: would not auto-approve because issues were found.
View guided diff | Turn on auto-fix | Re-trigger cubic
Keep optional MCP callback contexts and resource templates compatible with v1 extensions, and distinguish schema input and output. Align setup headers with each transport while retaining SSE aliases. Preserve generated declaration layout around custom metadata.
There was a problem hiding this comment.
All reported issues were addressed across 21 files (changes from recent commits).
Shadow auto-approve: would not auto-approve because issues were found.
View guided diff | Turn on auto-fix | Re-trigger cubic
Convert tuple schemas and local references to the requested dialect without changing literal defaults or validation behavior. Advertise supported global parameters and server variables for Node HTTP while keeping SSE and Worker setup headers accurate.
There was a problem hiding this comment.
All reported issues were addressed across 7 files (changes from recent commits).
Shadow auto-approve: would not auto-approve because issues were found.
View guided diff | Turn on auto-fix | Re-trigger cubic
Keep optional MCP SDKs on Zod 3 at the package root so existing schemas retain their types. Preserve stdio option layout during regeneration while creating fresh servers for protocol fallback.
There was a problem hiding this comment.
0 issues found across 7 files (changes from recent commits).
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Shadow auto-approve: would not auto-approve. Auto-approval blocked by 5 unresolved issues from previous reviews.
View guided diff | Turn on auto-fix | Re-trigger cubic
Keep the options object layout stable during regeneration and create fresh servers for stdio protocol fallback.
There was a problem hiding this comment.
All reported issues were addressed across 3 files (changes from recent commits).
Shadow auto-approve: would not auto-approve because issues were found.
View guided diff | Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR Please reassess the current head ( |
@ThomasRooney I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 108 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Shadow auto-approve: would require human review. Major SDK v1→v2 MCP migration: new Cloudflare worker credential isolation, runtime/transport changes, major bumps. Needs human sign-off: deployed disconnect behavior unverified; one customized snapshot still needs manual reconciliation.
View guided diff | Turn on auto-fix | Re-trigger cubic
Why
Upgrade generated MCP servers to the stable v2 SDK while preserving existing clients, legacy transports, and extension entrypoints.
What changed
serve,serveSSE, andmountentrypoints.extra.signal, v1 resource-template registration, and cancellation guards. Retain SDK 1.32.1 for existing extension imports alongside the v2 server packages. Keep optional MCP SDKs on root Zod 3 while the v2 dependencies use their own Zod 4.Testing
git diff --checkpassed.package.jsonandsrc/mcp-server/cli/serve/impl.ts; aggregate CI success does not establish compile success for it. Isolated copies pass type-checking, lint, bundling, stdio initialization/tool discovery, HTTP initialization, and the custom route after resolving only those conflict blocks. Existing baseline failures were checked against their actual diagnostics. A separate stale running indicator was verified as a successful compile/lint from the job log.Public-safety check
.claude/skills/public-repo-communication/SKILL.md).git diff --check.