UI Verify
io.github.igrlkPublished by GitHub account igrlkv1.2.0Updated Nov 6, 2026
Visual testing for coding agents: your agent sees every UI change it makes and triages each diff.
Overview
Hosted visual-testing service that lets a coding agent inspect UI diffs from builds and pull requests and accept or reject baseline changes over MCP.
- What you can do
- List projects and recent builds, and page through a build's stories by status
- Inspect what changed in a build or what a pull request changes versus its base branch
- Get per-story diff detail with image URLs and fetch the actual pixels of a story image
- Accept, deny or ignore a single story's change, or accept every changed story in a build
- Read the AI judge's verdict on regressions versus cosmetic noise and triage them in the conversation
- When to use it
- Useful when your team runs UI Verify visual tests in CI and you want the agent to review UI changes from a pull request, judge whether a diff is a real regression, and accept intended baselines without leaving the terminal.
- Requirements
- A remote streamable HTTP endpoint; nothing to install or run locally. Requires an OAuth login to UI Verify in the browser, and access to the relevant projects and teams. The separate CLI and capture SDKs need Node.js and a UIVERIFY_API_KEY.
Installation
In SourceWeft
- Open UI Verify in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.igrlk%2Fuiverify/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"ui-verify": {
"type": "http",
"url": "https://uiverify.ai/mcp"
}
}
}README
UI Verify
Visual testing for agents
Catch unintended UI changes on every pull request. UI Verify renders your components in the cloud, diffs them against a baseline, and lets a coding agent triage what actually changed.
[uiverify] [@uiverify/playwright] [@uiverify/vitest] [@uiverify/bun] [License: MIT]
uiverify.ai · GitHub · CLI · Playwright SDK · Vitest SDK · Bun SDK · Skills
What is UI Verify?
UI Verify is a hosted visual-testing service that plugs into your CI. On each PR it:
- Captures your UI, from Storybook stories, from your existing Playwright or Vitest browser-mode tests via a drop-in capture SDK, from visual tests on
bun testwith the Bun SDK, or from finished screenshots your own harness already produces (native, mobile, React Native) uploaded straight for diffing. - Renders & diffs every state in the cloud against the baseline from your default branch.
- Reports the verdict back as a GitHub check, and gates the PR on it.
- Triages: a coding agent (Claude Code, Codex, and others) buckets real regressions vs. cosmetic noise and can accept new baselines in bulk, all over MCP.
This repository holds the open-source client packages, everything that runs in your repo. All rendering, diffing, and judging happens server-side; these packages only build a bundle, upload it over HTTP, and read back status, so each is safe to read, fork, and self-host against.
Quickstart
Already have screenshots? If your harness already produces them (Detox, Maestro, native snapshot tests, anything), upload the PNGs directly, no Storybook and no rendering required. UI Verify diffs, judges, and baselines them just the same:
This is how native, mobile, and React Native projects use UI Verify: each image is keyed by its path under the directory, so a screen maps to the same baseline every build, and you can upload only the screens you changed and carry the rest forward.
Prefer to drive it from your agent? Install the skills (below) and run /uiverify:setup-visual-testing. It detects your capture path, wires CI, and writes the first stories for you.
Mid-edit checks for coding agents: uiverify check
While an agent is editing, it can render just the stories it is touching and diff them against the real CI baseline on the fleet - a "would this pass" answer without waiting for CI:
It renders only the stories you name (repeatable --target, globs or exact ids), posts no PR check, and never moves a CI baseline. A changed result is informational (exit 0) - review the pixels over the UI Verify MCP (get_build / render_diff_image) and accept in the dashboard or with accept_build to set a branch-scoped preview baseline, so your own accepted changes stop re-flagging on the next check. CI stays the only path to a main baseline.
Packages
Agent skills
Install the skills into any coding agent with one command (skills.sh):
Works in Claude Code, Cursor, Codex, Copilot, Gemini, and any agent that reads a skills folder. Add --list to pick individual skills, and run npx skills update to pull the latest.
Or, on Claude Code, install as a plugin so updates arrive automatically:
Either way, invoke them by name: /uiverify:setup-visual-testing, /uiverify:triage-visual-changes, and more. See packages/skills for the full list and a copy-in-by-hand alternative.
On Gemini CLI, install the same skills plus the MCP server as an extension, then log in once:
In a Gemini CLI session, run /mcp auth uiverify and log in to UI Verify in your browser.
The agentic-development loop we build UI Verify with (factory, design, review-loop, e2e-verify, babysit-pr) is a second plugin in the same marketplace: /plugin install uiverify-workflow@uiverify, then /uiverify-workflow:factory. See packages/workflow-skills.
Triage over MCP
Connect the UI Verify MCP server and your coding agent (Claude Code, Cursor, Codex, and others) can pull a pull request's UI changes into the conversation, look at each diff, read the AI judge's verdict, and accept the intended baselines - without leaving the terminal.
If you installed the plugin above, it already connects this server, so skip the command and just log in from /mcp. Otherwise restart Claude Code after adding it, run /mcp, pick uiverify, and log in to UI Verify in your browser. You log in once and the connection reaches every project in every team you are a member of. --scope project writes it to your committed .mcp.json so the whole team gets it; the file holds no secret, since each teammate logs in with their own account. In Cursor, add { "mcpServers": { "uiverify": { "url": "https://uiverify.ai/mcp" } } } to .cursor/mcp.json and log in from its MCP settings. In Gemini CLI, the extension above connects it, and /mcp auth uiverify logs you in. Full guide: Triage visual changes from your coding agent.
The server is remote (streamable HTTP) - there is nothing to install or run. It exposes:
Examples
Complete, runnable projects under examples/ — one per capture path. Copy a folder, add a project API key, and it works.
The first four capture a slice of the same Shoppy storefront; the React Native one is a small Expo app driven by Maestro. Each folder has its own CI workflow.
Development
The CLI requires UIVERIFY_API_KEY and talks to https://uiverify.ai by default (override with --api-url / UIVERIFY_API_URL for self-host or local dev). See each package's README and DEVELOPMENT.md for internals.
License
MIT © UI Verify
Source: README.md at commit 91e9a7d
Tools
0Version history
3- v1.2.0LatestOct 29, 2026
- v1.1.0Oct 20, 2026
- v1.0.1Sep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts