ext-apps/examples
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Anton Pidkuiko MacBook 494c73e7ca
feat: add ui/download-file method for host-mediated file downloads
Add a new ui/download-file JSON-RPC request that allows MCP App views to
request file downloads through the host. Since MCP Apps run in sandboxed
iframes where direct downloads are blocked (allow-downloads not set),
this provides a host-mediated mechanism for file exports.

Spec changes (draft):
- Add ui/download-file request to Requests (View → Host) section
- Add downloadFile capability to HostCapabilities
- Document host behavior requirements (confirmation dialog, filename
  sanitization, base64 decoding, size limits)

SDK changes:
- Add McpUiDownloadFileRequest/Result interfaces to spec.types.ts
- Add downloadFile() method to App class
- Add ondownloadfile setter to AppBridge class
- Add DOWNLOAD_FILE_METHOD constant
- Generate Zod schemas

Example:
- Add download demo to integration-server (exports JSON with server time)
- Capability check: only shows download button when host advertises
  downloadFile capability

Based on developer feedback requesting file export capabilities for
visualization tools, document editors, and data analysis apps.
2026-02-19 21:25:48 +00:00
..
basic-host fix: align basic-host dark mode styles (#438) 2026-02-12 15:28:51 +00:00
basic-server-preact Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
basic-server-react Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
basic-server-solid Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
basic-server-svelte Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
basic-server-vanillajs Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
basic-server-vue Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
budget-allocator-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
cohort-heatmap-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
customer-segmentation-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
debug-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
integration-server feat: add ui/download-file method for host-mediated file downloads 2026-02-19 21:25:48 +00:00
map-server Clarify spec and SDK: accept UIResourceMeta in both resources/list and resources/read (#410) 2026-02-04 14:26:09 +00:00
pdf-server Add PDF search feature to pdf-server (#445) 2026-02-19 18:56:40 +00:00
qr-server chore: bump to 1.0.1 - fix npm reference for ext-apps dependency in examples + update zod to 4.x (#368) 2026-01-26 21:55:15 +00:00
quickstart Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
say-server chore: bump to 1.0.1 - fix npm reference for ext-apps dependency in examples + update zod to 4.x (#368) 2026-01-26 21:55:15 +00:00
scenario-modeler-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
shadertoy-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
sheet-music-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
system-monitor-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
threejs-server Add fullscreen button to threejs-server (#446) 2026-02-19 19:17:04 +00:00
transcript-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
video-resource-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
wiki-explorer-server Use escaped double quotes in npm scripts for Windows compatibility 2026-02-02 09:05:40 -06:00
run-all.ts add EXAMPLE=folder-name support for tests & basic-host (#292) 2026-01-19 20:16:37 +00:00