Web Gui
БесплатноНе проверенA Python MCP server that allows your agent to outsource HTML generation and rendering, storing artifacts in memory and supporting both full HTML and resource UR
Описание
A Python MCP server that allows your agent to outsource HTML generation and rendering, storing artifacts in memory and supporting both full HTML and resource URIs.
README
web-gui-mcp is a Python MCP server that compiles compact GUI2
ArtifactSpec JSON into design-system-aware HTML artifacts.
The v0.3 pipeline is:
ArtifactSpec
-> studio model compiler
-> CompilerOutput { strategy, view_tree }
-> validated ViewTree + derived legacy RenderPlan metadata
-> DesignSystemPack resolver
-> deterministic HTML compiler
-> static HTML or ui:// resource
The remote model sends compact semantic specs by default. The studio compiler chooses composition, while the server owns validation, design-system tokens, escaping, CSP, and deterministic runtime code.
Setup
uv sync
uv run pytest
uv run ruff check .
uv run python scripts/render_example.py examples/v0_3/implementation_plan.json /tmp/web-gui-plan.html
uv run python scripts/render_artifact_library_pages.py
Without uv:
python -m venv .venv
. .venv/bin/activate
pip install -e ".[dev]"
pytest
ruff check .
python scripts/render_example.py examples/v0_3/implementation_plan.json /tmp/web-gui-plan.html
python scripts/render_artifact_library_pages.py
Run The MCP Server
uv run web-gui-mcp
The server exposes:
render_artifactget_artifactpatch_artifactlist_artifactsexport_artifactget_artifact_schemacompile_view_treelint_view_treelist_design_systemsget_design_system_summaryget_local_model_statusrecommend_studio_modeldownload_studio_modelcancel_model_downloadlist_themespreview_themeretheme_artifactrerender_artifact
It serves:
ui://gui2/runtime/v0.3.cssui://gui2/runtime/v0.3.jsui://gui2/artifacts/{artifact_id}
Render An Artifact
render_artifact accepts compact semantic v0.3 specs:
{
"spec": {
"v": "0.3",
"artifact": "implementation_plan",
"title": "Queue Backpressure Plan",
"audience": "engineer",
"density": "compact",
"sections": [
{
"kind": "summary",
"items": [
{ "label": "Risk", "value": "Medium", "tone": "warning" }
]
},
{
"kind": "checklist",
"title": "Acceptance",
"items": [
{ "text": "Default response returns a ui:// resource" }
]
}
]
},
"quality": "studio",
"delivery": "mcp_app_resource"
}
Default delivery returns compact metadata plus a ui://gui2/artifacts/{artifact_id}
resource URI. Use delivery = "static_html" or return_html_to_model = true only
when the caller explicitly needs full HTML in the tool response.
Studio Compiler
v0.3 is studio-only. The configured model provider receives the compact
ArtifactSpec plus a design-system summary and produces CompilerOutput:
compact strategy metadata plus the authoritative view_tree. The server
validates and lints the ViewTree, derives deprecated RenderPlan metadata only
for compatibility, then renders deterministic HTML. There is no deterministic
fallback in normal rendering: if the model provider is unavailable or validation
fails after one repair retry, the render fails closed.
Model providers:
stub: test provider that returns known valid CompilerOutput.openai: default provider; usesgpt-5.5with medium reasoning via the OpenAI API.ollama: optional local provider; posts to/api/generateand validates CompilerOutput JSON.auto: resolves to OpenAI unlessWEB_GUI_RENDERER_PROVIDERoverrides it.
OpenAI configuration:
export OPENAI_API_KEY=...
The server also reads .env.local in the repo root. Do not commit that file.
Optional local fallback model:
ollama pull qwen2.5-coder:14b
recommend_studio_model also lists larger quality targets for stronger hardware:
qwen3.6:27b and qwen3-coder-next:q4_K_M.
Design Systems
The bundled gui2.default pack includes:
- light/dark modes
- compact/normal/comfortable/presentation density layers
neutral_pro,dense_engineering,executive_brief, andeditorial_researchthemeseditorial_galleryfor reference-library pages with numbered sections and demo cards- component contracts for the built-in ViewTree nodes
- recipes for plans, reviews, design-variant grids, research, dashboards, and editors
Figma import and Code Connect ingestion are intentionally out of scope for this pass. The design-system schemas keep provenance fields so those importers can be added later.
Connect To Codex
[mcp_servers.web_gui_mcp]
command = "uv"
args = ["run", "web-gui-mcp"]
cwd = "/Users/hzuo/src/gui-mcp"
startup_timeout_sec = 20
tool_timeout_sec = 60
enabled = true
Without uv:
[mcp_servers.web_gui_mcp]
command = "python"
args = ["-m", "web_gui_mcp.server"]
cwd = "/Users/hzuo/src/gui-mcp"
startup_timeout_sec = 20
tool_timeout_sec = 60
enabled = true
Safety
- All model-provided text is escaped before rendering.
- ViewTree nodes are allowlisted and validated with Pydantic.
- Props named like raw HTML, CSS, scripts,
srcdoc, or event handlers are rejected. - Bind paths must resolve against the validated
ArtifactSpec. - Semantic data nodes such as
timeline,checklist, andsummary_stripmust bind to compatible non-empty artifact data. - JSON state embedded in
<script type="application/json">escapes<,>,&, U+2028, and U+2029. - The renderer never executes model-generated JavaScript.
- The only runtime script is deterministic server-owned code for copy/export and tabs.
Установка Web Gui
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/thehzuo/gui-mcpFAQ
Web Gui MCP бесплатный?
Да, Web Gui MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Web Gui?
Нет, Web Gui работает без API-ключей и переменных окружения.
Web Gui — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Web Gui в Claude Desktop, Claude Code или Cursor?
Открой Web Gui на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: 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
автор: xuzexin-hzCompare Web Gui with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
