Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Changes from 0.1.x to 0.2.2 #181

Discussion options

Hi all! We've just pushed @modelcontextprotocol/ext-apps versions 0.2.0, 0.2.1 and 0.2.2 in quick succession, so here's what's changed since 0.1.x

Warning

The registerAppTool helper makes sure defining _meta.ui.resourceUri is backward-compatible w/ clients expecting "ui/resourceUri"

Highlights

  • Server helpers — New registerAppTool() and registerAppResource() simplify server setup with proper type safety. connect() now defaults to PostMessageTransport(window.parent), enabling simpler initialization with just await app.connect() #165
    Github warning:
  • Tool _meta key change: Restructured _meta format from flat "ui/resourceUri" to nested _meta.ui.resourceUri docs: add tool visibility and restructure _meta.ui #131
  • Tool visibility control — New visibility array field controls whether tools are visible to the agent, apps, or both. Restructured _meta format from flat "ui/resourceUri" to nested _meta.ui.resourceUri #131
  • Host-provided theming — Apps receive 36 standardized CSS variables for colors, typography, and spacing via styles.variables, enabling visual consistency with the host #127
  • Display mode requests — Apps can request display mode changes (e.g., fullscreen) via requestDisplayMode, with hosts able to accept or reject #152
  • Custom fonts support — Apps can receive custom fonts via styles.css.fonts and apply them using applyHostFonts() or useHostFonts() helpers #159

API Changes

  • MCP SDK as peer dependency — Consumers control their SDK version, reducing duplication #168
  • React as peer dependency — Supports React 17, 18, and 19 #164
  • Renamed request methods — Removed send prefix: openLink() and teardownResource(). Deprecated aliases maintained #161
  • Optional Client in AppBridge — Enables custom forwarding scenarios without direct MCP client access #146
  • Zod v3 and v4 support — Bring your own Zod in #49
  • Zod schemas now version-agnostic — Generated schemas work with both Zod 3.25+ and v4, using z.object().passthrough() instead of v4-only z.looseObject() #178

Platform & DX

  • Windows compatibility — Bun as optional dependency with automatic setup, cross-env for examples. Just run npm install #145
  • Widened @oven/bun-* version range — Lowered the minimum from ^1.3.4 to ^1.2.21, helping contributors whose registries may not have the latest packages #176
  • SSE transport support — All examples now support both stdio and HTTP transports with SSE endpoints for older clients #136
  • Playwright E2E tests — Screenshot golden testing across all 9 example servers with parallel execution (~28s) #115
  • hostContext exposure — Access hostContext directly from the App class #139

Bug Fixes

  • Responsive UIs — Fixed narrow viewport handling for mobile and sidebar experiences #135
  • Sandbox notification fix — Fixed sandbox-ready notification name to match implementation #160
  • Fixed non-UI tool registration — Use server.registerTool for tools without UI and fix missing imports across examples #173

Full Changelog: v0.1.1...v0.2.2

You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant

AltStyle によって変換されたページ (->オリジナル) /