Gui Mcp
FreeNot checkedModel Context Protocol server for GolemUI — gives AI coding assistants deterministic schema validation and form generation for GolemUI form definitions.
About
Model Context Protocol server for GolemUI — gives AI coding assistants deterministic schema validation and form generation for GolemUI form definitions.
README
Declarative, JSON-based forms for React, Angular, Lit, Vue, and vanilla JS.
Get started · Documentation · How it works · Integrations
Overview
Underneath every form is a serializable JSON definition. Author it directly as schema-validated JSON, or with the typed gui builder API.
- One definition renders in React, Angular, Lit, Vue, or vanilla JS.
- Validation, conditional fields, i18n, and accessibility come from the schema and runtime.
- The output is plain data: store it, transfer it, diff it, generate it.
Installation
Install the four @golemui/* packages for your framework. The versions are published together; use matching versions.
# React
npm i @golemui/core @golemui/react @golemui/gui-react @golemui/gui-shared
# Angular
npm i @golemui/core @golemui/angular @golemui/gui-angular @golemui/gui-shared
# Lit
npm i @golemui/core @golemui/lit @golemui/gui-lit @golemui/gui-shared
# Vue
npm i @golemui/core @golemui/vue @golemui/gui-vue @golemui/gui-shared
# Vanilla JS (web component)
npm i @golemui/core @golemui/lit @golemui/gui-lit @golemui/gui-shared
Import the component styles once, anywhere in your app entry:
@import '@golemui/gui-components/index.css';
Full walkthrough at golemui.com/getting-started/installation.
Quick start
Define a form as an array of gui builders and pass it to the framework component (React shown):
import '@golemui/gui-components/index.css';
import type { FormSubmitEvent } from '@golemui/core';
import { GuiForm } from '@golemui/gui-react';
import { gui } from '@golemui/gui-shared';
const formDef = [
gui.inputs.textInput('email', {
label: 'Email',
validator: { type: 'string', required: true, format: 'email' },
}),
gui.inputs.password('password', {
label: 'Password',
validator: { type: 'string', required: true, minLength: 8 },
}),
gui.inputs.checkbox('newsletter', {
label: 'Subscribe to the newsletter',
include: { when: '!!$form.email' },
}),
gui.actions.button({
label: 'Sign up',
actionType: 'submit',
disabled: { when: '$formIsInvalid' },
}),
];
function handleSubmit(event: FormSubmitEvent) {
console.log(event.data);
}
export function App() {
return <GuiForm config={{ formDef }} formSubmit={handleSubmit} />;
}
The submit button stays disabled while the form is invalid ($formIsInvalid is a built-in validity flag); on submit, formSubmit receives the collected data.
The same formDef value renders in every supported framework. See Integrations for per-framework setup, and the starter templates under templates/ for runnable examples.
Core concepts
Form definition. A form is an array of nodes (or a single node). Each node is either a gui builder result or a render function. The output is serializable JSON, so a definition can be stored, transferred, and rendered later.
The gui builder. Exported from @golemui/gui-shared, grouped into namespaces:
| Namespace | Purpose | Examples |
|---|---|---|
gui.inputs |
Field widgets | textInput, numberInput, password, textarea, checkbox, dropdown, select, radiogroup, currency, tags, datePicker, calendar, repeater, list, custom |
gui.actions |
Buttons and custom actions | button, custom |
gui.displays |
Non-input content | display, alert, markdownText, custom |
gui.layouts |
Containers | flex, grid, tabs, accordion, custom |
gui.selectors |
Select and update widgets by type, uid, tag, or state | - |
Conditional fields. Widgets accept include / exclude with a reactive expression over form data:
gui.inputs.radiogroup('city', { label: 'City', include: { when: '!!$form.country' } });
gui.actions.button({ label: 'Reset', include: { when: '$form.debug === true' } });
$form.<path> reads the current form data; the expression is evaluated at runtime.
Rendering per framework. Every adapter takes the definition through a config prop and emits a formSubmit event:
| Framework | Import | Element |
|---|---|---|
| React | import { GuiForm } from '@golemui/gui-react' |
<GuiForm config={config} formSubmit={handler} /> |
| Vue | import { GuiForm } from '@golemui/gui-vue' |
<GuiForm :config="config" @formSubmit="handler" /> |
| Angular | import { FormComponent } from '@golemui/gui-angular' |
<gui-form [config]="config" (formSubmit)="handler($event)"> |
| Lit | import '@golemui/gui-lit' |
<gui-form .config=${config} @formSubmit=${handler}> |
For vanilla JS, import @golemui/gui-lit to register the <gui-form> custom element, then set el.config = config and listen for the formSubmit event (e.detail is the FormSubmitEvent).
Features
- Validation. @standard-schema/spec compliant. Built-in
string,number,boolean,array, andcustomvalidators with rules such asrequired,minLength,format,minimum/maximum, andconst. Error messages are localizable, and timing is configurable viavalidateOn(change,blur,submit,eager). Docs - Internationalization. Provide an
I18nTranslatoradapter (i18next, Lingui, or your own) throughlocalization. Labels, hints, and validator messages are translatable, with live language switching and automatic RTL. Docs - Accessibility. Native form elements with ARIA wiring managed for you:
aria-describedbyfor hints,aria-invalidandaria-errormessageon errors, plus keyboard navigation on interactive widgets. - Theming. Styling is driven by CSS custom properties (design tokens) from a single stylesheet. Override tokens, or supply your own widget components through
customWidgetLoaders. Docs - AI assistants (MCP).
@golemui/gui-mcpships agolemui-mcpModel Context Protocol server with tools to validate form definitions, generate them from JSON Schema or OpenAPI, and type-checkgui.*code.
Packages
| Package | Description |
|---|---|
@golemui/gui-react / -angular / -lit / -vue |
Framework form component and bindings |
@golemui/gui-shared |
The gui builder and form definition types (GuiFormInitConfig) |
@golemui/gui-components |
Default widget components and the stylesheet (index.css) |
@golemui/core |
Framework-agnostic form runtime and shared types (FormEvent, ValidateOn) |
@golemui/gui-validators |
Validation schemas (@standard-schema/spec) |
@golemui/gui-schemas |
JSON Schemas for form definitions |
@golemui/gui-mcp |
MCP server for coding assistants |
Import only from a package's public entry points. The @golemui/*/internals paths are internal and unstable.
Documentation
golemui.com for full docs, API reference, per-framework guides, examples, and migration paths.
Contributing
See CONTRIBUTING.md. The repository is an Nx monorepo; tests run on Vitest, and pull requests follow Conventional Commits.
License
Install Gui Mcp in Claude Desktop, Claude Code & Cursor
unyly install gui-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add gui-mcp -- npx -y @golemui/gui-mcpFAQ
Is Gui Mcp MCP free?
Yes, Gui Mcp MCP is free — one-click install via Unyly at no cost.
Does Gui Mcp need an API key?
No, Gui Mcp runs without API keys or environment variables.
Is Gui Mcp hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Gui Mcp in Claude Desktop, Claude Code or Cursor?
Open Gui Mcp on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Gui Mcp with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
