fix(deps): sdk 1.30.0 unblocks @hono/node-server 2.x (closes #49) - #50
fix(deps): sdk 1.30.0 unblocks @hono/node-server 2.x (closes #49)#50yakimoto wants to merge 4 commits into
Conversation
closes #49, which called this a major bump needing a breaking-change assessment. that was true against @modelcontextprotocol/sdk 1.29.0, which declared @hono/node-server ^1.19.9. sdk 1.30.0, published 2026-07-27, widened the range to ^1.19.9 || ^2.0.5, so no pnpm.overrides pin is needed. forcing 2.x onto the old sdk would have meant overriding a dependency own declared range, which is the failure claude-workstation#554 documents. @modelcontextprotocol/sdk 1.29.0 -> 1.30.0 @hono/node-server 1.19.14 -> 2.0.12 the one manifest line is deliberate, not the claude-workstation#555 churn. #555 is about all 48 package.json files being reformatted and em dashes unescaped inside published description fields; that was reverted. this run touched one manifest and one line. it is load-bearing: @wave-av/mcp-server is published, and consumers resolve against its declared range rather than our lockfile, so ^1.0.0 would let them pull sdk 1.29.x and the vulnerable node-server straight back in. pnpm install --frozen-lockfile clean, pnpm -r build clean, 143 tests / 52 files / 48 packages green, type-check clean. packages/mcp-server/src/server.ts imports only StdioServerTransport and never builds an HTTP transport, so node-server sits off the exercised path. the identical bump was verified end to end on wave-av/mcp-server#68 by driving the built binary over stdio: initialize plus tools/list returning all 18 tools, matching baseline. CI cannot run.
|
|
Warning Review limit reachedNext included review available in 13 seconds. View limit detailsLimit details: You’ve used the included review currently available. Your 95 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Team Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_7383ed78-198a-429f-83ad-92da8f883030) |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
Resolves CHANGELOG.md Unreleased-section conflict by keeping both entries (Security note on top, Go 1.25 floor Changed note below). Regenerated sdk-typescript/pnpm-lock.yaml instead of hand-merging: pnpm's incremental lockfile-only resolve kept the stale @hono/node-server@1.19.14 pin (still satisfies the SDK's ^1.19.9||^2.0.5 range) rather than advancing it, so the two @hono/node-server registry entries were dropped from the lockfile first to force a fresh resolution — it now resolves to 2.1.1, clearing the moderate advisory this PR targets (same fix intent as the PR's original 2.0.12, on a newer patch).
🤖 CodeAnt AI — Review Status
|
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_9ed337cf-2052-4b25-b8db-6ea2c0b2b91e) |
| }, | ||
| "dependencies": { | ||
| "@modelcontextprotocol/sdk": "^1.0.0", | ||
| "@modelcontextprotocol/sdk": "^1.30.0", |
There was a problem hiding this comment.
Suggestion: The new SDK resolves @hono/node-server 2.1.1, which requires Node 20; Node 18 consumers can fail installation under engine-strict. [api mismatch]
Assessment: 🟠 Major · 🔁 Occurrence: Sometimes
Prompt for AI Agent 🤖
This is a comment left during a code review.
**Path:** sdk-typescript/packages/mcp-server/package.json
**Line:** 67:67
**Comment:**
*Api Mismatch: The new SDK resolves `@hono/node-server` 2.1.1, which requires Node 20; Node 18 consumers can fail installation under engine-strict.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
CodeAnt Nitpicks1 code suggestion1. The entry says the transitive package is version 2.0.12, but this workspace lockfile resolves
|
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This published dependency update resolves @hono/node-server 2.1.1, which requires Node 20 while the MCP server still declares Node 18 support, potentially breaking engine-strict installations. The unresolved compatibility concern and changes to files owned by the SDK owners make the security-focused dependency change non-inert. Not approved because:
Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more. |
…-node-server # Conflicts: # CHANGELOG.md
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_2328be00-6175-4629-8584-f7c8b5abc276) |
User description
Closes #49.
#49 asked the wrong question, and the answer changed underneath it
I filed #49 saying this needed a breaking-change assessment because
1.19.14 → 2.0.5is a major jump. That framing was correct against SDK 1.29.0, which pinned@hono/node-server: ^1.19.9— the only way through was apnpm.overridesentry forcing 2.x against a dependency's own declared range, which is exactly the trap in claude-workstation#554.@modelcontextprotocol/sdk@1.30.0shipped on 2026-07-27 and widened that range to^1.19.9 || ^2.0.5. So there is no override, no pin, and no breaking-change assessment to make — the SDK maintainers did it. Updating the SDK is the whole fix.@hono/node-serveris not declared by any manifest in this workspace; it arrives solely through the SDK:The one manifest line, and why it stays
"dependencies": { - "@modelcontextprotocol/sdk": "^1.0.0", + "@modelcontextprotocol/sdk": "^1.30.0",This is not the churn from claude-workstation#555. That issue is about
pnpm update --recursive --lockfile-onlysilently reformatting all 48package.jsonfiles and unescaping—into literal em-dashes inside publisheddescriptionfields — 928 lines of it, reverted before it could ship. This run touched one manifest and one line.And it's load-bearing.
@wave-av/mcp-serveris published, so downstream consumers resolve against its declared range, not our lockfile. Left at^1.0.0, a consumer could resolve SDK 1.29.x and pull the vulnerable@hono/node-serverright back in.^1.30.0states the requirement that actually exists.Verification
CI can't run — Actions are refusing every job org-wide on an account-level billing lock (
plan=free,locked=yes, confirmed live this morning againstadkanddispatch-edge). All local:pnpm auditcompares version strings and never loads a module, so it can't be the evidence here. Two things stand in for it:packages/mcp-server/src/server.tsimports onlyStdioServerTransportand never constructs an HTTP transport, so@hono/node-serveris in the tree but off the exercised code path.initialize→wave-mcp-server, protocol2025-06-18;tools/list→ 18 tools, byte-identical to baseline.Merge-order note
#48 also rewrites
sdk-typescript/pnpm-lock.yaml. This PR is based onmain@9eb128aand is independent of it, but the two will conflict textually. Whichever lands second should re-run its own update command rather than hand-merging the lockfile — a hand-merged pnpm lockfile is how you get a tree that installs but doesn't match either intent.After #48 and this one, the only alerts left on the repo are
vite×2 andesbuild×1, all dev-only viavitest, which Renovate #24 already bumps.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is enabled.Note
Low Risk
Dependency-only change with no application source edits; runtime path uses stdio transport, though downstream installs still pick up the updated transitive tree.
Overview
Addresses #49 by raising
@modelcontextprotocol/sdkfrom^1.0.0to^1.30.0in@wave-av/mcp-server, with lockfile updates so the resolved SDK is 1.30.0 and the transitive@hono/node-servermoves from 1.19.x to 2.1.1 (≥ 2.0.5), clearing the moderate advisory withoutpnpm.overrides.The
^1.30.0floor matters for published consumers: a loose^1.0.0range could still resolve 1.29.x and pull the vulnerable Hono stack. CHANGELOG adds an [Unreleased] → Security entry documenting the fix.Reviewed by Cursor Bugbot for commit de0be71. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Update
@modelcontextprotocol/sdkto^1.30.0in@wave-av/mcp-serverso consumers resolve@hono/node-server2.x transitively, clearing the moderate advisory without overrides.SDK 1.30.0 widened its
@hono/node-serverrange to^1.19.9 || ^2.0.5, so nopnpm.overridespin is needed. The^1.30.0floor is load-bearing:@wave-av/mcp-serveris published, and consumers resolve against its declared range rather than our lockfile, so^1.0.0would still allow SDK 1.29.x and the vulnerable@hono/node-server. Mergedmain, keeping both the Security changelog entry and the Go 1.25 note; regeneratedsdk-typescript/pnpm-lock.yamlrather than hand-merging, dropping the stale@hono/node-server@1.19.14entries to force a fresh resolve to2.1.1.Verification
@hono/node-serveris in the tree but off the exercised path.Written for commit fc82be8. Summary will update on new commits.
Summary by Sourcery
Update the MCP server SDK dependency to ^1.30.0, bringing in a fixed transitive @hono/node-server version and removing the need for overrides or pins.
Bug Fixes:
Enhancements:
Documentation:
CodeAnt-AI Description
Update the MCP server dependencies to resolve a moderate security advisory
What Changed
Impact
✅ Removes the vulnerable Hono Node server version✅ Keeps published MCP server consumers on the fixed SDK range✅ Avoids dependency overrides and forced version pins💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.