Releases: modelcontextprotocol/ext-apps
Releases · modelcontextprotocol/ext-apps
1.0.1
What's Changed
- docs: update MCP-UI SDK description in README by @idosal in #365
- fix(qr-server): use stable mcp SDK from PyPI by @malbari in #360
- fix(say-server): pin to released mcp version by @ochafik in #366
- chore: bump to 1.0.1 - fix npm reference for ext-apps dependency in examples + update zod to 4.x by @ochafik in #368
- chore: bump ext-apps to 1.0.1 by @ochafik in #369
Full Changelog: v1.0.0...v1.0.1
1.0.0
v0.4.2
Release 0.4.2
Features
- say-server: New streaming Pocket TTS example with karaoke-style word highlighting (#304)
- debug-server: Interactive debug server for development and troubleshooting (#321)
- Theme support in basic-host: Theme toggle and MCP style CSS variables for consistent styling (#336)
- getUiCapability helper: New helper function for capability negotiation between views and hosts (#313)
- Visibility optimization: Three.js and Shadertoy examples now pause rendering when hidden (#297, #299)
- Mouse/touch interaction: Proper input support for Shadertoy shaders (#293)
- SSE transport fallback: basic-host now supports Server-Sent Events transport (#289)
- map-server screenshot: Screenshot capture via updateModelContext (#340)
Documentation
- Quickstart guide: Rewritten with type-checked code examples (#342)
- MCP Apps Overview: New comprehensive overview document (#343)
- Patterns guide: Common patterns for MCP Apps development (#314)
- Testing guide: How to test MCP Apps (#350)
- Agent Skills guide: Installation and usage guide (#344, #352)
- MCP client configuration: Added config examples to all READMEs (#286)
- Type-checked JSDoc examples: Examples moved to
.examples.tsfiles for type safety (#302) - OpenAI migration guide: Improved accuracy and readability (#345, #349)
Fixes
- Align spec permissions type with SDK implementation (#305)
- Python server dependency resolution and Docker host validation (#333)
- Serve HTTP now runs main.ts instead of server.ts (#315)
- Embed widget HTML in QR server example (#317)
- Standardize UI terminology to use "view" consistently (#325, #339)
- Update Map Server display name to CesiumJS Map Server (#324)
- Test stability and developer experience improvements (#337)
- Fix onhostcontextchanged handler invocation in examples (#351)
Other
- Add
.claude-plugin/marketplace.jsonfor plugin distribution (#306) - Add "Migrate from OpenAI App" skill to Claude Code plugin (#290)
- Use typedoc-github-theme for API documentation (#322)
- Add Codex and Goose to supporting clients documentation (#357)
- EXAMPLE=folder-name support for running specific examples (#292)
New Contributors
- @malbari made their first contribution in #315
- @tobinsouth made their first contribution in #317
Full Changelog: v0.4.1...v0.4.2
0.4.1
What's Changed
- revert to document.write again; cesiumjs doesn't like srcdoc, period. by @ochafik in #258
- basic-host: filter app-only tools, prioritize UI tools by @ochafik in #262
- feat: add example gallery with auto-generated screenshots by @ochafik in #253
- docs: how to migrate from openai apps by @ochafik in #260
- build(deps): bump hono from 4.11.3 to 4.11.4 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #268
- Add "Server-Side" section to OpenAI migration guide by @jonathanhefner in #263
- Improve JSDoc comments with cross-references and clarifications by @jonathanhefner in #254
- chore: update licensing to Apache 2.0 for new contributions by @domdomegg in #251
- disambiguate resource in csp sample by @idosal in #257
- Add Claude Code plugin with "Create MCP App" skill by @jonathanhefner in #256
- Improve consistency and organization of examples for AI learning by @jonathanhefner in #252
- examples: add PDF viewer w/ chunked data loading, full-screen, model context updates, private tool by @ochafik in #267
- examples[pdf]: limit context length by @ochafik in #270
- fix(examples): improve updateModelContext with structured YAML frontmatter by @ochafik in #271
- feat(basic-host): URL params, fullscreen mode, unified layout by @ochafik in #266
- feat: compile example servers to JavaScript for npm consumption by @jerome3o-anthropic in #259
- Use
Toolas the input type ingetToolUiResourceUriby @matteo8p in #274 - fix: change unknown source message log from error to debug level by @Copilot in #239
- fix[examples/transcript]: fix transitional deltas by @ochafik in #275
- pdf-server: fix scrolling gap in inline mode by @ochafik in #280
- fix(examples): resolve DIST_DIR path for npm package execution by @ochafik in #277
- feat(shadertoy): add fullscreen support + ditch insets for max visual effect by @ochafik in #278
- feat(shadertoy): show fullscreen button only on widget hover by @ochafik in #281
- feat(qr-server): migrate to uv with PEP 723 inline dependencies by @antonpk1 in #272
- chore: bump version to 0.4.1 by @ochafik in #282
New Contributors
- @dependabot[bot] made their first contribution in #268
- @domdomegg made their first contribution in #251
- @Copilot made their first contribution in #239
Full Changelog: v0.4.0...v0.4.1
0.4.0
Release 0.4.0
Features
- ui/update-model-context: New protocol method for guests to update their model context dynamically (#125)
- Enhanced sandbox capability negotiation: Improved CSP configuration with
frameDomains,baseUriDomains, and Permission Policy support (#158) - structuredContent with outputSchema: Example servers now use structured tool output (#220)
- Collapsible panels in basic-host: Improved host UI with collapsible sections and SDK types (#244)
- Dev mode with auto-restart:
npm startnow runs in dev mode with--watchfor auto-restart (#246)
New Examples
- transcript-server: Live speech transcription example (#240)
- map-server: CesiumJS Map App with 3D globe visualization (#235)
- shadertoy-server: WebGL shader rendering example (#226)
Fixes
- Proper CSP handling in basic-host sandboxing via HTTP headers (#234)
- Align CSP sample with resourceDomains spec (#233)
- Error handling for server startup failures (#236)
- Update qr-server SDK to 0.3.1 (#247)
Other
- Add
AGENTS.mdandCLAUDE.mdfor AI assistant guidance (#218) - Replace deprecated
RESOURCE_URI_META_KEYwith_meta.ui.resourceUri(#217) - Restore educational comments in basic-server examples (#228)
- Add missing
refresh-statstool to system-monitor-server (#227)
Full Changelog: v0.3.1...v0.4.0
0.3.1
0.3.0
What's Changed
- Fix build errors in examples by @jonathanhefner in #180
- fix: move prettier to dev dependency by @niclim in #179
- Add npm
startalias forexamples:startby @jonathanhefner in #183 - Clean up examples by @jonathanhefner in #182
- docs: fix tsc command to use tsconfig.json by @blackgirlbytes in #188
- [MCP Apps] Update
viewporttype by @martinalong in #153 - Add
sheet-music-serverexample by @jonathanhefner in #196 - feat(examples): Add video-resource-server example by @antonpk1 in #175
- fix(examples): add missing server-utils.ts to video-resource-server by @antonpk1 in #205
- fix: Add missing origin parameter to PostMessageTransport default constructor, verify origins in example sandbox proxy by @ochafik in #207
- fix!: require eventSource in PostMessageTransport + add security tests by @ochafik in #208
- fix: make toolInfo.id optional per spec by @antonpk1 in #216
- feat: export method names as consts by @idosal in #192
- Make ui.resourceUri optional (for tools that just need visibility) by @ochafik in #210
- Add
safeAreaInsetssupport to all example apps by @jonathanhefner in #202 - Add
basic-server-*examples for Vue, Svelte, Preact, and Solid by @jonathanhefner in #141 - feat: publish example servers to npm by @jerome3o-anthropic in #184
- fix: make example host more resilient to broken servers by @ochafik in #206
- chore: release 0.3.0 by @ochafik in #204
New Contributors
- @niclim made their first contribution in #179
- @blackgirlbytes made their first contribution in #188
Full Changelog: v0.2.2...v0.3.0
0.2.2
0.2.1
What's Changed
- fix(examples): use server.registerTool for non-UI tool + fix missing imports by @ochafik in #173
- [MCP Apps] Add way to pass custom fonts by @martinalong in #159
- [MCP Apps] Add forgotten style variable by @martinalong in #174
- chore: release 0.2.1 - widen @oven/bun-* version range by @ochafik in #176
Full Changelog: v0.2.0...v0.2.1
0.2.0
What's Changed
- feat(examples): add SSE transport support and shared server utility by @ochafik in #136
- Add BYO zod version support by @fredericbarthelet in #49
- examples: make basic apps responsive for narrow viewports by @ochafik in #135
- tests: add Playwright E2E tests with screenshot golden testing (+ fix examples session handling) by @ochafik in #115
- api: optional Client in AppBridge (allow custom forwarding), better protocol types (AppRequest, AppNotification, AppResult) by @ochafik in #146
- docs: typo and formatting issues in spec header by @idosal in #148
- fix: add mimeType to resource declarations in examples by @antonpk1 in #149
- fix: ensure E2E screenshot tests work consistently across CI and local by @ochafik in #150
- [MCP Apps] Add
stylesprop to host context by @martinalong in #127 - [MCP Apps] Have apps request display mode instead by @martinalong in #152
- Add pre-commit check for private registry URLs in package-lock.json by @ochafik in #133
- Mark
src/generatedas linguist-generated by @jonathanhefner in #154 - fix: Windows compatibility - bun as optional dep, cross-env for examples by @ochafik in #145
- fix: make react a peer dependency to support multiple versions by @ochafik in #164
- Fix sandbox-proxy-ready notification name in spec by @ochafik in #160
- feat: add server helpers, make connect() to default to parent post transport by @ochafik in #165
- docs: add tool visibility and restructure _meta.ui by @antonpk1 in #131
- refactor: rename request methods to remove send prefix by @ochafik in #161
- feat: make MCP SDK a peer dependency by @ochafik in #168
- chore: release 0.2.0 by @ochafik in #170
New Contributors
- @fredericbarthelet made their first contribution in #49
- @martinalong made their first contribution in #127
Full Changelog: v0.1.0...v0.2.0