{
  "title": "MCP Protocol Version Matrix",
  "schemaVersion": "1.0",
  "researchFreeze": "2026-08-26",
  "protocolRevision": "2026-07-28",
  "scopeNote": "The matrix covers the five principal public revisions from 2024-11-05 through 2026-07-28.",
  "count": 5,
  "records": [
    {
      "id": "R7-VER01",
      "revision": "2024-11-05",
      "specificationDate": "2024-11-05",
      "releaseContext": "Public launch announced 2024-11-25",
      "status": "Released historical revision",
      "era": "Handshake",
      "lifecycle": "initialize → initialize result → notifications/initialized",
      "protocolSessions": "Yes",
      "primaryTransports": "stdio; HTTP+SSE",
      "authorization": "No core authorization framework",
      "majorAdditions": "Original public tools, resources, prompts, sampling, roots, logging, completion",
      "majorRemovalsDeprecations": "None at release",
      "compatibilitySignificance": "Baseline launch-era behavior",
      "packageSourceIds": [
        "S027",
        "S028",
        "S029",
        "S030",
        "S031",
        "S032"
      ],
      "sourceIds": [
        "S249",
        "S026",
        "S027",
        "S028",
        "S029",
        "S030"
      ]
    },
    {
      "id": "R7-VER02",
      "revision": "2025-03-26",
      "specificationDate": "2025-03-26",
      "releaseContext": "Stable specification release",
      "status": "Released historical revision",
      "era": "Handshake",
      "lifecycle": "initialize handshake retained",
      "protocolSessions": "Yes",
      "primaryTransports": "stdio; Streamable HTTP; HTTP+SSE backward-compatibility",
      "authorization": "OAuth 2.1-oriented framework introduced",
      "majorAdditions": "Streamable HTTP, OAuth framework, JSON-RPC batching, tool annotations, audio content, completions capability",
      "majorRemovalsDeprecations": "HTTP+SSE replaced as preferred remote transport",
      "compatibilitySignificance": "First remote-service-oriented revision",
      "packageSourceIds": [
        "S033",
        "S034",
        "S035",
        "S036",
        "S037"
      ],
      "sourceIds": [
        "S035",
        "S036",
        "S156",
        "S038",
        "S037"
      ]
    },
    {
      "id": "R7-VER03",
      "revision": "2025-06-18",
      "specificationDate": "2025-06-18",
      "releaseContext": "Stable release published 2025-06-18",
      "status": "Released historical revision",
      "era": "Handshake",
      "lifecycle": "initialize handshake retained",
      "protocolSessions": "Yes",
      "primaryTransports": "stdio; sessionful Streamable HTTP",
      "authorization": "OAuth resource-server model; protected-resource metadata; Resource Indicators",
      "majorAdditions": "Structured tool output, outputSchema, resource links, elicitation, protocol-version HTTP header",
      "majorRemovalsDeprecations": "JSON-RPC batching removed",
      "compatibilitySignificance": "Security hardening and rapid reversal of batching",
      "packageSourceIds": [
        "S038",
        "S039",
        "S040",
        "S041",
        "S042",
        "S043"
      ],
      "sourceIds": [
        "S042",
        "S043",
        "S159",
        "S320",
        "S044",
        "S046"
      ]
    },
    {
      "id": "R7-VER04",
      "revision": "2025-11-25",
      "specificationDate": "2025-11-25",
      "releaseContext": "RC 2025-11-15; stable 2025-11-25",
      "status": "Released historical revision",
      "era": "Handshake",
      "lifecycle": "initialize handshake retained",
      "protocolSessions": "Yes",
      "primaryTransports": "stdio; sessionful Streamable HTTP",
      "authorization": "OIDC discovery, CIMD, incremental scope consent, richer discovery",
      "majorAdditions": "Icons, improved elicitation, tool-use during sampling, experimental Tasks, governance and SDK tiering context",
      "majorRemovalsDeprecations": "No architectural-era break yet",
      "compatibilitySignificance": "Last released handshake/session revision",
      "packageSourceIds": [
        "S044",
        "S045",
        "S046",
        "S047",
        "S048",
        "S049",
        "S087"
      ],
      "sourceIds": [
        "S048",
        "S049",
        "S160",
        "S321",
        "S187",
        "S050",
        "S336"
      ]
    },
    {
      "id": "R7-VER05",
      "revision": "2026-07-28",
      "specificationDate": "2026-07-28",
      "releaseContext": "RC 2026-05-29; stable 2026-07-28",
      "status": "Current released revision as of 2026-08-26",
      "era": "Modern/stateless core",
      "lifecycle": "Optional server/discover; self-describing requests; no initialize",
      "protocolSessions": "No protocol-level sessions",
      "primaryTransports": "stdio; sessionless Streamable HTTP",
      "authorization": "Issuer validation, credential isolation, scope step-up; CIMD preferred; DCR deprecated",
      "majorAdditions": "server/discover, MRTR, routing headers, cacheable results, extensions framework, subscriptions/listen",
      "majorRemovalsDeprecations": "initialize, initialized and Mcp-Session-Id removed; HTTP+SSE, Roots, Sampling, Logging and DCR deprecated; experimental core Tasks moved",
      "compatibilitySignificance": "Architectural era boundary",
      "packageSourceIds": [
        "S001",
        "S002",
        "S003",
        "S004",
        "S005",
        "S015",
        "S016",
        "S017",
        "S018"
      ],
      "sourceIds": [
        "S054",
        "S055",
        "S121",
        "S056",
        "S127",
        "S058",
        "S053",
        "S313",
        "S314"
      ]
    }
  ]
}