MCP Apps Explained: Interactive UIs for AI Tools (Guide)

MCP Apps are interactive tool outputs that render as rich HTML and CSS inside supported AI clients. Instead of stopping at plain text or raw JSON, an MCP tool can return a full, styled experience: dashboards, charts, forms, data tables, and cards that users can read and interact with in context.
The Model Context Protocol already made it possible for assistants to call tools against live systems. MCP Apps extend that idea: they turn those calls into something that feels closer to a small application than a chat transcript. For anyone searching mcp app or mcp apps, this guide explains what that means technically, why teams care, and how to build one.
Traditional MCP tools return text. AI clients display text well. Many real workflows still need visual output — a stock dashboard, a compliance summary, a project status board, a customer profile. MCP Apps bridge the gap between “the model called a tool” and “the user got something they can actually use on screen.”
What MCP Apps Are (and What They Are Not)
An MCP App is not a separate product category bolted onto MCP. It is a pattern: your tool’s response includes HTML (or HTML produced by a library) that the host recognizes and renders in a sandboxed presentation surface (for example, an iframe). The assistant still invoked a normal MCP tool; the difference is the payload shape and how the client displays it.
What MCP Apps are not:
- They are not a replacement for MCP tools — they are a richer output from those tools.
- They are not guaranteed to render the same in every client; host support varies (see Host compatibility below).
Why MCP Apps Matter for Agents and Teams
Agents excel at reasoning over data, but humans still digest layout, hierarchy, and visuals faster than walls of text. When the same tool run can produce:
- trend lines instead of comma-separated numbers,
- color-coded risk instead of prose paragraphs,
- tabular drill-down instead of nested JSON,
…the conversation stays in the assistant while the artifact carries the detail. That matters for analytics, operations, sales workflows, and anywhere “show me” beats “tell me.”
Search interest around mcp app and mcp apps has grown sharply as teams adopt MCP across Claude, ChatGPT, and developer tooling — people want visual, interactive results from their agent workflows, not only token streams.
How MCP Apps Work: Architecture in Four Steps
- Tool execution — In your MCP tool’s
handle_call, you return HTML. That may be hand-authored markup or output from a library likemcpbundles-app-ui(see the next section). - Wire format — The AI client receives this content as a special content type associated with app-style UI (exact details depend on the host’s MCP implementation).
- Sandboxed rendering — The client loads the HTML in a sandboxed iframe (or an equivalent isolated surface), so styling and layout apply without escaping into the host chrome.
- User experience — The end user sees charts, cards, and structured layout — an mcp applications-style view — instead of a single monospace blob.
The platform or host is responsible for where that iframe lives and which capabilities (scripts, network, storage) the sandbox allows. Your job as the author is to produce valid, self-contained HTML that behaves well inside those constraints.
The mcpbundles-app-ui Library
mcpbundles-app-ui is an open-source Python package for building MCP App UIs with consistent layout and theming:
- Install:
pip install mcpbundles-app-ui - Core types:
App,LightTheme,Stats,Stat,Card - Purpose: Responsive layout, theming, and patterns that work across clients that support MCP Apps (e.g. Claude and ChatGPT), so you spend less time fighting CSS and host quirks.
You subclass App, compose Stats, Card, and your own HTML fragments, and return the generated markup from handle_call. The library targets mcp tools ui authors who want maintainable structure instead of one-off inline strings sprinkled across every tool.
Examples of Real MCP Apps
A few patterns teams reach for once HTML output is on the table: a Stock Intelligence Dashboard with real-time quotes, price charts, analyst ratings, and key financial metrics on one visual surface; an SEO Performance Report showing traffic trends, top landing pages, and keyword movements as cards and simple charts; a Customer Profile Card that renders CRM fields as a styled contact card with recent deal history and timeline cues; Code Execution Results with syntax highlighting, optional charts, and data tables when the agent runs analysis or scripts; and a Compliance Screening Report with risk indicators, match summaries, and clear hierarchy for reviewers.
Each example shares the same idea: structure + visual encoding so the user grasps outcomes faster than from unstructured text alone.
Building an MCP App (High-Level)
The shape of an MCP App tool is short:
- Install
mcpbundles-app-uiand subclassApp, picking a theme likeLightTheme. - Compose the UI with
Stats,Stat,Card, and any additional HTML your product needs. - Return the resulting HTML string from your tool’s
handle_calland let the host render it in its sandboxed app surface.
On hosts without iframe-style app rendering, users may still see a text-oriented representation of the tool result — plan copy and fallbacks accordingly.
Host Compatibility: Claude, ChatGPT, and IDEs
| Environment | MCP Apps support |
|---|---|
| Claude Desktop | Full support via artifacts-style app rendering |
| ChatGPT | Full support via canvas-style app rendering |
| Cursor / IDE MCP clients | Typically text fallback today — no embedded iframe app surface in most setups |
Treat mcp ui as progressive enhancement: the tool should remain correct when only text is shown, and delight when the host renders full HTML.
FAQ
What's the difference between MCP tools and MCP Apps?
MCP tools are callable functions exposed over MCP (inputs, execution, outputs). MCP Apps describe a class of tool outputs where the result is HTML meant for interactive or rich visual rendering in the client. Every MCP App is still delivered through an MCP tool; not every MCP tool is an MCP App.
Which AI clients support MCP Apps?
Claude Desktop and ChatGPT support rendering MCP App HTML in sandboxed surfaces aligned with their product UX (artifacts and canvas, respectively). Many IDE-integrated MCP clients currently surface tool results primarily as text; HTML may appear escaped or flattened.
Can I build my own MCP App?
Install mcpbundles-app-ui, subclass App, build your layout, and return HTML from handle_call. Keep markup self-contained and safe for sandboxed iframes, and avoid relying on browser APIs the host disables.
Do MCP Apps work offline?
MCP Apps are rendered by the client after a networked tool invocation, so they don't run offline. Without connectivity to the MCP host and backend, the tool can't execute and the HTML can't be produced or updated.
Are MCP Apps secure?
Hosts isolate MCP App HTML in sandboxes (commonly iframes with restricted capabilities). You should still treat app HTML like untrusted UI: avoid embedding secrets in markup, validate data before display, and follow your organization’s content security policies. Security is a shared responsibility between the tool author and the host.