mcp-migrationlisted
Install: claude install-skill AlpayC/mcp-migration-check
# MCP 2026-07-28 migration
The 2026-07-28 revision is a refactor, not a version bump. Six things this
checker looks for break existing servers:
1. **The transport is stateless.** The `initialize`/`notifications/initialized`
handshake and the `Mcp-Session-Id` header are gone from *this* revision.
Every request carries its own protocol version and client capabilities in
`_meta`. **This does not mean deleting the handshake.** A server "wishing to
support both legacy clients … and modern clients **MAY** implement both
behaviors" and picks its semantics from how each request opens — so the goal
is to *add* the modern path, and retire the legacy one on the schedule your
own clients dictate. Removing it for compliance breaks every v1 client for
no gain.
2. **OAuth 2.1 is formalized** for remote servers: a protected MCP server acts
as an OAuth 2.1 resource server and **MUST** implement RFC 9728
protected-resource metadata.
3. **`logging`, `sampling`, and `roots` are deprecated** — still functional, with
a twelve-month minimum window, but new implementations should not adopt them.
4. **The TypeScript SDK moved to v2 under new package names.**
`@modelcontextprotocol/sdk` is the v1 line and stops at 1.30.0. v2 ships as
`@modelcontextprotocol/server` + `@modelcontextprotocol/client` (plus
`/core` and an `/express`, `/fastify` or `/hono` adapter).
5. **The Python SDK moved to v2 under the same package name.** The official
PyPI package remains