Skip to main content

Open UX

Open UX

Cited UX rules agents can list, fetch, and audit against.

Stop inventing UX guidance from memory. Open UX is a shared, open-source catalog of UX rules with citations, plus tools so an agent can find the right criteria and apply them to work it already has.

Hosted: open-ux.dev · License: MIT

What it is

A curated, machine-readable store of UX guidelines and a small tool surface so an agent can:

  1. Browse situations — pick a compose job (Situation Card) that matches the work
  2. Fetch criteria — get cited rules for that job (rule, pass_when, fail_when)
  3. Apply locally — the client judges the artifact; the host never takes the file and never returns pass/fail

There is no server-side LLM. One shared catalog for every caller — an account unlocks the hosted API; it does not give you a private rulebook.

What it is not

  • A generative design copilot or “does this look good?” scorer
  • A WCAG / accessibility compliance checker (we do not claim conformance, contrast audits, or screen-reader naming)
  • A closed corpus — the catalog and server are open source; you can self-host the same tools

Features

  • Cited catalog — one JSON file per rule, with sources you can follow
  • Public catalog site — browse rules in the browser at /catalog
  • Agent tools — list / search / get guidelines; suggest situations; audit by need (job or ids)
  • Hosted or self-host — waitlist + API key on the hosted service, or stdio locally with no auth
  • Privacy-minded hosted mode — we do not store UI payloads or prompts; see Privacy

Quick start

Hosted

  1. Request access at open-ux.dev/invite
  2. After approval, redeem your invite for a bearer API key (uxmcp_…)
  3. Point your MCP client at the hosted /mcp endpoint with that key
  4. Call list_guidelines or audit with a job (no file upload)

Tools return 401 without a key.

Self-host

pip install open-ux
python -m open_ux validate-catalog
python -m open_ux stdio
OPEN_UX_MODE=hosted python -m open_ux http

Browse the local site at http://127.0.0.1:8080/catalog. Point MCP clients at local stdio, or at hosted /mcp with a uxmcp_ key.

Contribute from this repo

python -m venv .venv && source .venv/bin/activate
pip install -e "packages/mcp[dev]"
python -m open_ux validate-catalog
python -m open_ux stdio

Tests

cd packages/mcp && python -m pytest

Claude plugin

Thin client in clients/claude. It connects to the catalog; it does not ship a second copy of the rules.

Agent tools

Tool Purpose
list_situations Page Situation Cards (optional container filter)
get_situation One Card plus facets / rule pointers
suggest_situations Rank Cards from task text (allowlisted)
list_guidelines Paged catalog index
search_guidelines Filter index by query / jobs / lane
get_guideline Full rule body by id
audit Say the need (jobs Card/container or guideline_ids); get matching criteria

audit accepts optional query and limit (default 10, max 50). It does not take a file target and does not return a host verdict. If nothing matches, you get an empty list and a note.

Catalog layout

catalog/
  rules/{category}/{source}/   one JSON file per rule
  index.json                   generated index
  jobs.json                    Situation tree
  schema.json                  rule schema
  MANIFEST.md                  human map (no rule bodies)

Rules are never forked per tenant. Soft size budget ~50–100 KB; hard ceiling ~384 KB. Details: catalog/README.md.

Repository layout

packages/mcp      Python server (FastMCP)
catalog/          shared rules + schema
clients/claude    thin Claude plugin
docs/             privacy, assets

Python package: open-ux · npm / plugin scope: @3dyonic/open-ux

Hosted vs self-host

Hosted HTTP Self-host (stdio)
Auth Waitlist → invite → bearer uxmcp_ None
Rate limits Per-key and per-IP on /mcp None
Telemetry Aggregated usage (key hash, tools, rule ids) Off

Privacy on the hosted product: open-ux.dev/privacy (Eng constraints also in docs/PRIVACY.md).

Contributing

Issues and pull requests are welcome. Keep the catalog cited — every rule should point at a real source. Prefer small, reviewable PRs: one concern per change (catalog rows, server behavior, or docs).

Before opening a PR:

python -m open_ux validate-catalog
cd packages/mcp && python -m pytest

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_ux-0.1.1.tar.gz (188.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_ux-0.1.1-py3-none-any.whl (291.0 kB view details)

Uploaded Python 3

File details

Details for the file open_ux-0.1.1.tar.gz.

File metadata

  • Download URL: open_ux-0.1.1.tar.gz
  • Upload date:
  • Size: 188.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for open_ux-0.1.1.tar.gz
Algorithm Hash digest
SHA256 600eec1ea4b9c8c66e3c5e94e3c79df5a045b8343dc01cfe4ec9de3ea1447422
MD5 159e0ddfed081c38f745be54942acffe
BLAKE2b-256 707aec093b38c2a9d9926f680d9148854d9730c415804ad6c61e4fa6a4b623cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_ux-0.1.1.tar.gz:

Publisher: publish.yml on 3dyonic/open-ux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file open_ux-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: open_ux-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 291.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for open_ux-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6b2885a426fadb7f9b0d0312f3398fe2fcc0106132440a3cce5faa319432df75
MD5 d810d68d9a3d5a81ca8ce3149b7e663b
BLAKE2b-256 de7e6d7ce305df107d8369c7f62db7efc3cc00fd873dbf846b02cf9cccea00b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_ux-0.1.1-py3-none-any.whl:

Publisher: publish.yml on 3dyonic/open-ux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

This release

0.1.1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page