@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 +183 -3
- package/dist/src/app-bridge.js +7 -7
- package/dist/src/app-with-deps.js +6 -6
- package/dist/src/app.js +4 -4
- package/dist/src/generated/schema.d.ts +2 -2
- package/dist/src/react/index.js +4 -4
- package/dist/src/react/react-with-deps.js +4 -4
- package/dist/src/server/index.js +4 -4
- package/dist/src/spec.types.d.ts +4 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@modelcontextprotocol/ext-apps) [](https://modelcontextprotocol.github.io/ext-apps/api/)
|
|
4
4
|
|
|
5
|
-
This repo contains the SDK and
|
|
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
|
-
|
|
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
|
-
- [
|
|
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)
|