Claude GenUI
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
These tools render native, interactive visuals directly inside the chat. Whenever the user asks for a chart, graph, visualization, dashboard, card or any visual presentation, CALL THESE TOOLS instead of writing HTML/code in the reply or creating an artifact. Preference order: render_chart for any numeric data; render_card for structured info (weather, product, profile, itinerary, summary, checklist); render_html ONLY when neither fits (diagrams, simulations, custom interactive widgets). Several tools may be called in one reply.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| render_chartA | PREFERRED for any numeric data. Renders a native interactive chart inline in the chat (do not write chart HTML yourself). Use whenever numbers are better understood visually (trends, comparisons, shares). Supports bar, horizontal bar, line, area, pie, doughnut, radar and scatter. Keep to at most 8 series (3 for pie/scatter); never mix two different units on one chart. |
| render_cardA | Render a structured information card inline (e.g. weather, product, profile, summary, checklist, comparison). Optional action buttons send a follow-up prompt back to Claude when clicked. |
| render_htmlA | FALLBACK ONLY — use render_chart for data and render_card for structured info first. Renders a free-form interactive HTML/CSS/JS interface inline in a sandbox — diagrams, simulations, mini apps, custom visualizations (SVG, Canvas, D3, three.js). Provide a body fragment or full document. Scripts may be loaded only from cdn.jsdelivr.net, unpkg.com, cdnjs.cloudflare.com or esm.sh; no other network access. Inside scripts, call window.genui.send('text') to send a message back to Claude. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| genui-chart | |
| genui-card | |
| genui-html |
TDQS
Scored across 3 tools
Each tool targets a distinct output type: charts for numeric data, cards for structured info, HTML for free-form interfaces. The descriptions explicitly establish a priority order (render_html is 'FALLBACK ONLY'), which resolves the inherent overlap created by render_html being a superset capability. Minor residual ambiguity remains since an agent could technically render a chart or card via HTML, but the guidance is strong enough to steer selection.
All three tools follow the exact same verb_noun pattern: render_chart, render_card, render_html. The shared 'render_' prefix makes the family relationship obvious and the noun cleanly signals the output target.
Three tools is well-scoped for a UI-rendering server: one per major output modality, with HTML acting as the general-purpose catch-all. No tool feels redundant, and the set avoids both the thinness of a single trivial renderer and the bloat of per-widget tool proliferation.
The surface covers the main inline-rendering needs (data visualization, structured info, arbitrary interactive content), and render_html provides an escape hatch for anything else. Some obvious convenience types are absent—e.g. dedicated table, image/media, or form renderers—but these can be worked around through render_card or render_html, so gaps are minor rather than blocking.