← Back to directory
M

MCP Apps

Official
Framework / SDK
Spec and SDK for embedding interactive UIs inside MCP tool calls.

This is a framework for building MCP servers or agents, not a server you connect a client to.

Category
Dev Tools #121 of 438
Stars
★ 3.0k Very popular
Transport
stdio (local process)
Runtime
Node.js
Credentials
No credential needed
License
Other / unspecified
Last commit
60FMRS · C

MCP Apps is the officially maintained protocol-extension repository from modelcontextprotocol, providing the spec, a multi-package SDK, and roughly 20 example servers so MCP tools can return interactive UIs rendered inline in compliant chat clients — it is not itself a single installable MCP server. Well suited to developers building rich in-chat UI experiences, but users should verify their target host's support level and the repo's actual license before adopting it.

Strongest · Documentation 15/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
12/20
Maintenance
12/20
Documentation
15/20
Setup experience
13/20
Why each score
Reliability 8/20
No server manifest is cached, and the README itself describes this repo as a spec + SDK + collection of example servers rather than a single runnable MCP server — the object definition ('server path: repository root') is itself ambiguous. The README only offers doc links, badges, and an example gallery; it provides no verifiable test files or evidence that declared tool behavior matches actual behavior, and the CI badge is just an image link with no visible workflow content or test coverage shown. Per the static calibration rule, reliability cannot exceed 12 without verifiable execution evidence, so 8 is given, reflecting a plausible-looking happy path with unverified edge cases, error handling, and manifest-to-behavior consistency.
Security and permissions 12/20
The README states that UI renders in a 'sandboxed iframe' via the host, with tool data passed through notifications/a controlled channel between host and UI — a reasonable isolation design, and no red-line risk (no credential theft, no covert exfiltration, no unconfirmed destructive default actions) is evident. However, as a protocol/SDK repo, the actual permission model, least-privilege constraints, confirmation mechanisms for dangerous operations, and external network access boundaries are not detailed with checkable evidence in the README; example servers (system monitor, map, PDF, etc.) may involve local resource or network access with no disclosed scoping. Evidence is insufficient to confirm explicit least-privilege and data-flow disclosure, so 12 is given — main risks are visible but permission/confirmation/scoping is incomplete.
Maintenance 12/20
The repo is maintained by the official modelcontextprotocol org, with an actively published npm package (version/download badges), a CI badge, and a CONTRIBUTING.md; 2682 stars suggest active use. However, a key issue: GitHub reports the license as NOASSERTION (undetected/unclear license) while the README badge claims 'License: Apache 2.0' — a clear contradiction indicating a governance and license-clarity gap. Combined with a high open-issue count (191) and no visible security-response channel, this is active but with real governance/versioning gaps, warranting 12.
Documentation 15/20
The README is well-structured with a table of contents, quickstart links, API doc links, supported-client listings, an SDK package-purpose table, a rich example gallery (12+ example servers plus 5-framework starter templates), a spec version table, and a contributing guide — layered and reasonably example-rich. However, without a cached manifest, tool-level parameters, limits, cost, or troubleshooting detail cannot be verified from this evidence, so full marks are not warranted; 15 is given.
Setup experience 13/20
The README gives clear setup steps: an npm install command, a Quickstart guide link, a local-run flow (git clone + npm install + npm start) for examples, and JSON config examples for stdio-based clients (Claude Desktop, VS Code), plus guidance for pointing at local builds during development. Steps are concrete and configuration examples are provided, indicating a relatively low setup barrier. Per the static calibration rule, setup cannot exceed 15 without real CI workflow content and committed tests verifiably covering key paths; also, the repo's multi-package/multi-example structure adds real-world complexity (e.g., Python examples require uv run), so 13 is given.

Static review · not runListed 2026-08-06

Read the FMRS scoring method →

Fit and risk

What it can accessRuns commands or codeUses the network

