Dynamic MCP UI Generator
Implements advanced styling with glassmorphism effects for the UI components generated by the MCP server
Uses Express.js as the web framework for handling API endpoints and serving dynamic UI components
Integrates Inter font from Google Fonts for modern, readable typography in the generated UI components
Embeds JavaScript in dynamically generated HTML components for interactive functionality
Runs the MCP server on Node.js runtime to power the backend services for UI generation
Supports automatic server restart on file changes during development
Implements the frontend client using React 18 with hooks and functional components
Uses Vite as the build tool and development server for the frontend client
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dynamic MCP UI Generatorcreate a dashboard with sales metrics and a pie chart for regional revenue"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP UI: Endpoint → Design-System UI
Live demo: mcp-ui-poc.vercel.app
Point at any API endpoint. An AI layer analyses the response and composes a UI
from a registered design system, returned as an
MCP UI resource and rendered in a sandboxed iframe via
@mcp-ui/client's UIResourceRenderer.
endpoint URL ─▶ SSRF-guarded fetch ─▶ AI/heuristic planner ─▶ design-system render ─▶ MCP UI resourceFeatures
Multi-LLM planner — Anthropic, OpenAI, or Gemini (
packages/core, published asui-compose-kit); falls back to a deterministic heuristic planner when no API key is configured.Pluggable design systems —
glass(default),shadcn,material,plain. The AI picks from a fixed component catalog (stat-grid, table, list, chart, alert, action-row, etc.) enforced by JSON schema.Instruction-driven — free-form prompts steer field selection, chart type, and layout (
page,modal, orcomponentpresentation).Glassmorphism shell — frosted-glass UI with a live appearance panel (blur, frost, mesh, etc.), persisted to
localStorage.Safety by default — SSRF guard on outbound fetches, response size/time caps, generated-HTML size cap, per-IP rate limiting.
Related MCP server: Document Automation MCP Server
Project structure
mcp-ui-poc/
├── client/ # React + Vite frontend (Tailwind v4, shadcn/ui)
├── server/ # Express API (routes, SSRF-guarded fetch, rate limits)
├── packages/core/ # ui-compose-kit: planner, LLM adapters, design systems
└── api/ # Vercel serverless entry pointSee packages/core/README.md for the
ui-compose-kit package (adapters, design-system authoring, presentation
modes).
Getting started
git clone <repository-url> && cd mcp-ui-poc
npm install && npm run install-all
cp .env.example .env # add ANTHROPIC_API_KEY (or OPENAI_/GEMINI_)
npm run dev # backend on :3001
npm run client # frontend on :3000 (proxies /api to :3001)Open http://localhost:3000.
API
Endpoint | Description |
| Server status, planner/model, design systems, LLM providers |
| List registered design systems |
| Set active design system ( |
| Validate a client-supplied LLM API key |
|
|
Key environment variables
Variable | Default | Purpose |
| — / | Anthropic adapter |
| — / | OpenAI adapter |
| — / | Gemini adapter |
|
| Default provider (override per-request via |
|
| Default design system ( |
| unset | Allow private/loopback fetch targets (local dev) |
|
| Max generated HTML size (returns 413 over limit) |
|
| Per-IP limit on |
See .env.example for the full list.
Scripts
Command | Purpose |
| Start backend (nodemon, :3001) |
| Start frontend dev server (:3000) |
| Build frontend for production |
| Install client + server dependencies |
| Lint frontend |
Security
No persistent storage — each request is stateless.
SSRF guard rejects private/loopback endpoints unless explicitly allowed.
MCP UI resources render in a sandboxed iframe; host communication is limited to
postMessagenotify/linkactions.
License
MIT — see LICENSE.
Stack: React, Vite, Tailwind CSS v4, shadcn/ui, Node.js, Express,
@anthropic-ai/sdk, openai, @google/genai, @mcp-ui/server, @mcp-ui/client.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iamadi11/mcp-ui-poc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server