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
Olivier Chafik 0408a6e9c7
release: 0.1.1 (prettier fix to unlock release) (#138)
* fix: prettify generated files on the fly

- Add prettier --write to generate:schemas script to format generated
  files immediately after generation
- Remove redundant prettier:fix from CI schema verification step
  (now that generation includes formatting)

This fixes the release CI failure where generated files weren't
formatted. Previously, PR CI masked this by running prettier:fix
before the final prettier check, while release CI ran the check
directly on freshly-generated (unformatted) files.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* format

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-12 00:44:04 +01:00
.github/workflows release: 0.1.1 (prettier fix to unlock release) (#138) 2025-12-12 00:44:04 +01:00
.husky build: auto-generate Zod schemas from TypeScript types using ts-to-zod (#116) 2025-12-10 01:05:49 +01:00
docs Add checkpoints and callouts to quickstart guide (#93) 2025-12-09 16:16:28 +01:00
examples feat: implement ui/notifications/tool-cancelled + add missing App.onteardown (#120) 2025-12-11 20:31:17 +01:00
scripts build: auto-generate Zod schemas from TypeScript types using ts-to-zod (#116) 2025-12-10 01:05:49 +01:00
specification/draft fix: host may request user consent (#126) 2025-12-11 20:07:58 +01:00
src release: 0.1.1 (prettier fix to unlock release) (#138) 2025-12-12 00:44:04 +01:00
.gitattributes Track package-lock.json for deterministic builds (#44) 2025-12-01 20:06:32 +00:00
.gitignore Add Three.js marketing example server 2025-12-08 21:19:42 +00:00
.prettierignore Add basic-server-vanillajs example 2025-12-04 14:28:27 -06:00
build.bun.ts npm run prettier:fix 2025-11-23 03:15:06 +00:00
CONTRIBUTING.md release: 0.0.3, switched to npm trusted publishing (#101) 2025-12-09 00:52:52 +01:00
LICENSE add license (#96) 2025-12-08 21:51:19 +01:00
package-lock.json release: 0.1.0 (#137) 2025-12-11 23:21:20 +01:00
package.json release: 0.1.1 (prettier fix to unlock release) (#138) 2025-12-12 00:44:04 +01:00
README.md add npm version badge (#113) 2025-12-09 22:44:00 +01: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 run examples:start

Then open http://localhost:8080/.

Resources