nuwax-openui-mcp
OfficialClick 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., "@nuwax-openui-mcpcreate a dashboard with sales trends and a summary card"
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.
Nuwax OpenUI MCP
pnpm workspace containing the Nuwax OpenUI MCP server and its frozen renderer runtime.
Packages
Package | Path | Description |
| Lean stdio MCP server: OpenUI authoring guidance, validation, and durable artifact generation. Does not load the renderer at runtime. | |
| Frozen, self-contained OpenUI renderer bundle ( |
See packages/server/README.md for the MCP server
contract, installation, and artifact format.
Related MCP server: ui-mcp
Development
pnpm install
pnpm verify # format + lint + typecheck + test + build (both packages)The server keeps its runtime lean: the component JSON Schema and authoring
reference are precomputed at build time (pnpm gen:openui →
packages/server/src/generated/) and read as static files, so the stdio process
never imports @openuidev/react-ui or react-dom.
Publishing
pnpm publish --filter @nuwax-ai/openui-mcp
pnpm publish --filter @nuwax-ai/openui-runtimeAvailable Tools
2 toolsnuwax_get_openui_referenceGet Nuwax OpenUI authoring referenceARead-onlyIdempotent
Get the authoritative OpenUI Lang contract before creating a complex Nuwax UI. Use format=guide for syntax, component signatures, and examples; use format=schema for the complete renderer-generated JSON Schema. Use this instead of guessing syntax or searching local package files. Choose dashboard for tables/charts, form for inputs, basic for cards/content, and all only as a fallback.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Use guide for authoring instructions, component signatures, and examples. Use schema for the complete renderer-generated JSON Schema. | guide |
| profile | No | Component reference to return: basic for cards/content, dashboard for tables/charts, form for inputs/actions, all only when the other profiles are insufficient. | basic |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds detail about return content (guide with syntax/examples, schema with JSON Schema) and context about being authoritative. However, it does not explain response structure or potential size, but given annotations, the added value is moderate.
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?
Four sentences are concise and front-loaded with the main purpose. Each sentence adds new, useful information without redundancy. The structure guides the agent from purpose to parameter usage to when to choose this tool.
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 no output schema and two parameters, the description covers tool purpose, parameter choices, and usage context. It could be more explicit about return structure for the guide format, but it suffices for a read-only reference tool. The sibling tool (render) is not mentioned, but the description implicitly distinguishes via purpose.
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 100% with both parameters having clear enum descriptions. The description largely repeats this information ('Use format=guide for...', 'Choose dashboard for...'). While it adds overall context, it does not significantly enhance parameter meaning beyond 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 retrieves the authoritative OpenUI Lang contract for UI authoring, contrasting it with the sibling tool (render) and specifying purpose: 'before creating a complex Nuwax UI'. The verb 'Get' is specific and the resource is well-defined.
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?
Provides explicit guidance on when to use ('before creating a complex Nuwax UI', 'instead of guessing syntax or searching local package files') and how to choose parameters (format and profile values with intended use cases). Alternative actions are implied but clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nuwax_render_openuiRender Nuwax OpenUIA
Create or update a durable OpenUI artifact in the active project. Use this whenever the user asks to show, render, visualize, preview, or build a card, dashboard, chart, table, report, form, status panel, or other structured interface—even if they do not mention OpenUI. The tool writes data/{artifactId}.openui.json and returns a lightweight reference. Reuse artifactId to update an existing UI. OpenUI Lang is assignment-based and is NEVER XML/HTML/JSX: start with root = Stack(...), use positional arguments, and reference every defined variable. For complex UI or uncertain component signatures, call nuwax_get_openui_reference first. Reactive filters must handle empty initial bindings, and dynamic pie/radial charts must guard zero totals. Use inline for compact conversation UI and sidecar only for a full page.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Visible UI title. | |
| bindings | No | ||
| document | Yes | ||
| fallback | No | ||
| artifactId | No | Optional stable artifact UUID. Reusing an existing ID atomically replaces data/{artifactId}.openui.json. | |
| presentation | Yes | ||
| schemaVersion | Yes | Always use nuwax.openui/v1. |
Output Schema
| Name | Required | Description |
|---|---|---|
| path | Yes | |
| type | Yes | |
| title | Yes | |
| digest | Yes | |
| operation | Yes | |
| artifactId | Yes | |
| presentation | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate non-readOnly, non-destructive, etc. The description adds context about persistence (durable artifact, file write), update capability via artifactId reuse, and reference return. It also warns about reactive filter handling. Some specifics about return value are vague ('lightweight reference') but sufficient.
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 informative but somewhat verbose, with repeated emphasis on OpenUI Lang not being XML/HTML/JSX. It could be more concise while retaining essential guidance.
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 (7 parameters, nested objects, output schema exists), the description covers core functionality, usage scenarios, and key constraints. It omits details on bindings and fallback but still provides enough for an AI agent to select and invoke correctly. The presence of an output schema reduces the need to explain return values.
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 43%, but the tool description adds significant meaning for key parameters like document.source (with syntax rules) and presentation.mode (inline vs sidecar). It also explains artifactId reuse. However, bindings and fallback parameters lack elaboration beyond the 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 creates or updates a durable OpenUI artifact, lists many trigger phrases (show, render, visualize, etc.), and specifies the file output (data/{artifactId}.openui.json). It also distinguishes from the sibling tool nuwax_get_openui_reference.
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?
Explicitly provides when to use (user requests to show/render/visualize etc.) and when not (call nuwax_get_openui_reference first for complex UI or uncertain signatures). Also gives syntax rules for OpenUI Lang.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: one retrieves reference documentation for OpenUI syntax, the other creates or updates OpenUI artifacts. No overlap in functionality.
Both tools follow a consistent verb_noun pattern with the 'nuwax_get_' and 'nuwax_render_' prefixes, making them predictable and easy to understand.
With only 2 tools, the server feels minimally scoped. While it covers the core operations of getting guidance and rendering artifacts, it lacks additional utilities like listing or deleting, which may be needed.
The tool set covers documentation retrieval and artifact creation/update, but is missing essential operations like listing existing artifacts, deleting them, or validating schemas, leaving notable gaps in the lifecycle.
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
Query, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Create, edit, preview, publish, and manage web pages from MCP-capable AI clients.
Publish and manage existing HTML presentations from an MCP-capable Agent.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to render interactive user interfaces such as forms, dashboards, charts, tables, and wizards directly in MCP-compatible clients. Supports structured data collection and richer interactions beyond text responses.6MIT
- FlicenseNot gradedqualityCmaintenanceEnables agents to render shadcn-styled dashboards, forms, charts, and comparisons in a local browser via MCP tools.122
- FlicenseNot gradedqualityDmaintenanceProvides runnable samples demonstrating how MCP tools can return deterministic, interactive UIs using HTML, UI5 Web Components, UI Integration Cards, and host-orchestrated SAP transport data.10
- AlicenseAqualityBmaintenanceHand 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.201MIT
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/nuwax-ai/nuwax-openui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server