v0.10.0 · Visual Operator is live

Visual QA, audit, and MCP for the browser.

Capture, sweep, diff, audit — and now operate — from the CLI, an MCP server, or as a library. pursr replaces five separate tools with a single Node.js package that drives your system Chrome via Playwright.

16
MCP tools
26
CLI subcommands
12
Viewport presets
25
Subpath modules

Five tools, one package.

Most teams need a screenshot CLI, a regression diff runner, an accessibility auditor, a way to share captures with an AI assistant, and a way to turn all of that into a PDF report. pursr is all five.

Visual Operator
new

Visual Operator

rendered cursor, target labels, click markers, WebM recording, headed and CDP sessions

pursr operator <url> @plan.json --visible --video
Visual Operator
new

Persistent MCP sessions

open → snapshot → act → screenshot → inspect → diagnostics → close

pursr_session_open { mode: "visible" }
Visual Operator
new

CDP attach mode

reuse an existing authenticated Chrome profile over CDP

mode: "cdp" + cdpUrl: http://127.0.0.1:9222
Visual Operator
new

WebM video recording

Chrome records the viewport as silent WebM during operator runs

--video ./recordings (CLI) or recordVideoDir (MCP)
Capture

Multi-viewport capture

10+ presets (mobile, tablet, desktop, ultrawide)

--preset mobile-375
Capture

Layered states

entity / terrain / hud / ui isolation

--layer entity
Capture

Animation freeze

pause CSS/JS animations for stable frames

--no-animation
Capture

Cursor overlay

pointer / grab / grabbing / crosshair

--cursor crosshair
Capture

Grid overlay

spacing guides, custom color + tile size

--grid --grid-tile 64
new in v0.10.0

Visual Operator

Render a real cursor, click markers, and target labels into screenshots. Record WebM video of the viewport. Run headed or attach to an existing Chrome over CDP. The same action-plan JSON works through the CLI and the MCP server.

  • 10 action types: click, hover, drag, move, press, keyDown, keyUp, sleep, annotate, clearAnnotations
  • 3 browser modes: headless, visible (headed), CDP attach
  • WebM video recording with --video flag
  • Configurable cursor color (defaults to #ff2ea6)
  • Same schema through pursr operator CLI and pursr_act MCP tool
pursr operator
$ pursr operator http://localhost:3000 @plan.json \
  --visible \
  --start-delay 3000 \
  --slow-mo 100 \
  --video ./recordings \
  --out ./recordings/final.png \
  --operator-color #ff2ea6
WebM output
Silent viewport recording
Rendered cursor
Real cursor + click markers
session_open

Open a headless, visible, or CDP browser session with optional Visual Operator.

sessions

List active browser sessions.

snapshot

Visible rendered nodes, geometry, semantics, and computed styles.

act

Interact plus move cursor, annotate targets, and clear visual feedback.

screenshot

Return the current PNG directly to the vision model.

inspect

Inspect exact geometry, computed styles, and stacking ancestors.

diagnostics

Read console, page errors, failed requests, and HTTP failures.

session_close

Close the tab and release its browser process.

+ 8 more tools — see the full list on GitHub

MCP server

16 tools over stdio.

pursr-mcp is built on the official Model Context Protocol SDK. Works with Claude Code, Cursor, Codex, and Continue. Persistent sessions enable the same inspect-act-verify loop as an interactive browser agent.

terminal
$ npx pursr-mcp
# or with verbose logging:
npx pursr-mcp --verbose

Install in 30 seconds.

Zero browser bundled — pursr drives your system Chrome via Playwright. No 200 MB Chromium download.

terminal
$ # Install pursr + playwright-core peer dep
npm install pursr
npm install --save-dev playwright-core

# Verify
pursr viewports         # list 12 viewport presets
pursr probe https://example.com   # health check
1

Capture

pursr shoot with overlays, grid, cursor, layer isolation

2

Sweep

Batched JSON plan with parallel workers + a11y audit

3

Report

HTML, PDF, JUnit XML, Markdown — auto-generated

What's new.

Release notes for v0.4.0 → v0.10.0 — auto-synced from npm + GitHub.

v0.10.0
Visual Operator
2026-06
  • Visual Operator — rendered cursor, target labels, click markers, WebM recording, headed and CDP sessions
  • Persistent MCP sessions — 8 new session tools (open, snapshot, act, screenshot, inspect, diagnostics, close, sessions)
  • CDP attach mode — reuse an existing authenticated Chrome profile over CDP
v0.9.0
MCP SDK migration
2026-05
  • Migrated pursr-mcp to the official Model Context Protocol SDK
  • Stable MCP 2024-11-05 protocol version
  • Improved tool argument validation
v0.8.0
Component snapshots + watch mode
2026-04
  • pursr snap — capture one screenshot per matched element, clipped to bounding box
  • pursr watch — re-shoot or re-sweep when files change (glob watch, 300ms debounce)
  • Auto-promote snaps to baselines in one command (--baseline myapp)

Start capturing in under a minute.

Open the dashboard, build a capture, run it for real — pursr drives Chrome and produces a PNG.