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
2025-11-21 20:24:22 +00:00
examples/simple-server use remote dep from example 2025-11-21 20:24:22 +00:00
specification/draft spec: ui/notifications/tool-input (no final 's') 2025-11-21 19:03:37 +00:00
src AppHost -> AppBridge 2025-11-21 17:51:33 +00:00
.gitignore Initial commit 2025-11-21 11:56:27 +00:00
app.ts Initial commit 2025-11-21 11:56:27 +00:00
build.bun.ts build w/ bun to avoid internal deps hell 2025-11-21 19:28:45 +00:00
build.esbuild.ts build w/ bun to avoid internal deps hell 2025-11-21 19:28:45 +00:00
message-transport.ts Initial commit 2025-11-21 11:56:27 +00:00
package.json Update package.json 2025-11-21 19:35:25 +00:00
README.md Update README.md 2025-11-21 19:02:11 +00:00
tsconfig.json Initial commit 2025-11-21 11:56:27 +00:00
types.ts ui/notifications/tool-input* (singular to match inputSchema) 2025-11-21 14:03:20 +00:00

@modelcontextprotocol/ext-apps

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

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

Installation

This repo is in flux and isn't published to npm (when it is, we'll probably use the @modelcontextprotocol/ext-apps package). Please install it from git for now:

npm install git+https://github.com/modelcontextprotocol/ext-apps.git

Development Notes

Build tools in dependencies

The build tools (esbuild, tsx, typescript) are in dependencies rather than devDependencies. This is intentional: it allows the prepare script to run when the package is installed from git, since npm doesn't install devDependencies for git dependencies.

Once the package is published to npm with pre-built dist/, these can be moved back to devDependencies.