How it works GitHub Action Pricing FAQ Docs Get Free API Key
Free — 100 credits/month, no card needed

Your AI writes code.
Does it look right?

AI agents ship code fast — but UI bugs slip through silently.
perceptdot catches visual bugs in 7 seconds.
Screenshot + AI analysis on every deploy. No desktop needed.

See what you get back ↓

What you get back.

Structured, actionable findings. Not vague AI prose.

perceptdot — visual_check output
$ visual_check("https://preview.vercel.app/login")
📷 Screenshot taken (1280×800) · 7.1s · 1 credit
🔴 3 visual issues found
[HIGH]   Navigation bar overflows viewport at 375px width
Element: nav.main-nav (right edge clipped)
[MEDIUM] Login button missing border-radius on Safari 17
Element: button#login-submit (square corners)
[LOW]    Footer padding inconsistent — 24px left, 18px right
Element: footer.site-footer
💡 Tip: Add overflow-x:hidden to nav for mobile fix.
Suggested: border-radius: 8px to #login-submit

Three steps to visual QA.

Your AI agent deploys code, calls visual_check(), and fixes what it finds — automatically.

STEP 01

Deploy

Your AI agent pushes code. Vercel (or any platform) creates a preview URL automatically.

https://my-app-git-feat-auth.vercel.app
STEP 02

visual_check

Your AI agent calls visual_check() automatically. A headless browser captures the screenshot.

visual_check("https://my-app-git-feat.vercel.app")
STEP 03

AI Analyzes

Headless screenshot taken. AI inspects every pixel and returns structured findings with severity levels.

🔴 3 visual issues found
nav overflow · btn radius · padding
# Replace YOUR_KEY with your API key
claude mcp add --transport http perceptdot https://mcp.perceptdot.com/mcp --header "X-Percept-Key: YOUR_KEY"

Your AI writes code fast.

Does it look right? Existing tools can’t run in CI/CD.

❌

Manual visual checking

  • ✕ You deploy → open browser → resize → squint → “looks fine”
  • ✕ Bugs slip to production because no one checked mobile view
  • ✕ AI agents can’t see what they built — they only read code
  • ✕ No automated visual feedback loop in your CI/CD
✅

perceptdot visual_check

  • ✓ AI agent calls visual_check() — sees its own work
  • ✓ Catches layout bugs before users do, on every deploy
  • ✓ Works in GitHub Actions, Claude Code, Cursor, any MCP client
  • ✓ About 7 seconds · 1 credit per tile · fully headless

Works in GitHub Actions too.

Every PR gets a visual QA pass before merge. No MCP client needed — just add the action to your workflow file.

View on GitHub  ↗
▶ .github/workflows/visual-qa.yml
# Runs on every pull request
name: Visual QA
on: [pull_request]

jobs:
  visual-check:
    runs-on: ubuntu-latest
    steps:
      - name: perceptdot Visual Check
        uses: perceptdot/percept/[email protected]
        with:
          url: ${{ steps.vercel.outputs.preview_url }}
          api_key: ${{ secrets.PERCEPT_API_KEY }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
✅ perceptdot Visual Check Passed

No visual issues detected. Layout renders correctly at 1280×800.

Checked in 7.1s · Cost: 1 credit · Powered by perceptdot

Simple pricing.

Start free. Scale when you need it. No credit card for Free.

Free
$0  / month

Everything you need to get started. No credit card required.

  • ✓ 100 credits / month
  • ✓ MCP server + GitHub Action
  • ✓ AI visual analysis
  • ✓ HIGH/MEDIUM/LOW severity
  • ✓ Community support
Team
$ 49  / month

For teams with heavy CI usage. Fair use applies.

  • ✓ 30,000 credits / month (fair use)
  • ✓ Everything in Pro
  • ✓ Webhook notifications
  • ✓ Custom AI prompts
  • ✓ Priority support

Built for the MCP ecosystem.

Listed on awesome-mcp-servers Glama MCP Directory

Also available: @perceptdot/ga4 · @perceptdot/vercel · @perceptdot/github · @perceptdot/sentry

Questions answered.

No. perceptdot is fully headless — it uses Cloudflare Browser Rendering API to capture screenshots without any desktop or GUI. It runs anywhere: GitHub Actions, GitLab CI, Docker containers, or your terminal.
Computer Use requires a physical desktop or macOS GUI and cannot run in CI/CD pipelines. perceptdot is headless: no desktop needed, runs in any pipeline, automated per-deploy. It’s purpose-built for CI/CD visual QA — not interactive browsing.
Any MCP-compatible client: Claude Code, Cursor, Windsurf, Cline, and more. perceptdot also ships as a GitHub Action — no MCP client required for CI/CD pipelines. If it speaks MCP or calls an API, it works with perceptdot.
perceptdot uses Gemini 2.5 Flash vision analysis, returning structured findings with severity levels (HIGH/MEDIUM/LOW), affected CSS selectors, and suggested fixes. Output is capped at 150 words per check for clarity and token efficiency.
Free plan includes 100 credits per month — no credit card required. Each page uses 1 credit per viewport tile (a short page = 1 credit, a long landing page = 3–5 credits). A one-time +100 credit bonus is available after submitting feedback. Pro ($19/month, 10,000 credits) and Team ($49/month, 30,000 credits, fair use) are Coming Soon.
A visual_check() call completes in about 7 seconds for a typical page, and up to ~20 seconds for long pages. That includes headless browser screenshot capture plus Gemini 2.5 Flash AI analysis, combined.
No. Screenshots are captured, sent to Google (Gemini API) and, as a fallback, Cloudflare (Workers AI) for analysis, and are not stored. Only the analysis result (summary and issues, never the screenshot) is cached for up to 10 minutes per URL and viewport to speed up repeat checks. Google may use data sent to unpaid Gemini API tiers to improve its products, so please do not check pages that contain personal data.