@modelcontextprotocol/ext-apps 0.4.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,14 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@modelcontextprotocol/ext-apps.svg)](https://www.npmjs.com/package/@modelcontextprotocol/ext-apps) [![API Documentation](https://img.shields.io/badge/docs-API%20Reference-blue)](https://modelcontextprotocol.github.io/ext-apps/api/)
4
4
 
5
- This repo contains the SDK and [specification](https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/draft/apps.mdx) for MCP Apps Extension ([SEP-1865](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/1865)).
5
+ This repo contains the SDK and specification for MCP Apps Extension ([SEP-1865](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/1865)).
6
+
7
+ ## Specification
8
+
9
+ | Version | Status | Link |
10
+ | -------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------- |
11
+ | **2026-01-26** | Stable | [specification/2026-01-26/apps.mdx](https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/2026-01-26/apps.mdx) |
12
+ | draft | Development | [specification/draft/apps.mdx](https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/draft/apps.mdx) |
6
13
 
7
14
  MCP Apps are a proposed standard inspired by [MCP-UI](https://mcpui.dev/) and [OpenAI's Apps SDK](https://developers.openai.com/apps-sdk/) to allow MCP Servers to display interactive UI elements in conversational MCP clients / chatbots.
8
15
 
@@ -40,7 +47,7 @@ Embed and communicate with MCP Apps in your chat application.
40
47
 
41
48
  There's no _supported_ host implementation in this repo (beyond the [examples/basic-host](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-host) example).
42
49
 
43
- We have [contributed a tentative implementation](https://github.com/MCP-UI-Org/mcp-ui/pull/147) of hosting / iframing / sandboxing logic to the [MCP-UI](https://github.com/idosal/mcp-ui) repository, and expect OSS clients may use it, while other clients might roll their own hosting logic.
50
+ The [MCP-UI](https://github.com/idosal/mcp-ui) client SDK offers a fully-featured MCP Apps framework used by a few hosts. Clients may choose to use it or roll their own implementation.
44
51
 
45
52
  ## Installation
46
53
 
@@ -326,9 +333,182 @@ To use these examples with MCP clients that support the stdio transport (such as
326
333
  > [!NOTE]
327
334
  > The `qr` server requires cloning the repository first. See [qr-server README](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/qr-server) for details.
328
335
 
336
+ #### Local Development
337
+
338
+ To test local modifications with MCP clients, first clone and install the repository:
339
+
340
+ ```bash
341
+ git clone https://github.com/modelcontextprotocol/ext-apps.git
342
+ cd ext-apps
343
+ npm install
344
+ ```
345
+
346
+ Then configure your MCP client to build and run the local server. Replace `~/code/ext-apps` with your actual clone path:
347
+
348
+ <details>
349
+ <summary>MCP client configuration for local development (all examples)</summary>
350
+
351
+ ```json
352
+ {
353
+ "mcpServers": {
354
+ "basic-react": {
355
+ "command": "bash",
356
+ "args": [
357
+ "-c",
358
+ "cd ~/code/ext-apps/examples/basic-server-react && npm run build >&2 && node dist/index.js --stdio"
359
+ ]
360
+ },
361
+ "basic-vanillajs": {
362
+ "command": "bash",
363
+ "args": [
364
+ "-c",
365
+ "cd ~/code/ext-apps/examples/basic-server-vanillajs && npm run build >&2 && node dist/index.js --stdio"
366
+ ]
367
+ },
368
+ "basic-vue": {
369
+ "command": "bash",
370
+ "args": [
371
+ "-c",
372
+ "cd ~/code/ext-apps/examples/basic-server-vue && npm run build >&2 && node dist/index.js --stdio"
373
+ ]
374
+ },
375
+ "basic-svelte": {
376
+ "command": "bash",
377
+ "args": [
378
+ "-c",
379
+ "cd ~/code/ext-apps/examples/basic-server-svelte && npm run build >&2 && node dist/index.js --stdio"
380
+ ]
381
+ },
382
+ "basic-preact": {
383
+ "command": "bash",
384
+ "args": [
385
+ "-c",
386
+ "cd ~/code/ext-apps/examples/basic-server-preact && npm run build >&2 && node dist/index.js --stdio"
387
+ ]
388
+ },
389
+ "basic-solid": {
390
+ "command": "bash",
391
+ "args": [
392
+ "-c",
393
+ "cd ~/code/ext-apps/examples/basic-server-solid && npm run build >&2 && node dist/index.js --stdio"
394
+ ]
395
+ },
396
+ "budget-allocator": {
397
+ "command": "bash",
398
+ "args": [
399
+ "-c",
400
+ "cd ~/code/ext-apps/examples/budget-allocator-server && npm run build >&2 && node dist/index.js --stdio"
401
+ ]
402
+ },
403
+ "cohort-heatmap": {
404
+ "command": "bash",
405
+ "args": [
406
+ "-c",
407
+ "cd ~/code/ext-apps/examples/cohort-heatmap-server && npm run build >&2 && node dist/index.js --stdio"
408
+ ]
409
+ },
410
+ "customer-segmentation": {
411
+ "command": "bash",
412
+ "args": [
413
+ "-c",
414
+ "cd ~/code/ext-apps/examples/customer-segmentation-server && npm run build >&2 && node dist/index.js --stdio"
415
+ ]
416
+ },
417
+ "map": {
418
+ "command": "bash",
419
+ "args": [
420
+ "-c",
421
+ "cd ~/code/ext-apps/examples/map-server && npm run build >&2 && node dist/index.js --stdio"
422
+ ]
423
+ },
424
+ "pdf": {
425
+ "command": "bash",
426
+ "args": [
427
+ "-c",
428
+ "cd ~/code/ext-apps/examples/pdf-server && npm run build >&2 && node dist/index.js --stdio"
429
+ ]
430
+ },
431
+ "scenario-modeler": {
432
+ "command": "bash",
433
+ "args": [
434
+ "-c",
435
+ "cd ~/code/ext-apps/examples/scenario-modeler-server && npm run build >&2 && node dist/index.js --stdio"
436
+ ]
437
+ },
438
+ "shadertoy": {
439
+ "command": "bash",
440
+ "args": [
441
+ "-c",
442
+ "cd ~/code/ext-apps/examples/shadertoy-server && npm run build >&2 && node dist/index.js --stdio"
443
+ ]
444
+ },
445
+ "sheet-music": {
446
+ "command": "bash",
447
+ "args": [
448
+ "-c",
449
+ "cd ~/code/ext-apps/examples/sheet-music-server && npm run build >&2 && node dist/index.js --stdio"
450
+ ]
451
+ },
452
+ "system-monitor": {
453
+ "command": "bash",
454
+ "args": [
455
+ "-c",
456
+ "cd ~/code/ext-apps/examples/system-monitor-server && npm run build >&2 && node dist/index.js --stdio"
457
+ ]
458
+ },
459
+ "threejs": {
460
+ "command": "bash",
461
+ "args": [
462
+ "-c",
463
+ "cd ~/code/ext-apps/examples/threejs-server && npm run build >&2 && node dist/index.js --stdio"
464
+ ]
465
+ },
466
+ "transcript": {
467
+ "command": "bash",
468
+ "args": [
469
+ "-c",
470
+ "cd ~/code/ext-apps/examples/transcript-server && npm run build >&2 && node dist/index.js --stdio"
471
+ ]
472
+ },
473
+ "video-resource": {
474
+ "command": "bash",
475
+ "args": [
476
+ "-c",
477
+ "cd ~/code/ext-apps/examples/video-resource-server && npm run build >&2 && node dist/index.js --stdio"
478
+ ]
479
+ },
480
+ "wiki-explorer": {
481
+ "command": "bash",
482
+ "args": [
483
+ "-c",
484
+ "cd ~/code/ext-apps/examples/wiki-explorer-server && npm run build >&2 && node dist/index.js --stdio"
485
+ ]
486
+ },
487
+ "qr": {
488
+ "command": "bash",
489
+ "args": [
490
+ "-c",
491
+ "uv run ~/code/ext-apps/examples/qr-server/server.py --stdio"
492
+ ]
493
+ },
494
+ "say": {
495
+ "command": "bash",
496
+ "args": [
497
+ "-c",
498
+ "uv run --index https://pypi.org/simple ~/code/ext-apps/examples/say-server/server.py --stdio"
499
+ ]
500
+ }
501
+ }
502
+ }
503
+ ```
504
+
505
+ </details>
506
+
507
+ This configuration rebuilds each server on launch, ensuring your local changes are picked up.
508
+
329
509
  ## Resources
330
510
 
331
511
  - [Quickstart Guide](https://modelcontextprotocol.github.io/ext-apps/api/documents/Quickstart.html)
332
512
  - [API Documentation](https://modelcontextprotocol.github.io/ext-apps/api/)
333
- - [Draft Specification](https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/draft/apps.mdx)
513
+ - [Specification (2026-01-26)](https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/2026-01-26/apps.mdx) ([Draft](https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/draft/apps.mdx))
334
514
  - [SEP-1865 Discussion](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/1865)