Summary
The MCP 2026-07-28 specification (final July 28) is the largest protocol revision since launch, and the TypeScript SDK is splitting into separate packages (v2). MCPico needs to migrate from @modelcontextprotocol/sdk v1 to @modelcontextprotocol/server v2 post-July-28.
What changes (spec)
- Stateless protocol core: No more initialize/initialized handshake, no
Mcp-Session-Id. MCP-Protocol-Version, Mcp-Method, Mcp-Name ride as HTTP headers on every request.
- Extensions framework: Extensions now first-class with reverse-DNS IDs, versioned independently.
- Tasks: Moves from experimental core to extension with new lifecycle (
tasks/get, tasks/update, tasks/cancel).
- MCP Apps: Server-rendered sandboxed UIs (extension).
- Auth hardening: Issuer validation (RFC 9207),
application_type in DCR, credential binding.
- Deprecations: Roots, Sampling, Logging (annotations only, 12-month window).
- JSON Schema 2020-12: Full support for tool schemas.
- Cache headers:
ttlMs and cacheScope on list/read results.
- Multi Round-Trip Requests:
InputRequiredResult replaces SSE streaming for elicitation.
- W3C Trace Context: Documented propagation via
_meta.
What changes (SDK)
- Monolith
@modelcontextprotocol/sdk v1 becomes split packages: @modelcontextprotocol/server, @modelcontextprotocol/client, @modelcontextprotocol/server/stdio
- ESM-only (Node 20+)
McpServer.tool() becomes McpServer.registerTool() using Standard Schema (Zod v4 compatible)
StreamableHTTPServerTransport becomes PerRequestHTTPServerTransport or createMcpHandler
- Codemod available:
npx @modelcontextprotocol/codemod@beta v1-to-v2
MCPico impact
Most changes come for free via the SDK upgrade. Items worth active attention:
Post-migration enhancements
Compatibility checks
Timeline
- Now: v2 SDK at
2.0.0-beta.3 (npm @modelcontextprotocol/server@beta)
- July 28, 2026: MCP 2026-07-28 spec final
- ~August 2026: v2 SDK stable expected
- After v2 stable: Migration window. v1 SDK gets bug/security fixes for 6+ months, so no rush.
Resources
Summary
The MCP 2026-07-28 specification (final July 28) is the largest protocol revision since launch, and the TypeScript SDK is splitting into separate packages (v2). MCPico needs to migrate from
@modelcontextprotocol/sdkv1 to@modelcontextprotocol/serverv2 post-July-28.What changes (spec)
Mcp-Session-Id.MCP-Protocol-Version,Mcp-Method,Mcp-Nameride as HTTP headers on every request.tasks/get,tasks/update,tasks/cancel).application_typein DCR, credential binding.ttlMsandcacheScopeon list/read results.InputRequiredResultreplaces SSE streaming for elicitation._meta.What changes (SDK)
@modelcontextprotocol/sdkv1 becomes split packages:@modelcontextprotocol/server,@modelcontextprotocol/client,@modelcontextprotocol/server/stdioMcpServer.tool()becomesMcpServer.registerTool()using Standard Schema (Zod v4 compatible)StreamableHTTPServerTransportbecomesPerRequestHTTPServerTransportorcreateMcpHandlernpx @modelcontextprotocol/codemod@beta v1-to-v2MCPico impact
Most changes come for free via the SDK upgrade. Items worth active attention:
Post-migration enhancements
tools/listper server TTL instead of re-fetching on everyhelp_<group>calloauth-provider.tsfor SEP-2468Compatibility checks
Timeline
2.0.0-beta.3(npm@modelcontextprotocol/server@beta)Resources