The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Ridealong listing page.
RIDEALONG |
A browser your AI drives. Ride along, grab the wheel anytime.
MCP server for Claude Code · real Google Chrome · live H.264 view · human-in-the-loop by design
Website · Quick start · Site en français · README en français

Every browser MCP lets an agent click around in the dark. Ridealong puts you in the passenger seat. Claude drives a real Chrome; you open one link and see exactly what it sees, where it clicks, what it typed — and when it hits a login, a CAPTCHA or a payment, you take the wheel from your phone, then hand it back.
Ridealong is an MCP server: Claude calls its tools like any other, but every step is visible on the live view, William's pointer and messages come back into the transcript, and sensitive actions wait for an approval.


![]() | ![]() |

| Typical browser MCP | Ridealong | |
|---|---|---|
| Browser | headless Chromium | real Google Chrome (codecs, extensions, your profile) |
| Watch the agent | screenshots on request | live stream, GPU-encoded H.264, ~150 ms behind |
| Intervene | stop the run | Manual mode: your clicks, keys and scroll go straight into the page |
| Sensitive actions | hope | ask_approval: Approve / Deny on your phone, the tool waits |
| Guide the agent | type a long prompt | tap the element on the live view, or send a one-line message |
| Secrets | in the transcript | never: Manual input is not stored, logged, or visible to Claude |
| Session dies | reconnect by hand | self-healing relay + zombie-proof live view |
On the machine Claude drives — nothing to host:
Or as a Claude Code plugin: claude plugin marketplace add williamblaismedia-create/ridealong then claude plugin install ridealong@ridealong. From source: git clone … && npm ci && npm run build && claude mcp add ridealong -- "$PWD/scripts/ridealong-local.sh".
Then, in Claude Code: "open timeliner.io and give me the live view".
You get a signed link (http://127.0.0.1:9400/#token=…). Open it once on a
device and the bare address works for 30 days — bookmark it.
In Docker (Chrome under Xvfb, ffmpeg, persistent profile):
On an always-on server with an NVIDIA GPU, a Cloudflare tunnel and a
relay that survives your laptop sleeping: the reference setup is in
docs/DEPLOIEMENT-W-AGENT.md (French).
ffmpeg installed → H.264 video (NVENC · VideoToolbox · libx264, auto-detected).
No ffmpeg → JPEG frames. Either way it works.
Three copy-pasteable scenarios in examples/, each with the
exact prompt, what you see on the live view and where you step in:
console_errors and
network_requests, report. Includes a CLAUDE.md snippet to run it after
every deploy.ask_approval blocks before "Place order", you tap
Approve on your phone.ask_approval.--dangerously-load-development-channels server:ridealong
(also relays "took the wheel" / "paused").| Perceive | Act | Tabs | Live view |
|---|---|---|---|
state snapshot find read | navigate reload act fill scroll | tabs_list tabs_open tabs_select tabs_close | live_start live_mode live_stop |
diff screenshot console_errors | ask_approval inbox | ||
network_requests fetch_with_session |
Everything follows one target tab. Elements carry stable [ref]s from
snapshot/find, so Claude acts by reference, never by brittle selectors.
Chrome's HTTP cache and service workers are bypassed: a site you just
deployed is what Claude sees.
Two Claude Code sessions on one Chrome? The second follows the first as a
control client and promotes itself if the first goes away. A local relay
(scripts/ridealong-mcp-relay.mjs) keeps the MCP session alive across a dead SSH
link by replaying the handshake.
RIDEALONG_LIVE_SECRET to revoke everything.npx ridealong-mcpIssues and PRs welcome — see CONTRIBUTING.md.
npm test runs 131 tests against a real Chromium (and ffmpeg when present).
Built by W Automatisations · Montréal · MIT