Recorded multi-browser proof

Drive Chromium, Firefox, and WebKit together — from MCP, the CLI, or your own code.

Octowright is a runtime for orchestrating real browsers in parallel. Launch coordinated sessions, drive role-based scenarios, record every action to replayable JSONL, and keep the artifacts. Plug it into Claude Code or Codex over MCP, run scenarios from the CLI, or import it as a Python library.

Seven Mix Orchestration

Nine coordinated panes across three engines, one deterministic run, one checked-in bundle.

1920x1080 32.52s

Three demos that show the whole product arc.

Multi-window orchestration, cross-engine comparison, and verification artifacts — each one a real recorded bundle.

One runtime path, many outputs.

The same orchestrated runs produce dashboard state, replay logs, exported scripts, verification artifacts, and the videos used on this site.

  1. Launch coordinated browsers

    Octowright starts and manages Chromium, Firefox, and WebKit sessions together, with persona-aware profiles and persistent state.

  2. Run scenarios and macros

    Role-based participants, fixtures, and reusable macros let the same flow power demos, verification runs, and day-to-day debugging.

  3. Keep the artifacts

    Every run can emit replay JSONL, exported scripts, posters, reports, and browser video suitable for documentation and public-facing sites.

Add Octowright to your MCP harness.

Octowright also runs from the CLI and as a Python library — but the fastest way to drive it from an LLM is to register it as an MCP server in Claude Code, Codex, or any client that speaks Model Context Protocol.

Open the full quickstart
git clone https://github.com/provide-io/octowright.git
cd octowright
uv sync
uv run playwright install chromium firefox webkit

.mcp.json (project) or ~/.claude.json (global)

{
  "mcpServers": {
    "octowright": {
      "command": "uv",
      "args": ["--directory", "/abs/path/to/octowright", "run", "octowright", "serve"]
    }
  }
}

~/.codex/config.toml

[mcp_servers.octowright]
command = "uv"
args = ["--directory", "/abs/path/to/octowright", "run", "octowright", "serve"]

Cursor, Continue, Zed, or any MCP-aware harness

{
  "mcpServers": {
    "octowright": {
      "command": "uv",
      "args": ["--directory", "/abs/path/to/octowright", "run", "octowright", "serve"]
    }
  }
}

Octowright is not a gallery built around fake runs.

Real multi-browser orchestration

The hero demos are not stitched together from separate products. They come from the same runtime that launches and coordinates live sessions.

Replay as a first-class artifact

Every recorded path keeps its structured replay, so the video is proof but not the only output.

Deterministic offline demos

The site assets are generated from local seed pages and checked-in bundles so the same demos can be replayed and verified repeatedly.

The public site is downstream of a real command path.

Run one command to serve Octowright, one to record a demo, and one to regenerate the website hero set.

$ uv run octowright serve
$ OCTOWRIGHT_HEADLESS=1 uv run python scripts/demos/record_demo.py first-run-session
$ OCTOWRIGHT_HEADLESS=1 uv run python scripts/demos/regenerate_website_heroes.py