Skip to content

Port the MCP client to the @modelcontextprotocol/*@2 family — spike first #562

Description

@Weegy

Supersedes the mechanical reading of #540.

@modelcontextprotocol/sdk is the frozen v1 line (1.30.0 still reports 2025-11-25). Real
2026-07-28 support lives in a new scoped family
(@modelcontextprotocol/{core,client,server,node,hono,express,fastify,server-legacy,codemod}@2.0.0),
so #540 is a major port, not a version bump.

The port was investigated during PR #550 and deliberately rejected, on evidence: v2 negotiates
era=legacy by default, so porting buys zero protocol capability, and its result schema would
silently strip resultType — breaking MRTR undetectably, with no test able to catch it.

What makes it worth revisiting: v2 exports PerRequestHTTPServerTransport, exactly the primitive
LoopbackMcpServer and PublicMcpServer hand-roll today because v1's stateless transport throws
'Stateless transport cannot be reused across requests' on second use.

Split into a spike (does v2 negotiate the modern era at all, and what does it do to resultType and
inputRequests on the wire?) and only then a mechanical port. Full port map and acceptance criteria:
wave3-port-brief.md from the #550 working set.

Filed as a follow-up from PR #550 (MCP 2026-07-28 cluster, wave 4–6).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions