- TypeScript 76.4%
- MDX 19.3%
- JavaScript 4.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Introduces a step-by-step tutorial covering: - Project setup with Vite and TypeScript - Server creation with tool + resource registration - UI development using the App SDK - Testing with basic-host Also updates README to link to the guide and configures typedoc to include it in generated documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
| .github/workflows | ||
| .husky | ||
| docs | ||
| examples | ||
| specification/draft | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierignore | ||
| build.bun.ts | ||
| CONTRIBUTING.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| typedoc.json | ||
@modelcontextprotocol/ext-apps
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
This repo is in flux and isn't published to npm yet. When it is, it will use the @modelcontextprotocol/ext-apps package.
In the meantime you can depend on the SDK library in a Node.js project by installing it with its git URL:
npm install -S git+https://github.com/modelcontextprotocol/ext-apps.git
Your package.json will then look like:
{
"dependencies": {
"@modelcontextprotocol/ext-apps": "git+https://github.com/modelcontextprotocol/ext-apps.git"
}
}
Note
The build tools (
esbuild,tsx,typescript) are independenciesrather thandevDependencies. This is intentional: it allows thepreparescript 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 todevDependencies.
Examples
examples/basic-server-react— Example MCP server with tools that return UI Apps (React)examples/basic-server-vanillajs— Example MCP server with tools that return UI Apps (vanilla JS)examples/basic-host— Bare-bones example of hosting MCP Apps
To run the examples end-to-end:
npm i
npm run examples:start
Then open http://localhost:8080/