Skip to main content

MCP Apps UI toolkit — forms, dashboards, charts, tables for AI agents to render interactive UIs

Project description

mcp-interactive-ui-server

PyPI version License: MIT

MCP Apps UI toolkit — forms, dashboards, charts, tables for AI agents to render interactive UIs.

What Are MCP Apps?

MCP Apps is a 2026 extension to the Model Context Protocol that enables AI agents to go beyond text responses and render interactive user interfaces directly within MCP-compatible clients.

Instead of returning plain text or markdown, agents can generate structured UI schemas that clients render as native components — forms, dashboards, charts, tables, and multi-step wizards. This bridges the gap between conversational AI and application-level interactivity.

Why This Matters

  • Agents become app builders: Instead of describing data, agents can present it visually with charts, dashboards, and tables
  • Structured data collection: Forms and wizards let agents gather complex user input with validation
  • Richer interactions: Toggles, buttons, accordions, and tabs embedded directly in responses
  • Client-agnostic: The JSON schema approach works across any MCP client that supports UI rendering

Tools (6)

Tool Description
create_form Generate interactive forms with text, number, select, checkbox, date fields and validation
create_dashboard Build grid-based dashboards with stat cards, charts, tables, progress bars
create_chart Define charts (bar, line, pie, scatter, area, donut, heatmap) with data and styling
create_table Create sortable, filterable, paginated tables from headers and row data
create_wizard Multi-step form wizards with per-step validation and progress tracking
render_markdown Enhanced markdown with embedded interactive elements (buttons, toggles, inputs, tabs)

Installation

pip install mcp-interactive-ui-server

Quick Start

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "interactive-ui": {
      "command": "interactive-ui-server"
    }
  }
}

Cursor / Windsurf

Add to your MCP settings:

{
  "mcpServers": {
    "interactive-ui": {
      "command": "interactive-ui-server"
    }
  }
}

With uvx (no install needed)

{
  "mcpServers": {
    "interactive-ui": {
      "command": "uvx",
      "args": ["mcp-interactive-ui-server"]
    }
  }
}

Usage Examples

Create a Contact Form

Agent: create_form("Contact Us", [
    {"label": "Name", "type": "text", "required": true},
    {"label": "Email", "type": "email", "required": true},
    {"label": "Subject", "type": "select", "options": ["General", "Support", "Sales"]},
    {"label": "Message", "type": "textarea", "rows": 6}
])

Build a Sales Dashboard

Agent: create_dashboard("Q1 Sales", [
    {"type": "stat_card", "title": "Revenue", "value": "$142K", "trend": "up", "change": "+12%"},
    {"type": "stat_card", "title": "Orders", "value": "1,247", "trend": "up", "change": "+8%"},
    {"type": "chart", "title": "Monthly Sales", "chart_type": "bar",
     "data": {"labels": ["Jan","Feb","Mar"], "datasets": [{"label": "Sales", "values": [42,51,49]}]}},
    {"type": "progress_bar", "title": "Quarterly Target", "value": 72, "max": 100}
])

Generate a Chart

Agent: create_chart("pie",
    {"labels": ["Chrome", "Firefox", "Safari", "Edge"], "values": [65, 15, 12, 8]},
    title="Browser Market Share"
)

Interactive Markdown Report

Agent: render_markdown(
    "# Status Report\n\nSystem health: {{status_badge}}\n\n{{details}}\n\n{{action_btn}}",
    [
        {"type": "badge", "id": "status_badge", "text": "Healthy", "color": "green"},
        {"type": "accordion", "id": "details", "title": "View Details", "content": "All 12 services operational."},
        {"type": "button", "id": "action_btn", "label": "Run Diagnostics", "action": "diagnose"}
    ]
)

UI Schema

All tools return structured JSON following the mcp-ui schema specification:

{
  "$schema": "mcp-ui/<component>/v1",
  "type": "<component_type>",
  "title": "...",
  "...": "component-specific properties",
  "metadata": {
    "created_at": "ISO timestamp",
    "version": "1.0"
  }
}

Schema types: form, dashboard, chart, table, wizard, enhanced_markdown

Requirements

  • Python 3.10+
  • MCP SDK (mcp[cli]>=1.0.0)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_interactive_ui_server-0.1.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_interactive_ui_server-0.1.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file mcp_interactive_ui_server-0.1.0.tar.gz.

File metadata

File hashes

Hashes for mcp_interactive_ui_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1faa61da403889c25977cd2714d55c8154aff9e144948689252ae496ad9ec790
MD5 ee5ecec0d1de1b4e00c344915ff7fc22
BLAKE2b-256 93b224ac89679bb61efadfbff06b31a4dba742167d7bd1dbed4523cc97697f22

See more details on using hashes here.

File details

Details for the file mcp_interactive_ui_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_interactive_ui_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd965c00ce7f6ad05e2f2aebf25b5ba38d2f4044f1ff89efa0b550c72c6e5d86
MD5 31fc2ff1fb2ad81b5cd11149744a1782
BLAKE2b-256 a72cd8a3018a52c23e4764cfe3f28954013cf25df1ff5e21805fa2356b72be96

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page