build-mcp-app

Builds MCP apps by adding interactive UI widget resources to deployed MCP server tools.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/julianobarbosa/.claude --skill build-mcp-app-julianobarbosa
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: build-mcp-app
Source: https://github.com/julianobarbosa/.claude/tree/main/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-app
Command: npx skills add https://github.com/julianobarbosa/.claude --skill build-mcp-app-julianobarbosa

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill helps you turn a plain MCP server into an MCP app that can render interactive UI widgets (forms, pickers, dashboards, confirmation dialogs) inline during chat.

Core Features & Use Cases

  • Interactive UI widgets for MCP tools: Adds a UI resource layer so tool results can be rendered as embedded interactive components.
  • Correct widget routing and lifecycle: Ensures _meta.ui.resourceUri wiring, iframe sandbox behavior, and host-specific theming are handled properly.
  • Widget vs. elicitation guidance: Chooses the right approach depending on whether the host can support structured elicitation without custom UI.

Quick Start

Tell your AI to build an interactive MCP app that includes a picker widget for selecting items and show it inline after the related MCP server tool is selected.

Frequently Asked Questions about build-mcp-app

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add interactive UI widgets to an MCP server?▼

To add interactive UI widgets to an MCP server, you register UI tools with `_meta.ui.resourceUri` and serve HTML resources using the `text/html;profile=mcp-app` mime type to render forms and dashboards inline.

What are MCP apps and how do they differ from plain MCP servers?▼

MCP apps are MCP servers enhanced with a UI resource layer, enabling them to render interactive components like pickers and confirmation dialogs inline during chat, going beyond plain text and JSON outputs.

How do I handle iframe CSP and sandbox constraints when building MCP apps?▼

To handle iframe CSP and sandbox constraints when building MCP apps, you must inline the ext-apps bundle directly and utilize host-mediated APIs for secure communication and rendering.

When should I use MCP UI widgets instead of structured elicitation?▼

You should use MCP UI widgets instead of structured elicitation when the host environment cannot support structured elicitation without custom UI, requiring interactive forms or dashboards for user input.

Can I render dashboards and confirmation dialogs inline during a Claude chat?▼

Yes, you can render dashboards and confirmation dialogs inline during chat by turning a plain MCP server into an MCP app that serves interactive UI widget resources via the correct apps-surface profile.