Best for

  • MCP server developers who need rich interactive UI inside tool call results
  • Teams already using hosts that support the MCP Apps extension (Claude, ChatGPT, VS Code, Goose, Postman)
  • Developers who want official spec-compliant starter templates across multiple front-end frameworks (React, Vue, Svelte, Preact, Solid, vanilla JS)

Not for

  • Users looking for a single ready-to-use MCP server/tool — this repo is a protocol spec, SDK, and example collection, not one server
  • Setups where the client host doesn't support the MCP Apps extension (README states host support varies)
  • Anyone needing a production-supported, officially maintained host implementation — README explicitly says there's no supported host in the repo beyond the reference basic-host example

Required permissions

  • The spec/SDK itself carries no inherent permissions; specific permissions depend on which example server is used (e.g., the system-monitor example reads local OS metrics, the video-resource example serves binary media resources)
  • README does not provide a complete permissions manifest for any single server

Risks and side effects

  • UI content runs as server-supplied HTML inside a sandboxed iframe on the host — the actual isolation and trust boundary depend on the specific host implementation, not on this repo
  • The spec has both a stable 2026-01-26 version and an actively developed draft version, so interfaces may change as the spec evolves
  • License labeling is inconsistent — the README badge shows Apache 2.0 while the repo's catalog metadata records NOASSERTION — verify actual license terms before use

Setup

Before you start

Runtime:Node.js

There is no single installable MCP server here — install the SDK with npm install -S @modelcontextprotocol/ext-apps to build your own app, or clone the repo and run npm install && npm start, then open http://localhost:8080/ to try all bundled examples against the included reference host, basic-host. Each Node.js example is also published individually as @modelcontextprotocol/server-<name> and can be added to a stdio-capable client (Claude Desktop, VS Code, etc.) with npx -y @modelcontextprotocol/server-<name> --stdio. Python examples (qr-server, say-server) are launched with uv run instead. If using an AI coding agent, the four bundled Agent Skills can also be installed via the Claude Code plugin marketplace to scaffold or migrate MCP Apps.

Check that it works

After installing the Agent Skills, ask your agent "What skills do you have?" — the list should include create-mcp-app, migrate-oai-app, add-app-to-server, and convert-web-app.

Troubleshooting

  1. Confirm the target client/host actually supports the MCP Apps extension (check modelcontextprotocol.io/clients, since README notes host support varies)
  2. When adding a Node.js example to a stdio-based client, make sure the `--stdio` flag is included in the launch args
  3. Python examples (qr-server, say-server) must be launched with `uv run`, not npm/node
  4. After installing the Agent Skills, ask your coding agent 'What skills do you have?' to confirm create-mcp-app, migrate-oai-app, add-app-to-server, and convert-web-app are registered

Things to try

Once connected, you can ask your AI assistant things like:

  • Create an MCP App
  • Migrate from OpenAI Apps SDK to MCP Apps
  • Add UI to my MCP server
  • Add MCP App support to my web app

Use cases

Rendering interactive charts, forms, or dashboards inline inside chatbot tool results
Migrating an existing OpenAI Apps SDK app to the MCP Apps protocol
Adding interactive UI to an existing MCP server's tools
Prototyping with official example servers (map, PDF viewer, QR generator, etc.)

Overview

Official repository from the Model Context Protocol project containing the specification and SDK for MCP Apps, an extension to core MCP that lets tools declare ui:// resources (HTML interfaces) so hosts (Claude, ChatGPT, VS Code, and other compliant clients) can render charts, forms, dashboards, and other interactive UIs inline in a sandboxed iframe, with bidirectional communication between the UI and host tools. The repo is not itself a single runnable MCP server — it bundles the protocol spec, a TypeScript SDK (core, React hooks, app-bridge, server helpers), four Agent Skills for scaffolding/migrating apps, and roughly 20 example servers (maps, 3D scenes, PDF viewers, QR codes, etc.). The README shows an Apache 2.0 license badge while the repo's catalog metadata records the license as NOASSERTION — this discrepancy should be verified before relying on licensing terms.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 64.1k · Tools 2 Compare with this →

Source revision cf599cc46240 Data synced 2026-11-04 Read the FMRS scoring method