{
  "title": "MCP Apps Normalized Claim Register",
  "schemaVersion": "1.0",
  "researchFreeze": "2026-08-26",
  "protocolRevision": "MCP Apps 2026-01-26 / ext-apps SDK v1.7.5 / MCP core 2026-07-28",
  "sourcePackage": "research/9",
  "integrityNote": "The 93 ordinary archive entries verify. Two self-referential bookkeeping entries have disclosed stale final rows; public corrections do not modify the raw archive.",
  "count": 136,
  "records": [
    {
      "claimId": "R9-C001",
      "packageClaimId": "C001",
      "claim": "MCP Apps is the first official MCP extension.",
      "dateRange": "2026-01-26",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S002",
        "S004"
      ],
      "sourceIds": [
        "S059",
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Official launch and stable SEP."
    },
    {
      "claimId": "R9-C002",
      "packageClaimId": "C002",
      "claim": "The public MCP Apps proposal was announced on November 21, 2025.",
      "dateRange": "2025-11-21",
      "protocolOrReleaseVersion": "Proposal",
      "packageSourceIds": [
        "S001",
        "S020"
      ],
      "sourceIds": [
        "S388",
        "S405"
      ],
      "confidence": "VERIFIED",
      "notes": "Announcement and initial repository commit."
    },
    {
      "claimId": "R9-C003",
      "packageClaimId": "C003",
      "claim": "MCP Apps links an MCP tool to a UI resource through _meta.ui.resourceUri.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006"
      ],
      "sourceIds": [
        "S390",
        "S136"
      ],
      "confidence": "VERIFIED",
      "notes": "Stable specification."
    },
    {
      "claimId": "R9-C004",
      "packageClaimId": "C004",
      "claim": "Stable MCP App UI resources use the ui:// URI scheme.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Normative stable specification."
    },
    {
      "claimId": "R9-C005",
      "packageClaimId": "C005",
      "claim": "The stable HTML media type is text/html;profile=mcp-app.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Normative stable specification."
    },
    {
      "claimId": "R9-C006",
      "packageClaimId": "C006",
      "claim": "A compatible host renders an MCP App View in a sandboxed iframe or equivalent isolated environment.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Normative and official overview."
    },
    {
      "claimId": "R9-C007",
      "packageClaimId": "C007",
      "claim": "The View and Host communicate using JSON-RPC 2.0 over postMessage.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S015"
      ],
      "sourceIds": [
        "S390",
        "S400"
      ],
      "confidence": "VERIFIED",
      "notes": "Stable spec and SDK transport."
    },
    {
      "claimId": "R9-C008",
      "packageClaimId": "C008",
      "claim": "The App–Host ui/initialize lifecycle is distinct from the removed core MCP initialize handshake. Implement it with ui/initialize, appInfo, and appCapabilities; do not copy the misleading initialize/clientInfo sample tracked in ext-apps issue #634.",
      "dateRange": "2026-07-28+",
      "protocolOrReleaseVersion": "Apps stable + MCP 2026-07-28",
      "packageSourceIds": [
        "S004",
        "S026",
        "S082"
      ],
      "sourceIds": [
        "S390",
        "S054",
        "S058",
        "S460"
      ],
      "confidence": "STRONGLY_SUPPORTED",
      "notes": "Keeps core MCP negotiation separate from the extension-local View–Host lifecycle and records the stable-spec sample erratum.",
      "packageSnapshot": {
        "claim": "The App–Host ui/initialize lifecycle is distinct from the removed core MCP initialize handshake.",
        "dateRange": "2026-07-28+",
        "protocolOrReleaseVersion": "Apps stable + MCP 2026-07-28",
        "notes": "Comparison of two official specifications."
      },
      "editorialCorrection": "Added the official project erratum so the dated lifecycle sample is not presented as implementation guidance."
    },
    {
      "claimId": "R9-C009",
      "packageClaimId": "C009",
      "claim": "MCP Apps is optional and capability negotiation is core-version specific: stable-era clients negotiated extensions during initialize, while MCP 2026-07-28 sends client capabilities per request and exposes server capabilities through server/discover. The separate View–Host lifecycle still begins with ui/initialize.",
      "dateRange": "2026-01-26 stable Apps; core behavior qualified through MCP 2026-07-28",
      "protocolOrReleaseVersion": "MCP Apps 2026-01-26 plus MCP core 2026-07-28",
      "packageSourceIds": [
        "S004",
        "S025"
      ],
      "sourceIds": [
        "S390",
        "S164",
        "S127"
      ],
      "confidence": "VERIFIED",
      "notes": "Date-scopes the package claim across the stateless 2026-07-28 core transition.",
      "packageSnapshot": {
        "claim": "MCP Apps is optional and requires extension capability negotiation.",
        "dateRange": "2026-01-26+",
        "protocolOrReleaseVersion": "2026-01-26 stable",
        "notes": "Stable spec and extensions framework."
      },
      "editorialCorrection": "Qualified extension capability negotiation for both stable-era and current MCP core behavior."
    },
    {
      "claimId": "R9-C010",
      "packageClaimId": "C010",
      "claim": "An MCP App should preserve a useful fallback for hosts without Apps support.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Progressive enhancement guidance."
    },
    {
      "claimId": "R9-C011",
      "packageClaimId": "C011",
      "claim": "The host retains final control over display modes and tool-call mediation.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S021"
      ],
      "sourceIds": [
        "S390",
        "S406"
      ],
      "confidence": "VERIFIED",
      "notes": "Normative host behavior."
    },
    {
      "claimId": "R9-C012",
      "packageClaimId": "C012",
      "claim": "The stable display modes are inline, fullscreen and picture-in-picture.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S021"
      ],
      "sourceIds": [
        "S390",
        "S406"
      ],
      "confidence": "VERIFIED",
      "notes": "Stable spec and implementation history."
    },
    {
      "claimId": "R9-C013",
      "packageClaimId": "C013",
      "claim": "CSP and CORS solve different problems in an MCP App.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S010",
        "S062",
        "S063"
      ],
      "sourceIds": [
        "S395",
        "S438",
        "S439"
      ],
      "confidence": "VERIFIED",
      "notes": "Official SDK docs and web standards."
    },
    {
      "claimId": "R9-C014",
      "packageClaimId": "C014",
      "claim": "A CSP declaration cannot force an external API to permit a cross-origin request.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Web platform",
      "packageSourceIds": [
        "S010",
        "S063"
      ],
      "sourceIds": [
        "S395",
        "S439"
      ],
      "confidence": "VERIFIED",
      "notes": "CORS remains server-controlled."
    },
    {
      "claimId": "R9-C015",
      "packageClaimId": "C015",
      "claim": "Sandboxing and CSP reduce risk but do not make an MCP App automatically safe.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S030",
        "S064",
        "S065"
      ],
      "sourceIds": [
        "S390",
        "S410",
        "S440",
        "S441"
      ],
      "confidence": "VERIFIED",
      "notes": "Threat model and security guidance."
    },
    {
      "claimId": "R9-C016",
      "packageClaimId": "C016",
      "claim": "MCP-UI materially influenced the MCP Apps design and now implements the official extension.",
      "dateRange": "2025-2026",
      "protocolOrReleaseVersion": "Historical/current",
      "packageSourceIds": [
        "S001",
        "S004",
        "S032",
        "S033"
      ],
      "sourceIds": [
        "S388",
        "S390",
        "S412",
        "S413"
      ],
      "confidence": "VERIFIED",
      "notes": "Official proposal/spec and MCP-UI project."
    },
    {
      "claimId": "R9-C017",
      "packageClaimId": "C017",
      "claim": "OpenAI’s Apps SDK helped validate and influence the MCP Apps design.",
      "dateRange": "2025-2026",
      "protocolOrReleaseVersion": "Historical",
      "packageSourceIds": [
        "S004",
        "S035"
      ],
      "sourceIds": [
        "S390",
        "S415"
      ],
      "confidence": "VERIFIED",
      "notes": "Stable SEP motivation and OpenAI launch."
    },
    {
      "claimId": "R9-C018",
      "packageClaimId": "C018",
      "claim": "The MCP Apps specification version and ext-apps SDK package version are independent.",
      "dateRange": "2026",
      "protocolOrReleaseVersion": "Stable spec / SDK releases",
      "packageSourceIds": [
        "S004",
        "S017",
        "S019"
      ],
      "sourceIds": [
        "S390",
        "S402",
        "S404"
      ],
      "confidence": "VERIFIED",
      "notes": "Separate release/version records."
    },
    {
      "claimId": "R9-C019",
      "packageClaimId": "C019",
      "claim": "The reviewed latest ext-apps SDK release was v1.7.5 on July 23, 2026.",
      "dateRange": "2026-07-23",
      "protocolOrReleaseVersion": "SDK 1.7.5",
      "packageSourceIds": [
        "S017"
      ],
      "sourceIds": [
        "S402"
      ],
      "confidence": "VERIFIED",
      "notes": "Primary release record; live-check required later."
    },
    {
      "claimId": "R9-C020",
      "packageClaimId": "C020",
      "claim": "App-provided ephemeral tools remain draft rather than stable.",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Draft",
      "packageSourceIds": [
        "S005",
        "S079"
      ],
      "sourceIds": [
        "S391",
        "S455"
      ],
      "confidence": "VERIFIED",
      "notes": "Draft spec and active issue."
    },
    {
      "claimId": "R9-C021",
      "packageClaimId": "C021",
      "claim": "Current product support for MCP Apps is uneven.",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current ecosystem",
      "packageSourceIds": [
        "S007",
        "S041",
        "S044",
        "S046",
        "S048",
        "S081"
      ],
      "sourceIds": [
        "S392",
        "S420",
        "S143",
        "S422",
        "S424",
        "S269"
      ],
      "confidence": "STRONGLY_SUPPORTED",
      "notes": "Product-specific documentation and matrix."
    },
    {
      "claimId": "R9-C022",
      "packageClaimId": "C022",
      "claim": "Cursor explicitly documents MCP Apps support, including interactive UI views returned by MCP tools and progressive enhancement for clients without Apps rendering.",
      "dateRange": "Current product state checked 2026-08-26",
      "protocolOrReleaseVersion": "Current Cursor MCP Apps support",
      "packageSourceIds": [
        "S081"
      ],
      "sourceIds": [
        "S269"
      ],
      "confidence": "VERIFIED",
      "notes": "Reverses the package snapshot after a current first-party documentation check found an explicit Apps support statement.",
      "packageSnapshot": {
        "claim": "Cursor’s reviewed public MCP documentation did not establish MCP Apps rendering support.",
        "dateRange": "2026-08-26",
        "protocolOrReleaseVersion": "Current product state",
        "notes": "Absence from reviewed official product documentation; wording deliberately limited."
      },
      "editorialCorrection": "Corrected the archive’s stale absence claim using current official Cursor documentation."
    },
    {
      "claimId": "R9-C023",
      "packageClaimId": "C023",
      "claim": "MCP Apps can update model context through a host-mediated protocol method.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Stable spec."
    },
    {
      "claimId": "R9-C024",
      "packageClaimId": "C024",
      "claim": "A server or upstream system still must enforce business authorization for App-initiated tool calls.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security",
      "packageSourceIds": [
        "S004",
        "S030"
      ],
      "sourceIds": [
        "S390",
        "S410"
      ],
      "confidence": "VERIFIED",
      "notes": "Protocol mediation is not business authorization."
    },
    {
      "claimId": "R9-C025",
      "packageClaimId": "C025",
      "claim": "Accessibility conformance is not guaranteed by protocol conformance.",
      "dateRange": "2026",
      "protocolOrReleaseVersion": "Accessibility",
      "packageSourceIds": [
        "S057",
        "S068"
      ],
      "sourceIds": [
        "S433",
        "S444"
      ],
      "confidence": "STRONGLY_SUPPORTED",
      "notes": "WCAG plus project accessibility issue."
    },
    {
      "claimId": "R9-C026",
      "packageClaimId": "C026",
      "claim": "The stable specification currently buffers complete HTML resource content; streaming is an open proposal.",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Stable vs proposal",
      "packageSourceIds": [
        "S004",
        "S077"
      ],
      "sourceIds": [
        "S390",
        "S453"
      ],
      "confidence": "VERIFIED",
      "notes": "Stable resource model and issue."
    },
    {
      "claimId": "R9-C027",
      "packageClaimId": "C027",
      "claim": "MCP Apps can reduce repetitive conversational turns for suitable visual workflows, but the benefit requires measurement.",
      "dateRange": "2026",
      "protocolOrReleaseVersion": "Analytical",
      "packageSourceIds": [
        "S006",
        "S044"
      ],
      "sourceIds": [
        "S136",
        "S143"
      ],
      "confidence": "INFERRED",
      "notes": "Supported by official use cases; no universal benchmark."
    },
    {
      "claimId": "R9-C028",
      "packageClaimId": "C028",
      "claim": "On 2024-11-05, Original MCP revision: Tools and resources could return HTML-like data, but no standardized interactive View lifecycle existed.",
      "dateRange": "2024-11-05",
      "protocolOrReleaseVersion": "Released core protocol",
      "packageSourceIds": [
        "S026",
        "S027",
        "S028"
      ],
      "sourceIds": [
        "S054",
        "S123",
        "S124"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C029",
      "packageClaimId": "C029",
      "claim": "On 2025-06-01, MCP-UI public experimentation: Community work established UI resources, postMessage actions and host rendering patterns before formal standardization.",
      "dateRange": "2025-06-01",
      "protocolOrReleaseVersion": "Community project",
      "packageSourceIds": [
        "S032",
        "S033"
      ],
      "sourceIds": [
        "S412",
        "S413"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C030",
      "packageClaimId": "C030",
      "claim": "On 2025-08-27, Goose MCP-UI Auto Visualiser: An early host showed interactive visualizations inside an agent conversation.",
      "dateRange": "2025-08-27",
      "protocolOrReleaseVersion": "Product experiment",
      "packageSourceIds": [
        "S047"
      ],
      "sourceIds": [
        "S423"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C031",
      "packageClaimId": "C031",
      "claim": "On 2025-10-06, OpenAI launches Apps SDK preview: ChatGPT apps combined MCP-backed tools with interactive interfaces and validated broad product demand.",
      "dateRange": "2025-10-06",
      "protocolOrReleaseVersion": "Vendor product preview",
      "packageSourceIds": [
        "S035"
      ],
      "sourceIds": [
        "S415"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C032",
      "packageClaimId": "C032",
      "claim": "On 2025-11-13, ChatGPT business preview update: OpenAI expanded app availability to Business, Enterprise and Edu preview users.",
      "dateRange": "2025-11-13",
      "protocolOrReleaseVersion": "Vendor rollout",
      "packageSourceIds": [
        "S035"
      ],
      "sourceIds": [
        "S415"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C033",
      "packageClaimId": "C033",
      "claim": "On 2025-11-21, MCP Apps proposal published: SEP-1865 proposed a common extension informed by MCP-UI and the OpenAI Apps SDK.",
      "dateRange": "2025-11-21",
      "protocolOrReleaseVersion": "Proposal",
      "packageSourceIds": [
        "S001"
      ],
      "sourceIds": [
        "S388"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C034",
      "packageClaimId": "C034",
      "claim": "On 2025-11-21, ext-apps repository initial commit: The proposal and implementation work became publicly inspectable in the official repository.",
      "dateRange": "2025-11-21",
      "protocolOrReleaseVersion": "Public code",
      "packageSourceIds": [
        "S020"
      ],
      "sourceIds": [
        "S405"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C035",
      "packageClaimId": "C035",
      "claim": "On 2025-12-01, AppBridge integration tests: Host-side bridge and lifecycle behavior matured before stable release.",
      "dateRange": "2025-12-01",
      "protocolOrReleaseVersion": "Pre-GA implementation",
      "packageSourceIds": [
        "S003"
      ],
      "sourceIds": [
        "S389"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C036",
      "packageClaimId": "C036",
      "claim": "On 2026-01-08, Safe-area host context: Layout metadata addressed embedded UI constraints on different host surfaces.",
      "dateRange": "2026-01-08",
      "protocolOrReleaseVersion": "Pre-GA implementation",
      "packageSourceIds": [
        "S023"
      ],
      "sourceIds": [
        "S408"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C037",
      "packageClaimId": "C037",
      "claim": "On 2026-01-14, PDF viewer and chunked-loading example: The reference implementation demonstrated rich media, fullscreen and partial data loading.",
      "dateRange": "2026-01-14",
      "protocolOrReleaseVersion": "Pre-GA implementation",
      "packageSourceIds": [
        "S022"
      ],
      "sourceIds": [
        "S407"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C038",
      "packageClaimId": "C038",
      "claim": "On 2026-01-23, Display modes finalized before launch: Inline, fullscreen and picture-in-picture became standard app display concepts.",
      "dateRange": "2026-01-23",
      "protocolOrReleaseVersion": "Pre-GA implementation",
      "packageSourceIds": [
        "S021",
        "S004"
      ],
      "sourceIds": [
        "S406",
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C039",
      "packageClaimId": "C039",
      "claim": "On 2026-01-26, MCP Apps stable launch: MCP Apps became the first official MCP extension.",
      "dateRange": "2026-01-26",
      "protocolOrReleaseVersion": "Stable extension 2026-01-26",
      "packageSourceIds": [
        "S002",
        "S004",
        "S024"
      ],
      "sourceIds": [
        "S059",
        "S390",
        "S409"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C040",
      "packageClaimId": "C040",
      "claim": "On 2026-01-26, VS Code Insiders support: VS Code announced full MCP Apps support and several developer-oriented examples.",
      "dateRange": "2026-01-26",
      "protocolOrReleaseVersion": "Product support",
      "packageSourceIds": [
        "S044"
      ],
      "sourceIds": [
        "S143"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C041",
      "packageClaimId": "C041",
      "claim": "On 2026-02-05, VS Code stable support: The January stable VS Code release included MCP Apps.",
      "dateRange": "2026-02-05",
      "protocolOrReleaseVersion": "Product support",
      "packageSourceIds": [
        "S045"
      ],
      "sourceIds": [
        "S421"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C042",
      "packageClaimId": "C042",
      "claim": "On 2026-02-05, Accessibility issue opened: Maintainers formally recorded the shared host/app accessibility problem.",
      "dateRange": "2026-02-05",
      "protocolOrReleaseVersion": "Open standards work",
      "packageSourceIds": [
        "S068"
      ],
      "sourceIds": [
        "S444"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C043",
      "packageClaimId": "C043",
      "claim": "On 2026-02-14, Session-correlation issue documented: Old core-session behavior exposed a gap between model and AppBridge connections.",
      "dateRange": "2026-02-14",
      "protocolOrReleaseVersion": "Historical implementation problem",
      "packageSourceIds": [
        "S073"
      ],
      "sourceIds": [
        "S449"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C044",
      "packageClaimId": "C044",
      "claim": "On 2026-02-26, TomTom interactive maps: Maps, routes, traffic and EV workflows demonstrated domain-specific interactive UI.",
      "dateRange": "2026-02-26",
      "protocolOrReleaseVersion": "Vendor implementation",
      "packageSourceIds": [
        "S050",
        "S051"
      ],
      "sourceIds": [
        "S426",
        "S427"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C045",
      "packageClaimId": "C045",
      "claim": "On 2026-03-25, Claude interactive connectors documentation: Anthropic documented inline and fullscreen apps, security controls and an expanding connector catalog.",
      "dateRange": "2026-03-25",
      "protocolOrReleaseVersion": "Product rollout",
      "packageSourceIds": [
        "S041"
      ],
      "sourceIds": [
        "S420"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C046",
      "packageClaimId": "C046",
      "claim": "On 2026-04-06, Streaming HTML proposal: Larger app bundles exposed buffering and first-paint limitations in resources/read.",
      "dateRange": "2026-04-06",
      "protocolOrReleaseVersion": "Open proposal",
      "packageSourceIds": [
        "S077"
      ],
      "sourceIds": [
        "S453"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C047",
      "packageClaimId": "C047",
      "claim": "On 2026-04-28, NetSuite MCP Apps availability in Southeast Asia: Structured selectors, filters and forms moved MCP Apps into ERP workflows.",
      "dateRange": "2026-04-28",
      "protocolOrReleaseVersion": "Enterprise product adoption",
      "packageSourceIds": [
        "S052",
        "S053",
        "S056"
      ],
      "sourceIds": [
        "S428",
        "S429",
        "S432"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C048",
      "packageClaimId": "C048",
      "claim": "On 2026-05-26, Discovery gap formalized: Server/app discovery remained fragmented across host-specific catalogs.",
      "dateRange": "2026-05-26",
      "protocolOrReleaseVersion": "Open design issue",
      "packageSourceIds": [
        "S071"
      ],
      "sourceIds": [
        "S447"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C049",
      "packageClaimId": "C049",
      "claim": "On 2026-05-27, Validator and platform-test proposals: Maintainers recognized conformance and host divergence as ecosystem risks.",
      "dateRange": "2026-05-27",
      "protocolOrReleaseVersion": "Open design issues",
      "packageSourceIds": [
        "S069",
        "S070"
      ],
      "sourceIds": [
        "S445",
        "S446"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C050",
      "packageClaimId": "C050",
      "claim": "On 2026-06-05, ext-apps v1.7.4: Security dependency updates landed without SDK API changes.",
      "dateRange": "2026-06-05",
      "protocolOrReleaseVersion": "SDK release",
      "packageSourceIds": [
        "S018"
      ],
      "sourceIds": [
        "S403"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C051",
      "packageClaimId": "C051",
      "claim": "On 2026-07-23, ext-apps v1.7.5: Capability typing and CSP behavior were refined after the stable specification.",
      "dateRange": "2026-07-23",
      "protocolOrReleaseVersion": "SDK release",
      "packageSourceIds": [
        "S017"
      ],
      "sourceIds": [
        "S402"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C052",
      "packageClaimId": "C052",
      "claim": "On 2026-07-28, Current core MCP revision: Core MCP became stateless; the Apps extension retained its separate App–Host ui/initialize lifecycle.",
      "dateRange": "2026-07-28",
      "protocolOrReleaseVersion": "Core protocol release",
      "packageSourceIds": [
        "S026",
        "S082"
      ],
      "sourceIds": [
        "S054",
        "S058"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C053",
      "packageClaimId": "C053",
      "claim": "On 2026-08-04, Tool-call provenance issue: The server still lacked a standard signal distinguishing app-initiated from model-initiated calls.",
      "dateRange": "2026-08-04",
      "protocolOrReleaseVersion": "Open design issue",
      "packageSourceIds": [
        "S075"
      ],
      "sourceIds": [
        "S451"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C054",
      "packageClaimId": "C054",
      "claim": "On 2026-08-26, Current verification: Stable Apps spec remains 2026-01-26; current reviewed SDK release is v1.7.5; draft work continues.",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Research freeze",
      "packageSourceIds": [
        "S003",
        "S004",
        "S005",
        "S017"
      ],
      "sourceIds": [
        "S389",
        "S390",
        "S391",
        "S402"
      ],
      "confidence": "VERIFIED",
      "notes": "Timeline record."
    },
    {
      "claimId": "R9-C055",
      "packageClaimId": "C055",
      "claim": "In MCP Apps, User is responsible for interacts with the embedded interface and conversation",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Human intent and informed consent"
    },
    {
      "claimId": "R9-C056",
      "packageClaimId": "C056",
      "claim": "In MCP Apps, MCP Host is responsible for runs the conversation, model integration, policy, permissions and app container",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Trusted product boundary"
    },
    {
      "claimId": "R9-C057",
      "packageClaimId": "C057",
      "claim": "In MCP Apps, MCP Client is responsible for communicates with the mcp server",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Protocol boundary"
    },
    {
      "claimId": "R9-C058",
      "packageClaimId": "C058",
      "claim": "In MCP Apps, MCP Server is responsible for publishes tools and ui resources; executes or delegates operations",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "External code/service boundary"
    },
    {
      "claimId": "R9-C059",
      "packageClaimId": "C059",
      "claim": "In MCP Apps, UI Resource is responsible for supplies the view html/javascript/css",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Untrusted active content"
    },
    {
      "claimId": "R9-C060",
      "packageClaimId": "C060",
      "claim": "In MCP Apps, Sandbox Proxy is responsible for provides an isolated web origin for web hosts when used",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Host-enforced browser isolation"
    },
    {
      "claimId": "R9-C061",
      "packageClaimId": "C061",
      "claim": "In MCP Apps, View / iframe is responsible for renders the interface and handles direct user interaction",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Sandboxed third-party execution"
    },
    {
      "claimId": "R9-C062",
      "packageClaimId": "C062",
      "claim": "In MCP Apps, AppBridge is responsible for mediates view-to-host communication and tool proxies",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Host-side policy enforcement"
    },
    {
      "claimId": "R9-C063",
      "packageClaimId": "C063",
      "claim": "In MCP Apps, Underlying system is responsible for enforces final business permissions and stores data",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "API/database/SaaS security boundary"
    },
    {
      "claimId": "R9-C064",
      "packageClaimId": "C064",
      "claim": "ui/initialize is a View → Host request used to negotiate the App protocol version and app capabilities and to receive host context. Use appInfo and appCapabilities; this is not the removed core MCP initialize handshake.",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S393",
        "S460"
      ],
      "confidence": "VERIFIED",
      "notes": "Adds the official ext-apps issue #634 erratum for the misleading sample in the dated stable specification.",
      "packageSnapshot": {
        "claim": "ui/initialize is a View → Host message used to negotiate app–host protocol version, app capabilities and receive host context",
        "dateRange": "2026-01-26+",
        "protocolOrReleaseVersion": "Stable",
        "notes": "Not the removed core MCP initialize handshake. This lifecycle is extension-local."
      },
      "editorialCorrection": "Made the correct ui/initialize field names explicit and flagged the known sample erratum."
    },
    {
      "claimId": "R9-C065",
      "packageClaimId": "C065",
      "claim": "ui/notifications/initialized is a View → Host message used to signal that view initialization is complete",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Host should not send normal View traffic before readiness."
    },
    {
      "claimId": "R9-C066",
      "packageClaimId": "C066",
      "claim": "ui/notifications/tool-input-partial is a Host → View message used to provide progressively assembled tool arguments",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable optional",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "App must not rely on partial arguments for critical operations."
    },
    {
      "claimId": "R9-C067",
      "packageClaimId": "C067",
      "claim": "ui/notifications/tool-input is a Host → View message used to provide complete tool arguments",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Treat as untrusted input and validate before rendering."
    },
    {
      "claimId": "R9-C068",
      "packageClaimId": "C068",
      "claim": "ui/notifications/tool-result is a Host → View message used to deliver mcp calltoolresult to the view",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Tool output can contain untrusted or injected content."
    },
    {
      "claimId": "R9-C069",
      "packageClaimId": "C069",
      "claim": "ui/notifications/tool-cancelled is a Host → View message used to notify the view that the associated call was cancelled",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "UI should preserve a recoverable state and announce cancellation accessibly."
    },
    {
      "claimId": "R9-C070",
      "packageClaimId": "C070",
      "claim": "tools/call is a View → Host → MCP Server message used to request an app-permitted tool invocation",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable shared MCP method",
      "packageSourceIds": [
        "S004",
        "S027"
      ],
      "sourceIds": [
        "S390",
        "S123"
      ],
      "confidence": "VERIFIED",
      "notes": "Host and server both retain authorization responsibilities."
    },
    {
      "claimId": "R9-C071",
      "packageClaimId": "C071",
      "claim": "resources/read is a View → Host → MCP Server message used to read an mcp resource through the host proxy",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable shared MCP method",
      "packageSourceIds": [
        "S004",
        "S028"
      ],
      "sourceIds": [
        "S390",
        "S124"
      ],
      "confidence": "VERIFIED",
      "notes": "Host may restrict URI access; server enforces resource authorization."
    },
    {
      "claimId": "R9-C072",
      "packageClaimId": "C072",
      "claim": "ui/open-link is a View → Host message used to ask host to open an external url",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Host validates scheme, destination and user policy."
    },
    {
      "claimId": "R9-C073",
      "packageClaimId": "C073",
      "claim": "ui/message is a View → Host message used to submit message content into the host conversation",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Host may request consent and should show provenance."
    },
    {
      "claimId": "R9-C074",
      "packageClaimId": "C074",
      "claim": "ui/update-model-context is a View → Host message used to replace app-supplied model context for future turns",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004",
        "S076"
      ],
      "sourceIds": [
        "S390",
        "S452"
      ],
      "confidence": "VERIFIED",
      "notes": "Scope multiple View instances and avoid silent cross-instance overwrite."
    },
    {
      "claimId": "R9-C075",
      "packageClaimId": "C075",
      "claim": "ui/request-display-mode is a View → Host message used to request inline, fullscreen or picture-in-picture",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Host retains final control and may decline."
    },
    {
      "claimId": "R9-C076",
      "packageClaimId": "C076",
      "claim": "notifications/message is a View → Host message used to send log or telemetry message",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable shared MCP notification",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Avoid secrets and sensitive user data in logs."
    },
    {
      "claimId": "R9-C077",
      "packageClaimId": "C077",
      "claim": "ui/notifications/size-changed is a View → Host message used to notify host of preferred dimensions",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "Host should prevent layout abuse and excessive resizing."
    },
    {
      "claimId": "R9-C078",
      "packageClaimId": "C078",
      "claim": "ui/notifications/host-context-changed is a Host → View message used to update theme, locale, display mode, dimensions and related host context",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004",
        "S008"
      ],
      "sourceIds": [
        "S390",
        "S393"
      ],
      "confidence": "VERIFIED",
      "notes": "App must handle missing fields and host-specific variation."
    },
    {
      "claimId": "R9-C079",
      "packageClaimId": "C079",
      "claim": "ui/notifications/sandbox-proxy-ready is a Sandbox Proxy → Host message used to signal proxy readiness",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable web-host pattern",
      "packageSourceIds": [
        "S004",
        "S061"
      ],
      "sourceIds": [
        "S390",
        "S437"
      ],
      "confidence": "VERIFIED",
      "notes": "Host must validate message source window."
    },
    {
      "claimId": "R9-C080",
      "packageClaimId": "C080",
      "claim": "ui/notifications/sandbox-resource-ready is a Host → Sandbox Proxy message used to deliver html to the isolated proxy",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable web-host pattern",
      "packageSourceIds": [
        "S004",
        "S010"
      ],
      "sourceIds": [
        "S390",
        "S395"
      ],
      "confidence": "VERIFIED",
      "notes": "Apply sandbox and CSP before execution."
    },
    {
      "claimId": "R9-C081",
      "packageClaimId": "C081",
      "claim": "ui/resource-teardown is a Host → View message used to request graceful cleanup before destroying the view",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "App should release timers, streams and sensitive state."
    },
    {
      "claimId": "R9-C082",
      "packageClaimId": "C082",
      "claim": "App-provided tools/list and tools/call is a Host ↔ View message used to let a view declare ephemeral tools to the host",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Draft only",
      "packageSourceIds": [
        "S005",
        "S079"
      ],
      "sourceIds": [
        "S391",
        "S455"
      ],
      "confidence": "VERIFIED",
      "notes": "Do not present as stable; negotiation and provenance remain active design work."
    },
    {
      "claimId": "R9-C083",
      "packageClaimId": "C083",
      "claim": "The MCP Apps field uri means unique ui resource identifier",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Must use ui:// scheme."
    },
    {
      "claimId": "R9-C084",
      "packageClaimId": "C084",
      "claim": "The MCP Apps field mimeType means mcp app html media type",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Must be text/html;profile=mcp-app in stable MVP."
    },
    {
      "claimId": "R9-C085",
      "packageClaimId": "C085",
      "claim": "The MCP Apps field text or blob means html document bytes",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S077"
      ],
      "sourceIds": [
        "S390",
        "S453"
      ],
      "confidence": "VERIFIED",
      "notes": "Valid HTML5; full document is currently buffered."
    },
    {
      "claimId": "R9-C086",
      "packageClaimId": "C086",
      "claim": "The MCP Apps field _meta.ui.resourceUri means links a tool to its ui resource",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S006"
      ],
      "sourceIds": [
        "S390",
        "S136"
      ],
      "confidence": "VERIFIED",
      "notes": "Current recommended nested metadata form."
    },
    {
      "claimId": "R9-C087",
      "packageClaimId": "C087",
      "claim": "The MCP Apps field _meta.ui.visibility means controls model and/or app visibility",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Defaults to model and app; app-only tools stay hidden from model."
    },
    {
      "claimId": "R9-C088",
      "packageClaimId": "C088",
      "claim": "The MCP Apps field _meta.ui.csp.connectDomains means origins for fetch/xhr/websocket",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S010"
      ],
      "sourceIds": [
        "S390",
        "S395"
      ],
      "confidence": "VERIFIED",
      "notes": "Maps to connect-src; omitted means no external connections by default."
    },
    {
      "claimId": "R9-C089",
      "packageClaimId": "C089",
      "claim": "The MCP Apps field _meta.ui.csp.resourceDomains means origins for scripts, styles, fonts, images and media",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S010"
      ],
      "sourceIds": [
        "S390",
        "S395"
      ],
      "confidence": "VERIFIED",
      "notes": "Host may be stricter; declaration does not override CORS."
    },
    {
      "claimId": "R9-C090",
      "packageClaimId": "C090",
      "claim": "The MCP Apps field _meta.ui.csp.frameDomains means origins for nested iframes",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S080"
      ],
      "sourceIds": [
        "S390",
        "S456"
      ],
      "confidence": "VERIFIED",
      "notes": "Host implementation compatibility has varied."
    },
    {
      "claimId": "R9-C091",
      "packageClaimId": "C091",
      "claim": "The MCP Apps field _meta.ui.csp.baseUriDomains means allowed base uri origins",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Restricts base-uri behavior."
    },
    {
      "claimId": "R9-C092",
      "packageClaimId": "C092",
      "claim": "The MCP Apps field _meta.ui.permissions.camera means request camera permission policy",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S066"
      ],
      "sourceIds": [
        "S390",
        "S442"
      ],
      "confidence": "VERIFIED",
      "notes": "Host may decline; app must feature-detect."
    },
    {
      "claimId": "R9-C093",
      "packageClaimId": "C093",
      "claim": "The MCP Apps field _meta.ui.permissions.microphone means request microphone permission policy",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S066"
      ],
      "sourceIds": [
        "S390",
        "S442"
      ],
      "confidence": "VERIFIED",
      "notes": "Host/browser/user approval still applies."
    },
    {
      "claimId": "R9-C094",
      "packageClaimId": "C094",
      "claim": "The MCP Apps field _meta.ui.permissions.geolocation means request geolocation permission policy",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S066"
      ],
      "sourceIds": [
        "S390",
        "S442"
      ],
      "confidence": "VERIFIED",
      "notes": "No permission is guaranteed."
    },
    {
      "claimId": "R9-C095",
      "packageClaimId": "C095",
      "claim": "The MCP Apps field _meta.ui.permissions.clipboardWrite means request clipboard-write permission",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S066"
      ],
      "sourceIds": [
        "S390",
        "S442"
      ],
      "confidence": "VERIFIED",
      "notes": "Browser and host policy may deny."
    },
    {
      "claimId": "R9-C096",
      "packageClaimId": "C096",
      "claim": "The MCP Apps field _meta.ui.domain means request a dedicated stable sandbox origin",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S010"
      ],
      "sourceIds": [
        "S390",
        "S395"
      ],
      "confidence": "VERIFIED",
      "notes": "Format and validation are host-specific; useful for CORS/OAuth allowlists."
    },
    {
      "claimId": "R9-C097",
      "packageClaimId": "C097",
      "claim": "The MCP Apps field _meta.ui.prefersBorder means visual boundary preference",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Host may vary in defaults."
    },
    {
      "claimId": "R9-C098",
      "packageClaimId": "C098",
      "claim": "The MCP Apps field structuredContent means data optimized for ui rendering",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S027"
      ],
      "sourceIds": [
        "S390",
        "S123"
      ],
      "confidence": "VERIFIED",
      "notes": "Stable spec recommends keeping it out of model context."
    },
    {
      "claimId": "R9-C099",
      "packageClaimId": "C099",
      "claim": "The MCP Apps field content means text/media fallback for model and non-app hosts",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004",
        "S027"
      ],
      "sourceIds": [
        "S390",
        "S123"
      ],
      "confidence": "VERIFIED",
      "notes": "Should remain useful without UI."
    },
    {
      "claimId": "R9-C100",
      "packageClaimId": "C100",
      "claim": "The MCP Apps field _meta means additional data not intended for model context",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "2026-01-26 stable",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "Avoid secrets unless the View is authorized to receive them."
    },
    {
      "claimId": "R9-C101",
      "packageClaimId": "C101",
      "claim": "Sandboxed iframe primarily controls isolate active app code from parent dom and origin",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S006",
        "S060"
      ],
      "sourceIds": [
        "S390",
        "S136",
        "S436"
      ],
      "confidence": "VERIFIED",
      "notes": "Over-broad sandbox flags or host implementation bug"
    },
    {
      "claimId": "R9-C102",
      "packageClaimId": "C102",
      "claim": "connectDomains primarily controls allow network connections",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S010",
        "S062"
      ],
      "sourceIds": [
        "S390",
        "S395",
        "S438"
      ],
      "confidence": "VERIFIED",
      "notes": "Exfiltration or broken app when incomplete"
    },
    {
      "claimId": "R9-C103",
      "packageClaimId": "C103",
      "claim": "resourceDomains primarily controls allow external scripts/styles/fonts/images/media",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S010",
        "S065"
      ],
      "sourceIds": [
        "S390",
        "S395",
        "S441"
      ],
      "confidence": "VERIFIED",
      "notes": "Supply-chain compromise or blocked assets"
    },
    {
      "claimId": "R9-C104",
      "packageClaimId": "C104",
      "claim": "frameDomains primarily controls allow nested frames",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S080"
      ],
      "sourceIds": [
        "S390",
        "S456"
      ],
      "confidence": "VERIFIED",
      "notes": "Clickjacking/embedded third-party risk or compatibility failure"
    },
    {
      "claimId": "R9-C105",
      "packageClaimId": "C105",
      "claim": "baseUriDomains primarily controls restrict document base uri",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S067"
      ],
      "sourceIds": [
        "S390",
        "S443"
      ],
      "confidence": "VERIFIED",
      "notes": "Relative URL rewriting or injection"
    },
    {
      "claimId": "R9-C106",
      "packageClaimId": "C106",
      "claim": "Dedicated domain primarily controls stable origin for oauth callbacks and api allowlists",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S010"
      ],
      "sourceIds": [
        "S390",
        "S395"
      ],
      "confidence": "VERIFIED",
      "notes": "Origin collision, weak validation or portability loss"
    },
    {
      "claimId": "R9-C107",
      "packageClaimId": "C107",
      "claim": "CORS primarily controls permit app origin to read responses",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S010",
        "S063"
      ],
      "sourceIds": [
        "S395",
        "S439"
      ],
      "confidence": "VERIFIED",
      "notes": "CSP allows request but API blocks response"
    },
    {
      "claimId": "R9-C108",
      "packageClaimId": "C108",
      "claim": "camera primarily controls capture video",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S066"
      ],
      "sourceIds": [
        "S390",
        "S442"
      ],
      "confidence": "VERIFIED",
      "notes": "Privacy invasion"
    },
    {
      "claimId": "R9-C109",
      "packageClaimId": "C109",
      "claim": "microphone primarily controls capture audio",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S066"
      ],
      "sourceIds": [
        "S390",
        "S442"
      ],
      "confidence": "VERIFIED",
      "notes": "Eavesdropping/privacy harm"
    },
    {
      "claimId": "R9-C110",
      "packageClaimId": "C110",
      "claim": "geolocation primarily controls access location",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S066"
      ],
      "sourceIds": [
        "S390",
        "S442"
      ],
      "confidence": "VERIFIED",
      "notes": "Location privacy leakage"
    },
    {
      "claimId": "R9-C111",
      "packageClaimId": "C111",
      "claim": "clipboardWrite primarily controls write clipboard data",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004",
        "S066"
      ],
      "sourceIds": [
        "S390",
        "S442"
      ],
      "confidence": "VERIFIED",
      "notes": "Clipboard manipulation"
    },
    {
      "claimId": "R9-C112",
      "packageClaimId": "C112",
      "claim": "Tool visibility primarily controls separate model-visible and app-callable tools",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S390"
      ],
      "confidence": "VERIFIED",
      "notes": "App calls unintended tool"
    },
    {
      "claimId": "R9-C113",
      "packageClaimId": "C113",
      "claim": "User confirmation primarily controls confirm sensitive operations",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S002",
        "S037",
        "S041"
      ],
      "sourceIds": [
        "S059",
        "S140",
        "S420"
      ],
      "confidence": "VERIFIED",
      "notes": "Confusing or missing approval"
    },
    {
      "claimId": "R9-C114",
      "packageClaimId": "C114",
      "claim": "Underlying authorization primarily controls enforce object and tenant permissions",
      "dateRange": "2026-01-26+",
      "protocolOrReleaseVersion": "Security/web platform",
      "packageSourceIds": [
        "S042",
        "S055",
        "S083"
      ],
      "sourceIds": [
        "S145",
        "S431",
        "S457"
      ],
      "confidence": "VERIFIED",
      "notes": "Privilege escalation"
    },
    {
      "claimId": "R9-C115",
      "packageClaimId": "C115",
      "claim": "As of 2026-08-26, Claude web Apps rendering status was: Documented",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S041"
      ],
      "sourceIds": [
        "S420"
      ],
      "confidence": "VERIFIED",
      "notes": "LIVE-CHECK REQUIRED."
    },
    {
      "claimId": "R9-C116",
      "packageClaimId": "C116",
      "claim": "As of 2026-08-26, Claude Desktop Apps rendering status was: Documented",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S002",
        "S041",
        "S042"
      ],
      "sourceIds": [
        "S059",
        "S420",
        "S145"
      ],
      "confidence": "VERIFIED",
      "notes": "LIVE-CHECK REQUIRED."
    },
    {
      "claimId": "R9-C117",
      "packageClaimId": "C117",
      "claim": "As of 2026-08-26, Claude iOS/Android Apps rendering status was: Documented in current help",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S041",
        "S043"
      ],
      "sourceIds": [
        "S420",
        "S258"
      ],
      "confidence": "VERIFIED",
      "notes": "LIVE-CHECK REQUIRED."
    },
    {
      "claimId": "R9-C118",
      "packageClaimId": "C118",
      "claim": "As of 2026-08-26, ChatGPT web Apps rendering status was: Documented beta",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S035",
        "S036",
        "S037"
      ],
      "sourceIds": [
        "S415",
        "S416",
        "S140"
      ],
      "confidence": "VERIFIED",
      "notes": "LIVE-CHECK REQUIRED."
    },
    {
      "claimId": "R9-C119",
      "packageClaimId": "C119",
      "claim": "VS Code documented MCP Apps support in its January 2026 launch and stable-release materials; its current chat.mcp.apps.enabled setting is still labeled Experimental and defaults to true.",
      "dateRange": "2026-01-26 through current settings checked 2026-08-26",
      "protocolOrReleaseVersion": "VS Code product support; current setting labeled Experimental",
      "packageSourceIds": [
        "S044",
        "S045"
      ],
      "sourceIds": [
        "S143",
        "S421",
        "S458"
      ],
      "confidence": "VERIFIED",
      "notes": "Preserves the launch record while adding the current first-party settings label.",
      "packageSnapshot": {
        "claim": "As of 2026-02-05, VS Code GitHub Copilot Apps rendering status was: Full support documented",
        "dateRange": "2026-02-05",
        "protocolOrReleaseVersion": "Current product support",
        "notes": "LIVE-CHECK REQUIRED."
      },
      "editorialCorrection": "Separated historical full-support launch wording from the current Experimental setting label."
    },
    {
      "claimId": "R9-C120",
      "packageClaimId": "C120",
      "claim": "As of 2026-08-26, Goose Desktop Apps rendering status was: Documented",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S046",
        "S047"
      ],
      "sourceIds": [
        "S422",
        "S423"
      ],
      "confidence": "VERIFIED",
      "notes": "LIVE-CHECK REQUIRED."
    },
    {
      "claimId": "R9-C121",
      "packageClaimId": "C121",
      "claim": "As of 2026-08-26, Postman Apps rendering status was: Documented preview in MCP response pane",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S048"
      ],
      "sourceIds": [
        "S424"
      ],
      "confidence": "VERIFIED",
      "notes": "LIVE-CHECK REQUIRED."
    },
    {
      "claimId": "R9-C122",
      "packageClaimId": "C122",
      "claim": "As of 2026-08-26, MCPJam Apps rendering status was: Documented emulator",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S049"
      ],
      "sourceIds": [
        "S425"
      ],
      "confidence": "VERIFIED",
      "notes": "LIVE-CHECK REQUIRED."
    },
    {
      "claimId": "R9-C123",
      "packageClaimId": "C123",
      "claim": "As of 2026-08-26, Microsoft 365 Copilot Apps rendering status was: Listed by official MCP overview",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S006",
        "S007"
      ],
      "sourceIds": [
        "S136",
        "S392"
      ],
      "confidence": "VERIFIED",
      "notes": "LIVE-CHECK REQUIRED."
    },
    {
      "claimId": "R9-C124",
      "packageClaimId": "C124",
      "claim": "As of 2026-08-26, Archestra.AI Apps rendering status was: Listed by official MCP overview",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S006",
        "S007"
      ],
      "sourceIds": [
        "S136",
        "S392"
      ],
      "confidence": "VERIFIED",
      "notes": "LIVE-CHECK REQUIRED."
    },
    {
      "claimId": "R9-C125",
      "packageClaimId": "C125",
      "claim": "As of 2026-08-26, Cursor documents MCP Apps as supported, including interactive UI views returned by tools.",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current product support",
      "packageSourceIds": [
        "S081"
      ],
      "sourceIds": [
        "S269"
      ],
      "confidence": "VERIFIED",
      "notes": "The official Cursor MCP page now makes the Apps support claim explicit.",
      "packageSnapshot": {
        "claim": "As of 2026-08-26, Cursor Apps rendering status was: Not established by reviewed official Cursor docs",
        "dateRange": "2026-08-26",
        "protocolOrReleaseVersion": "Current product support",
        "notes": "LIVE-CHECK REQUIRED."
      },
      "editorialCorrection": "Reversed the archive’s stale “not established” status after checking current first-party documentation."
    },
    {
      "claimId": "R9-C126",
      "packageClaimId": "C126",
      "claim": "MCP Apps has the following current limitation or open question: No universal client parity",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Current limitation",
      "packageSourceIds": [
        "S007",
        "S041",
        "S044",
        "S046",
        "S048"
      ],
      "sourceIds": [
        "S392",
        "S420",
        "S143",
        "S422",
        "S424"
      ],
      "confidence": "VERIFIED",
      "notes": "A server cannot assume the same Apps features in every MCP host."
    },
    {
      "claimId": "R9-C127",
      "packageClaimId": "C127",
      "claim": "MCP Apps has the following current limitation or open question: Full-buffered HTML resource",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Stable behavior; streaming proposed",
      "packageSourceIds": [
        "S004",
        "S077"
      ],
      "sourceIds": [
        "S390",
        "S453"
      ],
      "confidence": "VERIFIED",
      "notes": "Large bundles delay parsing and first paint."
    },
    {
      "claimId": "R9-C128",
      "packageClaimId": "C128",
      "claim": "MCP Apps has the following current limitation or open question: No canonical conformance validator",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Open proposal",
      "packageSourceIds": [
        "S069"
      ],
      "sourceIds": [
        "S445"
      ],
      "confidence": "VERIFIED",
      "notes": "Developers rely on reference hosts and product testing."
    },
    {
      "claimId": "R9-C129",
      "packageClaimId": "C129",
      "claim": "MCP Apps has the following current limitation or open question: No canonical public discovery directory for Apps",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Open proposal",
      "packageSourceIds": [
        "S071"
      ],
      "sourceIds": [
        "S447"
      ],
      "confidence": "VERIFIED",
      "notes": "Finding compatible Apps remains host/directory specific."
    },
    {
      "claimId": "R9-C130",
      "packageClaimId": "C130",
      "claim": "MCP Apps has the following current limitation or open question: Accessibility requirements not fully normative",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Open issue",
      "packageSourceIds": [
        "S068",
        "S057"
      ],
      "sourceIds": [
        "S444",
        "S433"
      ],
      "confidence": "VERIFIED",
      "notes": "Protocol compliance does not ensure keyboard/screen-reader usability."
    },
    {
      "claimId": "R9-C131",
      "packageClaimId": "C131",
      "claim": "MCP Apps has the following current limitation or open question: Version negotiation and capability evolution",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Active design concern",
      "packageSourceIds": [
        "S074",
        "S017"
      ],
      "sourceIds": [
        "S450",
        "S402"
      ],
      "confidence": "VERIFIED",
      "notes": "Stable spec, SDK version and draft features evolve independently."
    },
    {
      "claimId": "R9-C132",
      "packageClaimId": "C132",
      "claim": "MCP Apps has the following current limitation or open question: View provenance and server identity",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Open issue",
      "packageSourceIds": [
        "S075"
      ],
      "sourceIds": [
        "S451"
      ],
      "confidence": "VERIFIED",
      "notes": "Hosts and users need to know who authored executable UI."
    },
    {
      "claimId": "R9-C133",
      "packageClaimId": "C133",
      "claim": "MCP Apps has the following current limitation or open question: Multiple View instance context",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Ambiguous/open",
      "packageSourceIds": [
        "S076"
      ],
      "sourceIds": [
        "S452"
      ],
      "confidence": "VERIFIED",
      "notes": "One instance can overwrite another instance’s model context."
    },
    {
      "claimId": "R9-C134",
      "packageClaimId": "C134",
      "claim": "MCP Apps has the following current limitation or open question: Host-specific stable domain formats",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Intentional host dependence",
      "packageSourceIds": [
        "S004",
        "S010"
      ],
      "sourceIds": [
        "S390",
        "S395"
      ],
      "confidence": "VERIFIED",
      "notes": "OAuth callbacks and CORS allowlists are not portable without host documentation."
    },
    {
      "claimId": "R9-C135",
      "packageClaimId": "C135",
      "claim": "MCP Apps has the following current limitation or open question: Draft app-provided tools",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Not stable",
      "packageSourceIds": [
        "S005",
        "S079"
      ],
      "sourceIds": [
        "S391",
        "S455"
      ],
      "confidence": "VERIFIED",
      "notes": "Publishing ephemeral tools from a View changes trust and lifecycle assumptions."
    },
    {
      "claimId": "R9-C136",
      "packageClaimId": "C136",
      "claim": "MCP Apps has the following current limitation or open question: Security remains implementation-dependent",
      "dateRange": "2026-08-26",
      "protocolOrReleaseVersion": "Permanent characteristic",
      "packageSourceIds": [
        "S004",
        "S030"
      ],
      "sourceIds": [
        "S390",
        "S410"
      ],
      "confidence": "STRONGLY_SUPPORTED",
      "notes": "Sandboxing, CSP and mediation reduce risk but do not validate business logic or dependencies."
    }
  ]
}