Uxloom

io.github.uxloom-dev由 GitHub 账号 uxloom-dev 发布v0.14.0更新于 Oct 27, 2026

Agent-native UI/UX design validation: journey completeness, state coverage, and WCAG checks.

已验证STDIO仅桌面开发者工具媒体与设计

概览

AI 生成的概览

本地 MCP 服务器,把用户旅程建模为状态机,机械式检查设计缺失的状态、死路与 WCAG 问题。

可以做什么
  • 初始化设计项目,并通过引导式问答收集产品简报
  • 把用户旅程定义为状态机,并登记各屏幕及其必需状态
  • 校验设计并生成覆盖报告,列出不可达屏幕、死路、缺失的错误/空/加载/离线状态、对比度不达标、触控目标过小和文案溢出
  • 运行有轮次上限的设计评审循环,记录每项决策的理由、被否决的方案与置信度
  • 把预览中固定的评论读取为工作项,附带屏幕契约、旅程引用和当前发现,处理后再回写解决
适用场景
适合在助手生成或评审 UI 屏幕时使用,希望在写代码前以确定性、可重复的方式确认设计覆盖了所有状态;也适合把设计完整性作为 CI 门禁。
运行要求
以本地 stdio 进程运行,通常通过 npx 从 npm 包 uxloom 启动,因此需要 Node.js 以及下载该包的网络访问。可选环境变量 UXLOOM_PROJECT 指定项目文件路径,默认使用工作目录下的 uxloom.project.json。未声明任何认证。
安装前请注意
服务器会写入并更新工作区中的项目文件,README 建议将其纳入 git。预览评论可被转为助手执行的工作项,需留意其改动。设计格式仍处于 1.0 之前,可能发生变化。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Uxloom,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

UXLoom

Your generator gave you 6 screens. UXLoom proves you're missing 9 states.

AI generators (v0, Lovable, Figma Make, Claude) produce happy-path screens. UXLoom is the critic layer: it models user journeys as state machines, treats screens as nodes with state contracts, and mechanically proves what's missing before a line of production code exists — unreachable screens, dead ends, missing error/empty/loading states, WCAG contrast failures, undersized touch targets, and labels that will overflow under localization.

Agent-native by design: the interface is an MCP server (works with Claude Code, Codex, and any MCP client), with Agent Skills included.

Deterministic by design: same input, byte-identical report — benchmarked (packages/bench) at 1.000 precision/recall on a seeded defect catalog, SHA-256-stable across processes, 1000 screens in under 5ms. That's what lets design completeness gate CI, where an LLM opinion can't.

Website: uxloom.dev · npm: uxloom · MCP registry: io.github.uxloom-dev/uxloom · [uxloom MCP server]

[uxloom check finding 9 errors in a generated checkout flow, then passing the repaired one]

Packages

PackageWhat it is
@uxloom/journeygraphThe open design-as-data format: journeys as state machines, screens as nodes with required states
@uxloom/criticsThe validators: journey completeness, state coverage, WCAG contrast, touch targets, text expansion
uxloomThe MCP server + Agent Skills — the interface agents use

New here? Start with the Quickstart — prerequisites, the Claude Code walkthrough, what to say to your agent, and troubleshooting.

[Connecting UXLoom to Claude Code and running the first check]

Quick start (agents)

bash
# Claude Codeclaude mcp add uxloom -- npx -y uxloom
# Codex CLIcodex mcp add uxloom -- npx -y uxloom

The project file (uxloom.project.json) lives in your workspace and belongs in git — the design is data, versioned next to the code it specifies.

Quick start (humans & CI)

bash
npx uxloom init      # one-command setup: MCP config + agent skill + starter filenpx uxloom preview   # live mocks (themed, commentable, EDITABLE in the browser)npx uxloom export    # shareable HTML — plus --svg (Figma/Penpot import; add                     #   --manifest for the round-trip key) and --png (playwright)npx uxloom check     # design completeness — exit 1 on errors, CI-readynpx uxloom audit     # implementation drift — web AND native (Swift/Kotlin/                     #   Dart/Java markers); --live verifies the real DOM;                     #   --design <file|dir> audits a Figma/Penpot export vs the contractnpx uxloom diff      # human-readable design diffs for PR review

Evidence-based design: every decision in the contract can carry its rationale — reasoning, rejected alternatives with pros/cons, sources, confidence — enforced by the critics once adopted, iterated through a bounded design_review loop (max 3 rounds), and shown to stakeholders in the preview's evidence panel (ⓘ) and exports. The design doesn't just validate; it argues its case.

Agent-addressable comments: a reviewer drops a pinned comment in the preview and clicks "→ agent". The comment becomes a work item any Gen-AI model can read with full context — comment_context returns the pinned layout block, the screen contract, the journey references, and the current findings for that screen — act on, and resolve back into the preview with a note. One click from feedback to addressed.

[Reviewer pins a comment, clicks "→ agent"; the pin turns amber and a copyable prompt hands the comment to any AI agent, which reads the block and contract and resolves it]

CI-native: check and audit take --json, --sarif (GitHub code scanning), and --github (inline PR annotations). Brownfield-ready: --update-baseline freezes existing findings so only new drift blocks; uxloom.config.json tunes thresholds to your accessibility bar. Full documentation: uxloom.dev/docs.html.

[Live preview: state tabs and clickable journey events on wireframe mocks]

Add it to CI and a happy-path-only design can never merge:

yaml
- run: npx uxloom check design/uxloom.project.json

Workflow (also shipped as a skill in packages/mcp-server/skills/): project_init → brief_start/brief_answer → journey_define → screen_register → project_validate → fix → repeat until zero errors → coverage_report.

Does it actually catch things?

tools/dogfood.mjs drives the real MCP server through three products, twice each: screens as a happy-path generator hands them over, then repaired using the validation report. Artifacts in examples/.

ProductGenerated (happy-path)Repaired
shopmweb — e-commerce checkout (mWeb + Android)9 errors, 6 warnings0 / 0
taskflow — SaaS signup/onboarding (web)1 error, 6 warnings0 / 0
ridenow — ride booking (iOS + Android, offline-heavy)3 errors, 7 warnings0 / 0

Caught: an unreachable promo screen, dead-end verification states, five undesigned payment/error states, a 2.4:1 contrast button, a 40px touch target on Android, a checkout label that breaks in German, and three products' worth of missing offline states. Zero errors and zero warnings is reachable honestly — screens declare documented exemptions where a baseline state genuinely cannot apply, and contradictory exemptions are flagged.

Development

bash
npm installnpm run typechecknpm test

Status

Released and maintained: on npm and the official MCP registry, with the benchmark scorecard published in every GitHub release. The JourneyGraph format (formatVersion: "0.1") may evolve until 1.0; releases follow RELEASING.md — every surface is drift-checked in CI.

License

MIT

来源:README.md,提交 4c8c1e3

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.14.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分