Wire your agent into uiopsy.
Pick the agent you’re already running. If it speaks MCP, hook-up is a single line of config. If it doesn’t, it speaks REST and there’s a wrapper. Click any tile to skip to the wire-up.
Claude Code
Anthropic
The terminal agent most of our users are already running.
Claude Code speaks MCP natively, so hooking uiopsy into it takes about as long as adding an env var. Once it's wired, you can tell Claude Code to ship the preview URL to a human reviewer between writing code and opening the PR. No API knowledge required on your part.
Wire it up
- Add UIOPSY_API_KEY to your shell environment (or project .env).
- Add the uiopsy MCP server to ~/.mcp.json or your project's .mcp.json.
- Restart Claude Code. The uiopsy_request_review tool is now available.
- In your CLAUDE.md or inline prompt, tell Claude Code when to use it. Example: 'Before opening a PR for a UI change, submit the preview URL to uiopsy and wait for the review.'
Example prompt
“I just wired up the new pricing page at preview.myapp.com/pricing. Before I open a PR, send it to uiopsy and wait for the review.”
Claude Code → uiopsy_request_review
url: preview.myapp.com/pricing
focus: [clarity, trust, hierarchy]
← quote: 3 credits · ~90 min
→ accept
⏱ 1h 42m later...
← 3 issues found
• CRITICAL hero headline is generic SaaS copy
• MAJOR pricing card glow implies pre-selection
• MINOR footer has 3 dead links
Claude Code: "I got the review back. The critical issue is the
hero headline. It reads like every other SaaS page. I'll rewrite
it to lead with the specific outcome before I open the PR."Cursor
Anysphere
The IDE with the composer your whole team is using.
Cursor supports MCP servers natively in settings. Add uiopsy once and every Composer session (and background agent, if you use those) can ask for a review. Works in both the chat sidebar and the agent background runs.
Wire it up
- Open Cursor Settings → Features → Model Context Protocol.
- Add a new server pointing at the uiopsy MCP binary (or our hosted endpoint).
- Paste your UIOPSY_API_KEY in the server config.
- In Composer, @uiopsy mentions now autocomplete. Or tell the agent in plain language to 'send this to uiopsy for review.'
Example prompt
“@uiopsy review http://localhost:3000/onboarding. I want to know if the signup flow is confusing.”
Composer → uiopsy: quote
← 2 credits, ETA 75 min
Composer auto-accepts (within project cap)
← review delivered
Summary: 2 issues found
1. MAJOR "Continue" button on step 2 is gray on gray
2. MINOR headline on step 3 uses "utilize" (kill it)
Composer: "The reviewer flagged the step-2 button contrast. I'll
patch onboarding.tsx and we can re-submit."OpenAI Codex
OpenAI
OpenAI's cloud-based software engineering agent.
Codex runs tasks in a sandbox and opens PRs autonomously. It doesn't speak MCP yet, so hook it up over REST. Give it an API key and a short instruction in your AGENTS.md and it'll submit preview URLs for review on any task that touches the frontend.
Wire it up
- Add UIOPSY_API_KEY to your Codex environment secrets.
- Add a short instruction block to AGENTS.md: 'For any task that touches UI, POST the preview URL to https://api.uiopsy.com/v1/quotes and wait for the review before committing.'
- Optionally provide a wrapper script (uiopsy.sh) that Codex can shell out to.
- Kick off a task. Codex will run the review automatically at the point you specified.
Example prompt
“Task: redesign the sign-in page to match the new brand. Ship a PR, but have uiopsy review the preview first.”
Codex container:
$ git checkout -b redesign/signin
$ ... edits sign-in page ...
$ npm run build && vercel deploy --preview
$ curl -X POST https://api.uiopsy.com/v1/quotes \
-H "Authorization: Bearer $UIOPSY_API_KEY" \
-d '{"url":"https://preview.vercel.app/signin","focus":["clarity","trust"]}'
→ quote accepted, polling...
⏱ 1h 15m later
← 4 issues. 0 critical. 2 major. 2 minor.
$ ... applies fixes ...
$ git push && gh pr createDevin
Cognition
Cognition's autonomous software engineer.
Devin runs long-horizon tasks with its own browser and sandbox. Give it uiopsy as a tool and it'll pause for human review at milestones you define. Works especially well for multi-day projects where Devin would otherwise ship without a second pair of eyes.
Wire it up
- Add uiopsy as a knowledge or tool entry in Devin's session config.
- Store UIOPSY_API_KEY in Devin's secrets.
- In your session kickoff, say: 'After every UI change, use uiopsy to get a human review before marking the step complete.'
- Monitor Devin's dashboard. Each review appears as a checkpoint.
Example prompt
“Devin, build the new billing page from the spec in BILLING.md. Submit it to uiopsy between each milestone.”
Devin: "Milestone 2 of 4 complete. Submitting preview to uiopsy for review before continuing..." → uiopsy: quote (3 credits, ~90 min) → accept ⏱ 1h 28m ← 1 critical, 3 minor Devin: "Review returned. The critical issue is the plan-comparison table. Columns don't line up on mobile. I'm fixing it now, then submitting again before I start milestone 3."
Claude Cowork
Anthropic
Anthropic's managed agent with persistent workspaces.
Cowork sessions live on Anthropic's infrastructure and keep state across days or weeks. Hook uiopsy in once and every workspace can request reviews throughout a project's lifetime without you having to re-configure anything.
Wire it up
- Go to your Cowork workspace settings → Tools.
- Add the uiopsy MCP server (hosted endpoint or self-hosted).
- Paste your API key.
- In the workspace's system prompt, describe when Cowork should use it. Example: 'For any UI work, use uiopsy before marking a task done.'
Example prompt
“Cowork, I want you to rebuild the settings page. Every time you finish a section, get a uiopsy review on the preview URL before moving on.”
Cowork workspace: proj-settings-redesign Session 3, Day 2: Finished 'notifications' section. → uiopsy_request_review(preview.myapp.com/settings/notifications) ← review in 1h 02m ← 2 minor issues ✓ patched and re-submitted → clean Moving to 'billing' section...
Aider
Open source
The command-line pair programmer.
Aider is the terminal-first AI pair programmer that works with any model. It doesn't have MCP support yet, but you can hook uiopsy in through a shell command Aider can run. Best for solo devs who want a review step in their CLI loop.
Wire it up
- Create a tiny wrapper: echo '#!/bin/bash\ncurl -X POST ...' > uiopsy.sh && chmod +x uiopsy.sh
- Add UIOPSY_API_KEY to your .env.
- In Aider, use /run ./uiopsy.sh <url> after a UI change.
- Aider will execute the script and include the review output in its context for the next turn.
Example prompt
“/run ./uiopsy.sh https://localhost:3000/checkout”
> aider --model claude-sonnet-4-5 > edit checkout.tsx to fix the layout ... > /run ./uiopsy.sh https://localhost:3000/checkout Waiting for review (ETA: 90 minutes)... Review complete: 1 critical, 2 minor see /tmp/uiopsy-review-abc123.json > apply the fixes from the uiopsy review
Windsurf
Codeium
Codeium's agentic IDE with Cascade.
Windsurf's Cascade agent runs long, multi-step tasks and supports MCP servers. Drop uiopsy in once and Cascade can request reviews in the middle of a Flow without breaking its loop. Works with both Cascade Base and Write modes.
Wire it up
- Open Windsurf Settings → Cascade → MCP Servers.
- Add a new server: uiopsy (hosted endpoint).
- Paste your API key into the server config.
- Create a Cascade rule in .windsurfrules: 'Submit UI changes to uiopsy for review before finalizing.'
Example prompt
“Cascade, rebuild the /dashboard screen. Have uiopsy look at the staging preview before you're done.”
Cascade (Write mode) → Step 4 of 6 Finished dashboard layout. → uiopsy.request_review(staging/dashboard) ← review in 1h 40m ← 2 major, 1 minor ← applying fixes ← re-submitting ← clean Moving to Step 5: empty states...
Zed
Zed Industries
The Rust-powered collaborative editor with AI.
Zed's assistant panel supports MCP and is designed for fast, conversational edits. Add uiopsy as a context server and you can invoke it with a slash command without leaving the editor. Great for quick review passes during a focused build session.
Wire it up
- Open Zed's settings.json (cmd+,).
- Add uiopsy to context_servers.
- Store your API key in Zed's keychain.
- In the assistant panel, type /uiopsy <url> or ask the assistant to 'send this to uiopsy.'
Example prompt
“/uiopsy http://localhost:3000”
Assistant panel:
/uiopsy http://localhost:3000
→ submitted. Quote: 2 credits, ETA 80 min.
⏱ 1h 18m
← Review complete:
MAJOR hero CTA is below the fold on mobile
MINOR nav padding is inconsistent between /about and /pricingFor agents with payment authority
Skip the form. Just send the request.
If your agent has a Stripe Shared Payment Token, a single-use Issuing card, or a buyer-issued API key, skip the intake form and call the endpoint directly.
- A review ID and an ETA come back synchronously.
- The reviewer is alerted out-of-band.
- The webhook receives the signed verdict when the review completes.
/uiopsy review https://preview.myapp.com/pricing pack: starter focus: clarity, trust, conversion webhook: https://myapp.com/uiopsy/webhook > charging $249.00 from agent wallet ... ok > review_id: rev_01HZX9 > eta: 1h 45m
$ curl -X POST https://api.uiopsy.com/v1/reviews \
-H "Authorization: Bearer $UIOPSY_API_KEY" \
-H "X-Stripe-Payment-Token: $STRIPE_SHARED_PAYMENT_TOKEN" \
-d '{"target_url":"https://preview.myapp.com/pricing",
"pack":"starter",
"webhook_url":"https://myapp.com/uiopsy/webhook"}'
> 200 OK
> review_id: rev_01HZX9
> status: queued