unstale

npm / @modelcontextprotocol/ext-apps

@modelcontextprotocol/ext-apps

What changed in @modelcontextprotocol/ext-apps 0.0 to 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

24 breaking9 security6 deprecations49 new APIs and options17 behavior and defaults51 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.0 on npm

@modelcontextprotocol/ext-apps 222 changes

Breaking changes 9

  • The guard now also rejects registrations for notifications/progress and notifications/cancelled with an already registered error.

    2.0.0release notes

  • The 21 published example packages now declare a Node.js engine requirement of >=20, matching the root package and README.

    2.0.0release notesrelease notes

  • Custom handlers now receive the request signal at extra.mcpReq.signal instead of extra.signal.

    2.0.0release notes

  • Host-side wire deltas change handler-thrown -32002 to -32602 for Views, use -32602 for invalid params on ui/* methods instead of -32603, and remove the MCP error N: message prefix.

    2.0.0release notes

  • Replace the @modelcontextprotocol/sdk@^1 peer dependency with @modelcontextprotocol/client@^2.0.0, required because App and AppBridge extend its Protocol.

    2.0.0release notes

  • Remote JSON-RPC errors are represented as ProtocolError with a numeric code.

    2.0.0release notes

  • ProtocolWithEvents is removed.

    2.0.0release notes

  • Local failures are represented as SdkError with a string code.

    2.0.0release notes

  • Requires zod 4.2 or later; zod 3 and the 1.x fallback for zod 3.25 are no longer supported.

    2.0.0release notes

Security 3

  • @modelcontextprotocol/server-pdf now pins @cantoo/pdf-lib to exactly 2.6.5, avoiding the untested 2.11.x resolution and dependencies flagged by supply-chain scanners.

    2.0.3release notes

  • The root overrides that pinned seroval are removed; the updated dependency tree passes vulnerability and supply-chain scans.

    2.0.3release notes

  • @modelcontextprotocol/server-basic-solid now depends on solid-js 1.9.15 instead of exact 1.9.10, avoiding the vulnerable seroval 1.3 dependency.

    2.0.3release notes

Deprecations 6

  • AppNotification remains available as a deprecated type alias.

    2.0.0release notes

  • AppRequest remains available as a deprecated type alias.

    2.0.0release notes

  • AppResult remains available as a deprecated type alias.

    2.0.0release notes

  • Raw zod shapes remain accepted as a deprecated overload; wrap them in z.object({...}) to move off it.

    2.0.0release notes

  • The 2.x form keys registration by method name; the 1.x schema-and-handler form remains as a deprecated overload with a one-time warning and is removed in 3.0.

    2.0.0release notes

  • The 2.x form keys registration by method name and takes params before the handler; the 1.x schema-and-handler form remains as a deprecated overload with a one-time warning and is removed in 3.0.

    2.0.0release notes

New APIs and options 1

  • The server package is an optional peer dependency for projects using the ./server helpers.

    2.0.0release notes

Behavior and default changes 1

  • The schema follows 2.0 core schemas: structuredContent accepts any JSON value, result _meta documents io.modelcontextprotocol/serverInfo, toolInfo.tool.outputSchema is a loose object, and a recursive JSON-value definition is added.

    2.0.0release notes

Fixes and other changes 2

  • Example servers and the quickstart now derive the dist path from import.meta.url, preventing startup crashes on Node 18 and Node 20.0 to 20.10.

    2.0.1release notes

  • Relative imports now use explicit .js extensions so published declarations resolve under NodeNext and Node16.

    2.0.0release notes

@modelcontextprotocol/ext-apps 161 changes

Breaking changes 5

  • Types csp as ?: never so misplaced declarations fail at compile time.

    1.7.0release notes

  • Types permissions as ?: never so misplaced declarations fail at compile time.

    1.7.0release notes

  • Schemas now import from zod/v4 to match the SDK's zod API.

    1.2.2release notes

  • The pdf-server removes its domain allowlist and requires HTTPS only.

    1.1.1release notes

  • Corrects the return behavior of registerAppResource; it returns void rather than a registered resource.

    1.1.0release notes

Security 2

  • Adds allowUnsafeEval, defaulting to false, so Views run under strict CSP without unsafe-eval; opting out enables the faster JIT path.

    1.7.0release notes

  • Adds robust path validation and support for folder or file roots.

    1.1.2release notes

New APIs and options 17

  • Adds sampling support via stock SDK types.

    1.7.0release notes

  • Views can expose tools for the Host to call.

    1.7.0release notes

  • Supports notifying the Host about changes to the tool list exposed by a View.

    1.7.0release notes

  • callServerTool can now opt into resetting its timeout based on progress.

    1.6.0release notes

  • A get_viewer_state interact action is available to retrieve viewer state.

    1.5.0release notes

  • Adds addEventListener with DOM-model on* semantics, allowing event listeners to be registered.

    1.4.0release notes

  • Adds pinch-to-zoom.

    1.4.0release notes

  • Adds removeEventListener with DOM-model on* semantics, allowing event listeners to be removed.

    1.4.0release notes

  • Adds the save_as interact action.

    1.4.0release notes

  • Adds a notification for the UI to initiate termination.

    1.3.0release notes

  • Adds listServerResources() to the App API for listing server resources.

    1.2.0release notes

  • Adds readServerResource() to the App API for reading server resources.

    1.2.0release notes

  • Adds a host-mediated file download method for apps.

    1.1.2release notes

  • A Claude Code plugin is now available for pdf-server.

    1.1.1release notes

  • The pdf-server now has MCPB packaging, providing a bundle developers can use.

    1.1.1release notes

  • Adds a helper function for checking whether a tool's visibility is app-only.

    1.1.0release notes

  • Adds a helper function for checking whether a tool's visibility is model-only.

    1.1.0release notes

Behavior and default changes 6

  • Host-bound methods warn when called before connect() completes; they throw instead when AppOptions.strict is enabled.

    1.7.0release notes

  • Warns when it receives requests before ui/notifications/initialized.

    1.7.0release notes

  • One-shot event handlers warn when first registered after connect() completes.

    1.7.0release notes

  • Imported annotations are rasterized.

    1.5.0release notes

  • Adds fit-to-page behavior in fullscreen.

    1.4.0release notes

  • The spec is stable and the SDK is at v1.0.0.

    1.0.0release notes

Fixes and other changes 31

  • Missing HostCapabilities fields were added to the specification.

    1.7.5release notes

  • The experimental capability setting is typed as Record<string, object> and its contents are preserved during initialization instead of being stripped by the generated schema.

    1.7.5release notes

  • The experimental capability setting is typed as Record<string, object> and its contents are preserved during initialization instead of being stripped by the generated schema.

    1.7.5release notes

  • object-src is synchronized with default-src in the specification.

    1.7.5release notes

  • Forwards autoResize and strict to the underlying App.

    1.7.0release notes

  • Effect cleanup now closes the App, preventing React StrictMode's development double-invoke from leaving a zombie PostMessageTransport listener.

    1.7.0release notes

  • Highlight, underline, and strike annotations from existing PDFs are imported.

    1.5.0release notes

  • Form-field saving is made more robust, with save consistency follow-ups.

    1.5.0release notes

  • The PDF viewer toolbar layout is fixed.

    1.5.0release notes

  • The zoom-out button can zoom below fit-to-page.

    1.5.0release notes

  • Pinch interactions to and from fullscreen are fixed.

    1.5.0release notes

  • PDF highlights render with translucency.

    1.5.0release notes

  • Fixes batch results to be 1:1.

    1.4.0release notes

  • Renders the page before O(numPages) annotation scans.

    1.4.0release notes

  • Fixes an npx DOMMatrix crash.

    1.4.0release notes

  • Fixes fullscreen jitter.

    1.4.0release notes

  • Fixes a broken MCPB bundle.

    1.4.0release notes

  • Fixes radio and dropdown handling in fill_form/save.

    1.4.0release notes

  • Fixes viewer liveness.

    1.4.0release notes

  • Fixes auto-resize destroying horizontal scroll positions.

    1.3.2release notes

  • Reverts the fullscreen size-changed skip.

    1.3.2release notes

  • Fixes detached-buffer handling when a PDF range is re-requested.

    1.3.1release notes

  • The react-with-deps package now bundles the SDK and zod, unlike before.

    1.2.1release notes

  • Fixes autoResize reporting viewport height when content is taller.

    1.2.0release notes

  • basic-host now supports audio and video, allowing developers to use it with apps that need those media capabilities.

    1.1.1release notes

  • The pdf-server no longer displays the page-loading overlay.

    1.1.1release notes

  • Adds validation for the params argument to callServerTool.

    1.1.0release notes

  • Changes the Host <> Sandbox communication protocol requirement to SHOULD.

    1.1.0release notes

  • Handles non-JSON-RPC messages gracefully instead of allowing them to cause protocol message handling errors.

    1.1.0release notes

  • Adds a double-connect guard to prevent protocol message handling errors.

    1.1.0release notes

  • Accepts UIResourceMeta in both resources/list and resources/read, aligning the spec and SDK.

    1.1.0release notes

@modelcontextprotocol/ext-apps 0.420 changes

Breaking changes 2

  • The function now uses Tool as its input type.

    0.4.1release notes

  • Replaces the deprecated RESOURCE_URI_META_KEY with _meta.ui.resourceUri.

    0.4.0release notes

Security 4

  • Adds baseUriDomains to enhanced sandbox capability negotiation for CSP configuration.

    0.4.0release notes

  • Fixes CSP handling in basic-host sandboxing by using HTTP headers.

    0.4.0release notes

  • Adds frameDomains to enhanced sandbox capability negotiation for CSP configuration.

    0.4.0release notes

  • Adds Permission Policy support to enhanced sandbox capability negotiation.

    0.4.0release notes

New APIs and options 8

  • EXAMPLE=folder-name support lets developers run a specific example.

    0.4.2release notes

  • A new helper supports capability negotiation between views and hosts.

    0.4.2release notes

  • basic-host now supports Server-Sent Events transport as a fallback.

    0.4.2release notes

  • basic-host adds a theme toggle and MCP style CSS variables for consistent styling.

    0.4.2release notes

  • The basic host adds URL parameters, fullscreen mode, and a unified layout.

    0.4.1release notes

  • A Claude Code plugin with a Create MCP App skill is added.

    0.4.1release notes

  • The basic-host UI gains collapsible sections.

    0.4.0release notes

  • Adds a protocol method for guests to update their model context dynamically.

    0.4.0release notes

Behavior and default changes 3

  • The basic host filters app-only tools and prioritizes UI tools.

    0.4.1release notes

  • The log level for unknown source messages changes from error to debug.

    0.4.1release notes

  • npm start now runs in dev mode with --watch for automatic restarts.

    0.4.0release notes

Fixes and other changes 3

  • The spec permissions type is aligned with the SDK implementation.

    0.4.2release notes

  • Rendering uses document.write again because CesiumJS does not work with srcdoc.

    0.4.1release notes

  • Improves error handling for server startup failures.

    0.4.0release notes

@modelcontextprotocol/ext-apps 0.38 changes

Breaking changes 1

New APIs and options 2

Behavior and default changes 2

  • The resourceUri field is optional for tools that just need visibility.

    0.3.0release notes

  • The viewport type was updated.

    0.3.0release notes

Fixes and other changes 3

  • The registerAppTool signature was fixed to align with the MCP TypeScript SDK.

    0.3.1release notes

  • The default constructor now includes the missing origin parameter.

    0.3.0release notes

  • The id field is optional, matching the spec.

    0.3.0release notes

@modelcontextprotocol/ext-apps 0.218 changes

Breaking changes 2

  • The MCP SDK becomes a peer dependency.

    0.2.0release notes

  • Request methods are renamed to remove the send prefix, affecting method names callers use.

    0.2.0release notes

New APIs and options 10

  • Adds a way to pass custom fonts to MCP Apps.

    0.2.1release notes

  • AppBridge accepts an optional Client, allowing custom forwarding.

    0.2.0release notes

  • AppNotification is added as a protocol type.

    0.2.0release notes

  • AppRequest is added as a protocol type.

    0.2.0release notes

  • AppResult is added as a protocol type.

    0.2.0release notes

  • The _meta.ui structure is reorganized, and tool visibility is added.

    0.2.0release notes

  • Server helpers are added for developers integrating the package.

    0.2.0release notes

  • The host context gains a styles prop.

    0.2.0release notes

  • Tool visibility is added to the MCP Apps metadata conventions.

    0.2.0release notes

  • Developers can use their own zod version.

    0.2.0release notes

Behavior and default changes 3

  • Zod schemas are version-agnostic for Zod v3.25+ and v4, allowing developers to use either supported version.

    0.2.2release notes

  • connect() defaults to the parent post transport.

    0.2.0release notes

  • Apps request display mode instead of the previous approach.

    0.2.0release notes

Fixes and other changes 3

  • Adds a previously missing style variable for MCP Apps.

    0.2.1release notes

  • React becomes a peer dependency to support multiple versions.

    0.2.0release notes

  • The notification name is corrected in the spec.

    0.2.0release notes

@modelcontextprotocol/ext-apps 0.15 changes

Breaking changes 1

  • Adds the tool-cancelled notification and corrects the notification name to ui/notifications/tool-cancelled.

    0.1.0release notes

New APIs and options 2

Fixes and other changes 2

@modelcontextprotocol/ext-apps 0.022 changes

Breaking changes 4

  • CSP domain fields in the specification use camelCase.

    0.0.2release notes

  • Removes the carousel display mode.

    0.0.2release notes

  • The UI resource MIME type format was changed to use a profile parameter instead of a suffix.

    0.0.2release notes

  • Removes system from the theme options and theme type.

    0.0.2release notes

New APIs and options 9

Behavior and default changes 2

  • The params field is optional in the initialized notification schema.

    0.0.2release notes

  • Adds forwarding for ReadResourceRequestSchema when the resources capability is enabled.

    0.0.2release notes

Fixes and other changes 7

  • Fixed CSP settings.

    0.0.7release notes

  • Fixed mimeType handling.

    0.0.7release notes

  • Temporarily handles wrapped JSON-RPC responses; the temporary unwrapping hack was later removed.

    0.0.2release notes

  • Corrects the host-context-changed notification name in the specification.

    0.0.2release notes

  • Fixes iframe sizing to use actual content dimensions and addresses a size feedback loop on Linux and Windows.

    0.0.2release notes

  • Fixes compatibility with SDK version 1.23 and later.

    0.0.2release notes

  • Corrects the size-changed notification name to use the correct tense.

    0.0.2release notes