Mirror of https://github.com/modelcontextprotocol/ext-apps — Official repo for spec & SDK of MCP Apps protocol - standard for UIs embedded AI chatbots, served by MCP servers
  • TypeScript 76.4%
  • MDX 19.3%
  • JavaScript 4.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonathan Hefner ec3409aa91
Add shadertoy-server example for WebGL shader rendering (#226)
Introduces a new MCP App example that renders ShaderToy-compatible GLSL
fragment shaders in real-time using WebGL 2.0 and ShaderToyLite.js.

Features:
- Standard ShaderToy uniforms (`iTime`, `iResolution`, `iMouse`, etc.)
- Multi-pass rendering with buffers A-D for feedback effects
- Shader compilation error overlay

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 18:26:02 +00:00
.github/workflows chore: release 0.3.1 (#224) 2026-01-09 18:22:27 +00:00
.husky Add pre-commit check for private registry URLs in package-lock.json (#133) 2025-12-16 13:41:50 +00:00
docs docs: fix tsc command to use tsconfig.json (#188) 2025-12-20 17:39:34 +02:00
examples Add shadertoy-server example for WebGL shader rendering (#226) 2026-01-12 18:26:02 +00:00
scripts fix: ensure lib is built before examples:build (#185) 2026-01-09 01:36:42 +00:00
specification/draft feat: add ui/update-model-context (#125) 2026-01-12 15:21:45 +00:00
src Add shadertoy-server example for WebGL shader rendering (#226) 2026-01-12 18:26:02 +00:00
tests/e2e Add shadertoy-server example for WebGL shader rendering (#226) 2026-01-12 18:26:02 +00:00
.gitattributes fix: Windows compatibility - bun as optional dep, cross-env for examples (#145) 2025-12-16 14:07:38 +00:00
.gitignore tests: add Playwright E2E tests with screenshot golden testing (+ fix examples session handling) (#115) 2025-12-13 20:57:27 +00:00
.prettierignore Add shadertoy-server example for WebGL shader rendering (#226) 2026-01-12 18:26:02 +00:00
.prettierrc.json api: optional Client in AppBridge (allow custom forwarding), better protocol types (AppRequest, AppNotification, AppResult) (#146) 2025-12-13 21:07:13 +00:00
build.bun.ts build app-with-deps (#221) 2026-01-09 01:26:31 +00:00
CONTRIBUTING.md tests: add Playwright E2E tests with screenshot golden testing (+ fix examples session handling) (#115) 2025-12-13 20:57:27 +00:00
LICENSE add license (#96) 2025-12-08 21:51:19 +01:00
package-lock.json Add shadertoy-server example for WebGL shader rendering (#226) 2026-01-12 18:26:02 +00:00
package.json chore: release 0.3.1 (#224) 2026-01-09 18:22:27 +00:00
playwright.config.ts fix: ensure E2E screenshot tests work consistently across CI and local (#150) 2025-12-15 15:12:36 +00:00
README.md Add basic-server-* examples for Vue, Svelte, Preact, and Solid (#141) 2026-01-08 18:44:36 +00:00
RELEASES.md chore: release 0.3.0 (#204) 2026-01-09 00:55:45 +00:00
tsconfig.json Initial commit 2025-11-21 11:56:27 +00:00
typedoc.json Add Quickstart guide for building MCP Apps 2025-12-04 14:28:55 -06:00

@modelcontextprotocol/ext-apps

npm version API Documentation

This repo contains the SDK and specification for MCP Apps Extension (SEP-1865).

MCP Apps are a proposed standard inspired by MCP-UI and OpenAI's Apps SDK to allow MCP Servers to display interactive UI elements in conversational MCP clients / chatbots.

Overview

This SDK serves two audiences:

App Developers

Build interactive UIs that run inside MCP-enabled chat clients.

  • SDK for Apps: @modelcontextprotocol/ext-apps — API Docs
  • React hooks: @modelcontextprotocol/ext-apps/react — API Docs

Host Developers

Embed and communicate with MCP Apps in your chat application.

  • SDK for Hosts: @modelcontextprotocol/ext-apps/app-bridge — API Docs

There's no supported host implementation in this repo (beyond the examples/basic-host example).

We have contributed a tentative implementation of hosting / iframing / sandboxing logic to the MCP-UI repository, and expect OSS clients may use it, while other clients might roll their own hosting logic.

Installation

npm install -S @modelcontextprotocol/ext-apps

Or edit your package.json manually:

{
  "dependencies": {
    "@modelcontextprotocol/ext-apps": "^0.0.1"
  }
}

Examples

Start with these foundational examples to learn the SDK:

The examples/ directory contains additional demo apps showcasing real-world use cases.

To run all examples together:

npm install
npm start

Then open http://localhost:8080/.

Resources