mcp-interactive-ui-server
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., "@mcp-interactive-ui-serverCreate a contact form with name, email, subject, and message fields."
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-interactive-ui-server
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
Related MCP server: ggui
Tools (6)
Tool | Description |
| Generate interactive forms with text, number, select, checkbox, date fields and validation |
| Build grid-based dashboards with stat cards, charts, tables, progress bars |
| Define charts (bar, line, pie, scatter, area, donut, heatmap) with data and styling |
| Create sortable, filterable, paginated tables from headers and row data |
| Multi-step form wizards with per-step validation and progress tracking |
| Enhanced markdown with embedded interactive elements (buttons, toggles, inputs, tabs) |
Installation
pip install mcp-interactive-ui-serverQuick 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
Available Tools
6 toolscreate_chartA
Generiert eine Chart-Definition (Bar, Line, Pie, Scatter, etc.).
Erstellt ein Chart-Schema mit Daten und Konfiguration, das MCP-Clients als interaktives Diagramm rendern können.
Unterstützte Chart-Typen: bar, line, pie, scatter, area, donut, heatmap.
Daten-Format:
Für bar/line/area: {"labels": ["Jan","Feb"], "datasets": [{"label": "Sales", "values": [10,20]}]}
Für pie/donut: {"labels": ["A","B","C"], "values": [30, 50, 20]}
Für scatter: {"datasets": [{"label": "Set 1", "points": [{"x": 1, "y": 2}]}]}
Für heatmap: {"x_labels": [...], "y_labels": [...], "values": [[...]]}
Args: chart_type: Art des Charts (bar, line, pie, scatter, area, donut, heatmap) data: Chart-Daten als Dictionary title: Chart-Titel x_label: Beschriftung X-Achse y_label: Beschriftung Y-Achse colors: Optionale Farbliste (hex oder CSS-Farbnamen) stacked: Gestapelte Darstellung (nur bar/area)
Returns: JSON-String mit dem Chart-Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chart_type | Yes | ||
| data | Yes | ||
| title | No | Chart | |
| x_label | No | ||
| y_label | No | ||
| colors | No | ||
| stacked | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains that the tool creates a chart schema and returns a JSON string, with no side effects or destructive actions mentioned. Without annotations, it adequately discloses the return format and data examples.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for supported types, data formats, args, and returns. Slightly lengthy but each part is informative, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists (mentioned), the description provides sufficient context: chart types, data formats, and parameter details. No gaps remain for a typical usage scenario.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by listing all parameters, their meanings, and detailed data format examples for each chart type. This adds essential meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a chart definition with specific types (bar, line, pie, etc.) and provides data format examples. It distinguishes from sibling tools like create_dashboard or create_form, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for creating chart definitions but does not explicitly provide when-to-use or when-not-to-use guidance. No alternative tools are mentioned for comparison, though sibling names suggest distinct purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_dashboardA
Generiert ein Dashboard-Layout mit verschiedenen Widget-Typen.
Erstellt eine strukturierte Dashboard-Definition mit konfigurierbarem Grid-Layout, die MCP-Clients als interaktives Dashboard rendern können.
Unterstützte Widget-Typen: chart, stat_card, table, progress_bar, metric, list, markdown.
Jedes Widget braucht mindestens: {"type": "stat_card", "title": "Users", "value": "1234"}
Args: title: Dashboard-Titel widgets: Liste von Widget-Definitionen (dicts mit type, title, etc.) description: Optionale Dashboard-Beschreibung columns: Anzahl Grid-Spalten (1-6) refresh_interval: Auto-Refresh in Sekunden (0 = kein Refresh)
Returns: JSON-String mit dem Dashboard-Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| widgets | Yes | ||
| description | No | ||
| columns | No | ||
| refresh_interval | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the output (JSON string with dashboard schema) and widget requirements, but does not explicitly confirm whether the tool has side effects (e.g., persistence) or is purely generative. The verb 'erstellt' is ambiguous, though the return format suggests no side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (supported types, example, args) and is informative without being overly verbose. Minor redundancy could be trimmed, but it remains concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Overall, the description covers the tool's purpose, parameters, return type, and usage context adequately for an AI agent. It could be improved by clarifying the precise output schema format or persistence behavior, but it is sufficient given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant value beyond the input schema, including constraints (columns 1-6), meaning of refresh_interval (seconds with 0 = no refresh), and detailed explanation of widgets with supported types and example structure. This compensates for the schema's minimal metadata.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a dashboard layout with configurable grid layout and widget types. It lists supported widget types and provides an example, which distinguishes it from sibling tools like create_chart or create_table that serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating interactive dashboards but does not explicitly compare to siblings or provide when-to-use/alternatives guidance. The context is implied by the tool's name and description, but no exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_formA
Generiert eine JSON-Formular-Definition mit verschiedenen Feld-Typen.
Erstellt ein strukturiertes Formular-Schema, das MCP-Clients als interaktives UI rendern können.
Unterstützte Feld-Typen: text, number, select, checkbox, date, email, password, textarea, radio, range.
Jedes Feld braucht mindestens: {"label": "Name", "type": "text"} Optional: id, required, placeholder, default, validation, options (für select/radio), min/max/step (für number/range), rows (für textarea).
Args: title: Formular-Titel fields: Liste von Feld-Definitionen (dicts mit type, label, etc.) description: Optionale Beschreibung über dem Formular submit_label: Text des Submit-Buttons layout: "vertical" oder "horizontal" Feld-Anordnung
Returns: JSON-String mit dem Formular-Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| fields | Yes | ||
| description | No | ||
| submit_label | No | Submit | |
| layout | No | vertical |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses that it creates a JSON schema and lists supported field types, but lacks details on side effects, idempotency, validation, or error handling. Adequate but not extensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a summary, supported types, field requirements, and an Args section. It is front-loaded and logically organized, though a bit verbose in places.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 params, 2 required, output schema present), the description covers purpose, parameter details, and output type. It does not need to explain return values due to output schema. Minor omission of validation behavior but overall complete enough for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by detailing the fields parameter's item structure, required minima, and optional parameters like layout with allowed values. Adds significant meaning beyond the schema's type-only definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a JSON form definition with various field types, and lists supported field types. It distinguishes itself from sibling tools like create_chart, create_dashboard, etc., by focusing specifically on form creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating interactive form UIs but does not explicitly state when to use this tool versus alternatives like create_wizard. No exclusions or when-not-to-use guidance provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_tableA
Generiert eine interaktive Tabellen-Definition mit Sortierung und Filterung.
Erstellt ein Tabellen-Schema mit Spalten-Definitionen und Daten, das MCP-Clients als interaktive Tabelle rendern können.
Args: headers: Liste von Spalten-Überschriften rows: Liste von Zeilen (jede Zeile ist eine Liste von Werten) sortable: Spalten sortierbar machen filterable: Suchfilter anzeigen page_size: Zeilen pro Seite (Pagination) title: Optionaler Tabellen-Titel
Returns: JSON-String mit dem Tabellen-Schema
| Name | Required | Description | Default |
|---|---|---|---|
| headers | Yes | ||
| rows | Yes | ||
| sortable | No | ||
| filterable | No | ||
| page_size | No | ||
| title | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It mentions the return format (JSON string) and features (sorting, filtering, pagination) but lacks disclosure of limitations, validation, or side effects. It is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using a one-line summary followed by a structured args list. Every sentence adds value, with no redundancy, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, parameters, and return type, but misses constraints like header-row length matching and error handling. Given the simplicity of a table creation tool, it is mostly complete but could include more edge-case details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes a full args section explaining each parameter's meaning and structure, compensating for the 0% schema description coverage. It adds value beyond the schema's names and types, providing clear semantics for all 6 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates an interactive table definition with sorting and filtering, using a specific verb and resource. It distinguishes itself from sibling tools like create_chart and create_form, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. While the purpose is clear, it provides no guidance on exclusions or alternative contexts, leaving the agent to infer from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_wizardA
Generiert einen Multi-Step-Formular-Wizard mit Validierung.
Erstellt eine Wizard-Definition mit mehreren Schritten, die MCP-Clients als geführten Prozess rendern können. Jeder Schritt hat eigene Felder und Validierungsregeln.
Jeder Step braucht: {"title": "Schritt 1", "fields": [...]} Optional: description, validation (dict mit Regeln).
Validierungsregeln pro Step:
{"required_fields": ["name", "email"]}
{"custom": {"field_id": {"min_length": 3}}}
Args: steps: Liste von Step-Definitionen (dicts mit title, fields, etc.) title: Wizard-Gesamttitel allow_skip: Schritte überspringbar machen show_progress: Fortschrittsanzeige einblenden
Returns: JSON-String mit dem Wizard-Schema
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | ||
| title | No | Wizard | |
| allow_skip | No | ||
| show_progress | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the tool's behavior (creating a wizard definition with steps and validation) and mentions the return type (JSON string). However, it does not disclose side effects, authentication needs, or whether the wizard is a schema or interactive, which is partially covered by the return statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise, with a clear structure: overview, step definition format, validation rules, parameter list, and return type. Some redundancy exists (first two sentences both mention multi-step and validation), but overall it is well-organized and not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, nested step objects, output schema), the description covers all essentials: parameter details, step/validation examples, and return type. It explains how clients use the output, making it complete for an agent to understand and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the input schema properties lack descriptions. The description compensates by explaining each parameter (steps, title, allow_skip, show_progress) and providing details on step structure and validation rules, adding significant value beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a multi-step form wizard with validation, distinguishing it from siblings like create_form (single form) and create_chart. It specifies the verb and resource, and details about step definitions and validation rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for multi-step wizards but does not explicitly say when to use this tool versus alternatives like create_form. No 'when not to use' or comparative guidance, though the context of siblings indirectly suggests distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_markdownA
Erweitertes Markdown mit eingebetteten interaktiven Elementen.
Kombiniert Standard-Markdown mit interaktiven UI-Komponenten wie Buttons, Toggles, Inputs und Accordions, die MCP-Clients inline rendern können.
Interaktive Elemente werden via Platzhalter {{element_id}} im Markdown eingebettet.
Unterstützte Element-Typen:
button: {"type": "button", "id": "btn1", "label": "Click", "action": "submit"}
toggle: {"type": "toggle", "id": "tog1", "label": "Dark Mode", "default": false}
input: {"type": "input", "id": "inp1", "placeholder": "Enter value..."}
accordion: {"type": "accordion", "id": "acc1", "title": "Details", "content": "..."}
alert: {"type": "alert", "id": "alt1", "severity": "info", "message": "Hinweis..."}
badge: {"type": "badge", "id": "bdg1", "text": "New", "color": "green"}
tabs: {"type": "tabs", "id": "tab1", "items": [{"label": "Tab 1", "content": "..."}]}
Args: content: Markdown-Inhalt (mit optionalen {{element_id}} Platzhaltern) interactive_elements: Liste interaktiver Element-Definitionen theme: "auto", "light" oder "dark"
Returns: JSON-String mit dem Enhanced-Markdown-Schema
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | ||
| interactive_elements | No | ||
| theme | No | auto |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains the embedding mechanism via placeholders, lists supported element types with JSON structures, and states the return type (JSON string with enhanced Markdown schema). It lacks details on error handling or limits but is fairly transparent for a rendering tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a concise header, explanatory paragraphs, a list of supported types with JSON examples, and an 'Args:' section. Every sentence adds value and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 parameters, one required, output schema exists), the description covers the main aspects: purpose, parameters, supported elements, and output format. It omits constraints like maximum input length or error behavior, but is nearly complete for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description fully compensates. It provides an 'Args:' section describing each parameter (content, interactive_elements, theme) with types, defaults, and concrete JSON examples for each element type. This adds significant meaning beyond the schema's 'title' and 'type' fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Erweitertes Markdown mit eingebetteten interaktiven Elementen', specifying the tool renders Markdown with interactive components. It distinguishes from sibling tools like create_chart, create_dashboard, etc., which are about creating different artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for rendering interactive Markdown but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. No comparative guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool generates a distinct UI component type (chart, dashboard, form, table, wizard, markdown), with no overlapping purposes or ambiguous boundaries.
Five tools follow the 'create_' prefix pattern, but 'render_markdown' breaks this by using 'render_', causing a minor inconsistency.
Six tools cover the essential interactive UI components well, without being overly numerous or insufficient for the server's stated purpose.
The set covers major UI components (charts, forms, tables, dashboards, wizards, enhanced markdown), but lacks more specialized components like modals or cards, though these are not essential.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.
Turns any agent into a full agentic application — branded, interactive screens generated at runtime.
Live data grids for AI agents. Push structured data; humans review, agents read back via MCP.
Let AI agents query data and act across all your business apps via MCP.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to generate and serve ephemeral, interactive user interfaces over MCP through natural language descriptions.38Apache 2.0
- AlicenseAqualityAmaintenanceHand a human a rich interactive UI by URL from any MCP client and get structured data back — forms, approvals, surveys, pickers, editable lists. Round-trip human-in-the-loop for agents.2627MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to render native-looking floating dialogs and forms on the user's desktop, capturing user interactions like button clicks and form inputs.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/AiAgentKarl/mcp-interactive-ui-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server