Skip to content

Releases: modelcontextprotocol/ext-apps

1.1.0

22 Feb 01:19
5bbf277

Choose a tag to compare

What's Changed

  • Fix: registerAppResource does not return registered resource, but void by @KKonstantinov in #370
  • Use escaped newlines in ShaderToy README JSON examples by @jonathanhefner in #375
  • Fix extractRegion() matching region names that are substrings of others by @jonathanhefner in #376
  • Improve patterns guide with concrete examples and safe area insets by @jonathanhefner in #381
  • feat(pdf-server): send screenshot to updateModelContext by @ochafik in #373
  • Separate static and dynamic data in system-monitor-server tools by @jonathanhefner in #388
  • docs: add root npm install step for basic-host setup by @GiladShoham in #371
  • Add polling pattern to patterns guide by @jonathanhefner in #389
  • Add binary blob resource pattern to patterns guide by @jonathanhefner in #391
  • Add server-side persistence guidance to view state pattern by @jonathanhefner in #397
  • examples: add MCP Apps arcade server by @idosal in #346
  • examples: add arcade example to servers by @idosal in #399
  • docs: fix basic-host setup instructions in quickstart by @rafa-thayto in #398
  • Improve global.css as scaffolding template by @jonathanhefner in #403
  • Improve documentation for CSP and permissions types by @jonathanhefner in #409
  • Improve example CSS files to better demonstrate host style integration by @jonathanhefner in #404
  • Extract getUiCapability example to type-checked examples file by @jonathanhefner in #406
  • examples: remove arcade by @idosal in #414
  • Cache full PDF bodies from servers without Range support by @ochafik in #411
  • Add CSP and CORS section to patterns docs by @jonathanhefner in #415
  • Add isToolVisibilityModelOnly and isToolVisibilityAppOnly helper functions by @matteo8p in #294
  • Use escaped double quotes in npm scripts for Windows compatibility by @jonathanhefner in #421
  • Replace "external" with "network" in CSP documentation by @jonathanhefner in #422
  • Clarify spec and SDK: accept UIResourceMeta in both resources/list and resources/read by @ochafik in #410
  • Rename skill to 'create-mcp-app' to align with spec by @vgshenoy in #443
  • Rename migrate-oai-app skill name to align with spec by @jonathanhefner in #444
  • Handle non-JSON-RPC messages gracefully in PostMessageTransport by @ochafik in #448
  • Update theme toggle button position in CSS from top to bottom by @healthkowshik in #441
  • fix: align basic-host dark mode styles by @Avcharov in #438
  • Change Host <> Sandbox communication protocol to "SHOULD" by @mstoiber-oai in #435
  • Upgrade GitHub Actions to latest versions by @salmanmkc in #393
  • Upgrade GitHub Actions for Node 24 compatibility by @salmanmkc in #392
  • Apply typedoc-github-theme typography fixes locally via customCss by @jonathanhefner in #442
  • Add validation for callServerTool params argument by @ochafik in #449
  • fix: update e2e test snapshots for shadertoy and wiki-explorer images by @Avcharov in #461
  • README update by @localden in #463
  • Upgrade typedoc-github-theme to v0.4.0 and remove local CSS workaround by @jonathanhefner in #462
  • Add double-connect guard to prevent protocol message handling errors by @ochafik in #450
  • Add PDF search feature to pdf-server by @ochafik in #445
  • Add fullscreen button to threejs-server by @ochafik in #446
  • feat(pdf-server): use MCP roots to auto-allow local directories by @ochafik in #479
  • Lead README with agent skills for faster onboarding by @localden in #478
  • Update README.md by @localden in #483
  • pdf: ignore safe area insets in fullscreen mode by @ochafik in #484
  • feat(pdf-server): lazy range-based loading + eager background preloading by @ochafik in #480
  • chore: bump ext-apps to 1.1.0 by @ochafik in #485

Full Changelog: v1.0.1...v1.1.0

1.0.1

26 Jan 22:35
605e31b

Choose a tag to compare

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

26 Jan 17:32
298e884

Choose a tag to compare

stable spec release 2026-01-26 and SDK v1.0.0 by @ochafik in #362

v0.4.2

26 Jan 14:30
2d4311a

Choose a tag to compare

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.ts files 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.json for 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

Full Changelog: v0.4.1...v0.4.2

0.4.1

15 Jan 16:12
8c3b1da

Choose a tag to compare

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 Tool as the input type in getToolUiResourceUri by @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

Full Changelog: v0.4.0...v0.4.1

0.4.0

12 Jan 22:41
231f23f

Choose a tag to compare

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 start now runs in dev mode with --watch for 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.md and CLAUDE.md for AI assistant guidance (#218)
  • Replace deprecated RESOURCE_URI_META_KEY with _meta.ui.resourceUri (#217)
  • Restore educational comments in basic-server examples (#228)
  • Add missing refresh-stats tool to system-monitor-server (#227)

Full Changelog: v0.3.1...v0.4.0

0.3.1

09 Jan 18:23
4c51eb0

Choose a tag to compare

What's Changed

Full Changelog: v0.3.0...v0.3.1

0.3.0

09 Jan 00:56
ecc593b

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.2.2...v0.3.0

0.2.2

17 Dec 20:56
82ab3c8

Choose a tag to compare

What's Changed

  • chore: bump to 0.2.2 + make Zod schemas version-agnostic (v3.25+/v4) by @ochafik in #178

Full Changelog: v0.2.1...v0.2.2

0.2.1

17 Dec 15:56
bbea41f

Choose a tag to compare

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