Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Visual testing for coding agents: your agent sees every UI change it makes and triages each diff.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
https://uiverify.ai/mcpターミナルでこれを実行します
claude mcp add --transport http uiverify https://uiverify.ai/mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"uiverify": {
"url": "https://uiverify.ai/mcp"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"uiverify": {
"type": "http",
"url": "https://uiverify.ai/mcp"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
https://uiverify.ai/mcpメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
公開者(igrlk)がリポジトリの所有者(uiverify)ではありません。別の人が登録した可能性があります
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち0項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
GitHubリポジトリの最終更新は–、最新バージョン(1.2.0)がレジストリに届いたのは10 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Intervals MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Remote MCP server for intervals.icu run data and analysis
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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.ai · GitHub · CLI · Playwright SDK · Vitest SDK · Bun SDK · Skills
UI Verify is a hosted visual-testing service that plugs into your CI. On each PR it:
bun test with the Bun SDK, or from finished screenshots your own harness already produces (native, mobile, React Native) uploaded straight for diffing.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.
# 1. Install the CLI in your project
npm i -D uiverify
export UIVERIFY_API_KEY=... # from uiverify.ai
npm run build-storybook npx uiverify upload --static-dir storybook-static
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:
npx uiverify upload --screenshots ./screenshots
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.
uiverify checkWhile 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:
npm run build-storybook
npx uiverify check --target 'components-button--*' --static-dir storybook-static
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.
| Package | Install | What it does |
|---|---|---|
| [`uiverify`](packages/cli) | npm i -D uiverify | The CLI. uiverify upload is the CI uploader (Storybook bundle, Playwright/Vitest/Bun archive, or a directory of finished screenshots) - streams render progress and reflects the visual verdict in its exit code. uiverify check is the agent edit-loop check - renders just the stories you name against the real CI baseline, without posting a check or moving a baseline. |
| [`@uiverify/playwright`](packages/playwright) | npm i -D @uiverify/playwright | The Playwright capture SDK. Swap @playwright/test for it and each test archives its final UI state (serialized DOM + resource bytes) for UI Verify to replay and diff. |
| [`@uiverify/vitest`](packages/vitest) | npm i -D @uiverify/vitest | The Vitest capture SDK. Add uiverifyPlugin() to your Vitest config and each browser-mode test archives its final DOM (serialized DOM + resource bytes) for UI Verify to replay and diff; takeSnapshot() takes named snapshots instead. |
| [`@uiverify/bun`](packages/bun) | bun add -d @uiverify/bun | The Bun capture SDK. Write visual tests on bun test that drive your installed Chrome, and each test archives its final page (serialized DOM + resource bytes) for UI Verify to replay and diff; run() starts your app and runs the test files. |
| [`@uiverify/skills`](packages/skills) | npx skills add, see below | Agent skills: SKILL.md workflows a coding agent runs in your repo to set up visual testing, author economical + deterministic stories, and triage builds. As a Claude Code or Cursor plugin, or a Gemini CLI extension, it also connects the UI Verify MCP server. |
| [`@uiverify/workflow-skills`](packages/workflow-skills) | Claude Code plugin, see below | The agentic-development loop we build UI Verify with: factory, design, review-loop, e2e-verify, babysit-pr, and the skills that tune it. |
Install the skills into any coding agent with one command (skills.sh):
npx skills add uiverify/uiverify
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:
/plugin marketplace add uiverify/uiverify
/plugin install uiverify@uiverify
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:
gemini extensions install https://github.com/uiverify/uiverify
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.
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.
claude mcp add --scope project --transport http uiverify https://uiverify.ai/mcp
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:
| Tool | What it does |
|---|---|
list_projects | List the projects you can access, with the projectId to pass when you have several |
list_builds | List recent UI Verify builds |
get_build | Get what changed in a build |
list_build_stories | Page through a build's stories by status |
get_pr_changeset | Get what a PR does to the UI vs its base branch |
list_pr_stories | Page through the PR-vs-base changeset by kind |
get_diff | Per-story diff detail with image URLs |
render_diff_image | Fetch the actual pixels of a story image |
review_diff | Accept, deny, or ignore one story's change |
accept_build | Accept every changed story in a build |
Complete, runnable projects under examples/ — one per capture path. Copy a folder, add a project API key, and it works.
| Example | Capture path |
|---|---|
| [`examples/storybook`](examples/storybook) | Storybook stories (no SDK, upload --static-dir) |
| [`examples/vitest`](examples/vitest) | Vitest browser-mode tests with @uiverify/vitest |
| [`examples/playwright`](examples/playwright) | Playwright end-to-end tests with @uiverify/playwright |
| [`examples/bun`](examples/bun) | Bun visual tests (bun test) with @uiverify/bun |
| [`examples/react-native`](examples/react-native) | Finished screenshots (native / mobile / React Native) with upload --screenshots |
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.
pnpm install
pnpm -r build # CLI builds dist/uiverify.js, playwright builds dist/ pnpm -r test pnpm -r typecheck
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.
MIT © UI Verify