uiopsy

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

MCP

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

  1. Add UIOPSY_API_KEY to your shell environment (or project .env).
  2. Add the uiopsy MCP server to ~/.mcp.json or your project's .mcp.json.
  3. Restart Claude Code. The uiopsy_request_review tool is now available.
  4. 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.

What it looks like
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

MCP

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

  1. Open Cursor Settings → Features → Model Context Protocol.
  2. Add a new server pointing at the uiopsy MCP binary (or our hosted endpoint).
  3. Paste your UIOPSY_API_KEY in the server config.
  4. 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.

What it looks like
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

REST

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

  1. Add UIOPSY_API_KEY to your Codex environment secrets.
  2. 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.'
  3. Optionally provide a wrapper script (uiopsy.sh) that Codex can shell out to.
  4. 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.

What it looks like
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 create

Devin

Cognition

REST

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

  1. Add uiopsy as a knowledge or tool entry in Devin's session config.
  2. Store UIOPSY_API_KEY in Devin's secrets.
  3. In your session kickoff, say: 'After every UI change, use uiopsy to get a human review before marking the step complete.'
  4. 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.

What it looks like
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

MCP

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

  1. Go to your Cowork workspace settings → Tools.
  2. Add the uiopsy MCP server (hosted endpoint or self-hosted).
  3. Paste your API key.
  4. 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.

What it looks like
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

REST

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

  1. Create a tiny wrapper: echo '#!/bin/bash\ncurl -X POST ...' > uiopsy.sh && chmod +x uiopsy.sh
  2. Add UIOPSY_API_KEY to your .env.
  3. In Aider, use /run ./uiopsy.sh <url> after a UI change.
  4. 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

What it looks like
> 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

MCP + REST

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

  1. Open Windsurf Settings → Cascade → MCP Servers.
  2. Add a new server: uiopsy (hosted endpoint).
  3. Paste your API key into the server config.
  4. 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.

What it looks like
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

MCP

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

  1. Open Zed's settings.json (cmd+,).
  2. Add uiopsy to context_servers.
  3. Store your API key in Zed's keychain.
  4. In the assistant panel, type /uiopsy <url> or ask the assistant to 'send this to uiopsy.'

Example prompt

/uiopsy http://localhost:3000

What it looks like
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 /pricing

For 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.
slash command · in-chat agents
/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 · shell-running agents
$ 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

First review is on the house.