Skip to main content
Glama
nuwax-ai

nuwax-openui-mcp

Official
by nuwax-ai

Nuwax OpenUI MCP

pnpm workspace containing the Nuwax OpenUI MCP server and its frozen renderer runtime.

Packages

Package

Path

Description

@nuwax-ai/openui-mcp

packages/server

Lean stdio MCP server: OpenUI authoring guidance, validation, and durable artifact generation. Does not load the renderer at runtime.

@nuwax-ai/openui-runtime

packages/runtime

Frozen, self-contained OpenUI renderer bundle (runtime.js + runtime.css) for sidecar / file preview.

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:openuipackages/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-runtime

Available Tools

2 tools
nuwax_get_openui_referenceGet Nuwax OpenUI authoring referenceA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoUse guide for authoring instructions, component signatures, and examples. Use schema for the complete renderer-generated JSON Schema.guide
profileNoComponent 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

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesVisible UI title.
bindingsNo
documentYes
fallbackNo
artifactIdNoOptional stable artifact UUID. Reusing an existing ID atomically replaces data/{artifactId}.openui.json.
presentationYes
schemaVersionYesAlways use nuwax.openui/v1.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYes
typeYes
titleYes
digestYes
operationYes
artifactIdYes
presentationYes
schemaVersionYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

A4.2/5.0
Disambiguation5/5

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.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with the 'nuwax_get_' and 'nuwax_render_' prefixes, making them predictable and easy to understand.

Tool Count3/5

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.

Completeness2/5

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

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    6
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides 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

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/nuwax-ai/nuwax-openui-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server