← ClaudeAtlas

mcp-migrationlisted

Diagnose and carry out the migration of an MCP server to the 2026-07-28 specification — the revision that made the transport stateless, formalized OAuth 2.1, and deprecated the logging, sampling, and roots capabilities. Use this skill whenever someone mentions migrating, upgrading, or checking an MCP server against the 2026-07-28 spec; asks whether their MCP server still works, is "ready", or will break; mentions the stateless transport model, Mcp-Session-Id, or OAuth 2.1 for MCP; or is debugging an MCP server that stopped working after a spec or SDK bump. Also use it when someone asks you to review or audit MCP server code for compatibility, even if they don't name the spec date.
AlpayC/mcp-migration-check · ★ 5 · API & Backend · score 70
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