GenicUI
The protocol that lets AI agents use your UI.
Install / Use
claude mcp add vaah-ai -- npx -y github:vaah-ai/GenicUIIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of GenicUI
GenicUI scores 70/100 on our quality scale, 3832nd of 4,662 Development & Engineering skills we index.
Its MCP Server is 5.7 KB long, well organised into 11 sections with 2 code examples: a solid amount of guidance for an agent.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 44 days ago, so GenicUI is actively maintained.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 75/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-11-01. Automated pattern scan on 2026-11-01. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
GenicUI compared with similar skills
All 4 of these similar skills score higher than GenicUI; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| GenicUI (this skill)by vaah-ai | 70 | 3 | 44d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 107.3k | 7d ago | CLAUDE.md |
| taste-skillby Leonxlnx | 100 | 107.1k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.5k | 1d ago | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 68.5k | today | CLAUDE.md |
Frequently asked questions
- How do I install GenicUI?
- Run
claude mcp add vaah-ai -- npx -y github:vaah-ai/GenicUI. The install tabs above show the steps for each supported agent. - Which AI agents does GenicUI work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is GenicUI safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 75/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is GenicUI still maintained?
- The repository was last updated 44 days ago, so GenicUI is actively maintained.
Skill content
View source on GitHubGenicUI
The protocol that lets AI agents use your UI.
MCP-native · library-agnostic · agent-agnostic.
Build interactive components for AI agents — tables, forms, dashboards — that render live in your own app, with your own component library, against any MCP-capable agent.
What GenicUI is
Plain markdown and structured JSON work for many agent surfaces. They stop working the moment your agent needs a clickable table, a form the user can fill, or a chart that re-renders on a button press — anywhere the conversation and the UI have to be the same thing.
GenicUI is the protocol layer that turns those clicks back into something the agent can hear. You wrap your existing component library with one tiny adapter, declare the component's contract in one place, and any MCP-capable agent — Claude Code, GPT, Cursor, Goose, VS Code — discovers the components and uses them through four standard tools.
Same component renders in the chat, on a voice call, on a dashboard, or through an MCP tool. The agent doesn't know which UI library you used. You can swap libraries without retraining the agent.
How it works — the four tools
| Tool | What it does |
| --- | --- |
| find_ui_component | Semantic search over your registry — intent + data shape + layout → component + props schema + alternatives. |
| render_component | Mount a component with validated props; returns a componentId. Emits STATE_SNAPSHOT + component.mounted. Idempotency-key aware. |
| update_component | Two modes — JSON-Patch deltas (RFC 6902) → STATE_DELTA, or full-props replace → STATE_SNAPSHOT. |
| subscribe_to_events | Filter-scoped subscription to component events; unsubscribe stops the stream; unmount cleans up. |
JSON-RPC error namespace -32001..-32010 is reserved for the GenicUI surface. Fourteen AG-UI event types ride on the wire (nine base AG-UI events + five GenicUI extensions: COMPONENT_MOUNTED, COMPONENT_UPDATED, COMPONENT_UNMOUNTED, COMPONENT_EVENT, SURFACE_READY).
See it running — frame a component in ~60s
A screenshot-by-screenshot walkthrough lives at https://genicui.vaah.ai/getting-started/quick-start. The block below is the same flow as code.
# 1. From a fresh checkout
bun install
bun --filter @genicui/server start # → http://localhost:3040
# 2. Drop into your MCP client (Claude Code, mcp-inspector, anything that speaks MCP)
# Authorization: Bearer gnc_live_<32-char-key> (printed by the server on boot)
// 3. From any MCP client
import { MCPClient } from "@genicui/agent-bridge";
const client = new MCPClient({ url: "http://localhost:3040/mcp", apiKey: "gnc_live_..." });
const { componentId } = await client.call("render_component", {
name: "data-table",
props: {
columns: [{ key: "name", label: "Name" }, { key: "status", label: "Status" }],
rows: [{ name: "Alice", status: "active" }, { name: "Bob", status: "inactive" }]
}
});
// → <genic-data-table> mounts in whatever chat surface you're using
// → component.mounted + STATE_SNAPSHOT stream back as AG-UI frames
Why GenicUI — and what's different
The empty quadrant — every other AI/UI tool picks two of three and gives up the third. GenicUI takes all three:
| | GenicUI | Tambo / CopilotKit / assistant-ui | OpenAI Apps SDK | MCP Apps |
| --- | :-: | :-: | :-: | :-: |
| Library-agnostic | ✅ | ❌ React-only | — | ❌ iframe-locked |
| MCP-native | ✅ | — | — | ✅ |
| Agent-agnostic | ✅ | ✅ | ❌ OpenAI-only | ✅ |
| No iframe between agent and your DOM | ✅ | ✅ | — | ❌ postMessage |
| Works on Claude Desktop / Goose / VS Code today | ✅ | partial | ❌ | ✅ |
| Same protocol feeds chat + voice + dashboard | ✅ | ❌ one journey | ❌ | ❌ |
| Schema-as-source-of-truth (TypeBox → MCP → agent prompt) | ✅ | partial | ❌ | ❌ |
Full side-by-side with json-render / LiveKit Agents UI / Vercel AI SDK at genicui.vaah.ai/guides/migration.
Five flows this unblocks
- Ecommerce — agent renders a
<CartViewer>with<TicketCard>rows; user clicks "Apply SUMMER25"; the click becomes acomponentEventthe agent can hear. - Customer support — agent renders a
<KpiDashboard>with weekly revenue; user clicks a row drilldown; agent updates with<ClaimForm>pre-filled. - Internal ops — voice call dispatches a
<CityPicker>; agent pre-fills based on intent; user confirms;<WeatherCard>updates viaupdate_componentJSON-Patch. - Migration — drop a GenicUI registry into an existing MCP Apps / OpenAI Apps SDK / CopilotKit surface; the contract stays the same, only the renderer changes.
- Multi-channel — same MCP server, same registry, three render targets (chat / voice / dashboard) — same component renders in all three with no per-channel code.
For AI agents
Full content available as plain markdown at:
- https://genicui.vaah.ai/llms.txt — index + per-section links (7.6 KB)
- https://genicui.vaah.ai/llms-full.txt — full corpus (283 KB)
- https://genicui.vaah.ai/raw/<page>.md — per-page raw markdown
If you're an AI coding assistant reading this repo, the agent-bridge section of the docs is the highest-signal starting point: genicui.vaah.ai/api/agent-bridge.
License
Apache-2.0 — see LICENSE. Patent grants, attribution requirements, and trademark reservations are documented in NOTICE.
Related Skills
Agent-Reach
107.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
taste-skill
107.1kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
headroom
78.5kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
68.5kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
