Skip to content

v0.8.0

Latest

Choose a tag to compare

@paulbalandan paulbalandan released this 05 Aug 10:21
v0.8.0
fb5fb4b

What's Changed

This release ships the second official extension, MCP Apps (SEP-1865). It is metadata and negotiation only: the extension defines no JSON-RPC methods, and the ui/* postMessage family is the browser host's side of the spec, so a PHP server or client is complete without it. The conformance referee carries no apps scenarios at its current pin, so the extension ships without a conformance claim. One breaking change rides along: the tasks extension identifier moved to a vocabulary class (see BREAKING_CHANGES.md).

Added

  • The MCP Apps extension (io.modelcontextprotocol/ui, SEP-1865) under Nexus\Mcp\Extension\Apps. The extension defines no JSON-RPC methods: AppsServerExtension advertises the capability slot, and the typed _meta.ui value objects (UiToolMeta, UiResourceMeta, UiResourceCsp, UiResourcePermissions) model the tool-to-view link and the sandbox configuration on both the resources/list descriptor and the resources/read contents. UiResource composes a Resource that enforces the ui:// scheme and the text/html;profile=mcp-app mime type at construction.
  • The client half of MCP Apps: AppsClientExtension advertises the renderable mimeTypes in the per-request _meta capabilities, and the AppClient facade resolves tool and resource _meta.ui metadata (tolerating the deprecated flat ui/resourceUri key on read, never emitting it), filters a listing to UI-enabled tools paired with their resolved metadata (AppTool), and reads ui:// resources verified against the facade's accepted mime types (InvalidUiResourceContentsException on drift). The ui/* postMessage family is host-side and deliberately unmodelled.

Changed

  • The tasks extension identifier moved from TasksServerExtension::IDENTIFIER to the new vocabulary class Nexus\Mcp\Extension\Tasks\Tasks, mirroring the MCP Apps shape, so the client half no longer imports a server-namespace class.

Full Changelog: v0.7.0...v0.8.0