GolemUI MCP

Validates and generates GolemUI form definitions and type-checks gui.* builder code

Official · GolemUI TypeScript Local · stdio Developer tools

52 popularity score ★ 130 ↓ 557/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add golemui -- npx -y @golemui/gui-mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "golemui": {
      "command": "npx",
      "args": [
        "-y",
        "@golemui/gui-mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "golemui": {
      "command": "npx",
      "args": [
        "-y",
        "@golemui/gui-mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "golemui": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@golemui/gui-mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.golemui]
command = "npx"
args = ["-y", "@golemui/gui-mcp"]
Gemini CLITerminal
gemini mcp add --scope user golemui npx -- -y @golemui/gui-mcp

Settings 1

GOLEMUI_FRAMEWORK Optional: Target framework for the gui.* reference's imports and render snippet: react, angular, vue, lit or vanilla. Defaults to react.

What it does

GolemUI is a form library where a form is a JSON object (a list of widgets plus optional named states) or the TypeScript code that builds one through its fluent gui.* API. The @golemui/gui-mcp package runs a local stdio server, golemui-mcp, so a coding assistant can check its GolemUI output before handing it to the user. One wrong property name breaks a GolemUI form at runtime.

It serves two routes. On the JSON route it checks a definition against the JSON Schemas bundled in the package, returns errors with JSON Pointer paths and suggested fixes, and checks reactive `when` expressions for common mistakes. It can also build a form from a JSON Schema or from one OpenAPI 3.x operation, and it returns single-widget specs and guides to concepts such as states and the reactive scope. On the gui.* route it returns the full factory reference in one call and type-checks a code snippet against the real @golemui type declarations. On connect the server sends instructions that tell the assistant which route to take and to finish with the matching check.

The imports and render snippet in the gui.* reference follow the GOLEMUI_FRAMEWORK setting. In v2.0.0 the code accepts react, angular, vue, lit or vanilla and quietly uses react for any other value or when the setting is unset (src/dx/dx-specs.ts). The README does not list these values. The same binary also has validate-json and check-dx subcommands for CI or git hooks. Started with any argument at all, it runs as that CLI and exits rather than starting the server (src/cli.ts), so client configs must pass no extra arguments.

What it needs

RuntimeNode.js

Node.js with npx. The package is fetched from npm on first launch unless it is installed as a devDependency. It needs no account, API key or GolemUI service. It is only useful in a project that builds forms with GolemUI.

Limits

It only handles GolemUI forms: it does not render forms, run your app or change your files. It returns definitions and diagnostics as tool results. When generating from a JSON Schema, only local $ref is resolved, and anything the form cannot express is reported in diagnostics rather than mapped. OpenAPI generation reads one operation's JSON request body and falls back to its parameters when there is no object body. A GOLEMUI_FRAMEWORK value outside react, angular, vue, lit and vanilla falls back to react without an error.

Who it suits

It suits developers who have an assistant write GolemUI forms, in JSON or gui.* code, and want them checked against the library's real schemas and types before the code lands. It runs locally, has no sign-in, and reads only the input it is given, plus an OpenAPI URL if you pass one. It is of no use outside GolemUI projects. Teams on another form library need that library's own tooling.

Tools 8

json_validate_form_definition
Checks a JSON form definition against the bundled schemas and returns errors with paths and suggested fixes
json_generate_from_schema
Builds a validated form definition from a JSON Schema of the form data, with diagnostics for parts it cannot map
json_generate_from_openapi
Builds a form definition from one OpenAPI 3.x operation, given as a document or a URL
json_get_widget_spec
Returns the schema, an example and notes for a single widget type
get_concept
Returns a guide to one cross-cutting concept: states, string interpolation, reactive scope or icons
dx_list_factories
Returns the full gui.* factory reference, with setup tailored to the configured framework
dx_get_spec
Returns the calling convention, example and notes for one gui.* factory
dx_check_code
Type-checks a gui.* snippet against the real @golemui types and flags misplaced include/exclude and bad when expressions

Similar servers