A browser your AI drives. Ride along, grab the wheel anytime.

Ridealong is an open-source MCP server for Claude Code. Claude drives a real Google Chrome; you open one link and watch it live, point at things, pause, approve the risky steps, or take the wheel from your phone. Then hand it back.

claude mcp add ridealong -- npx -y -p ridealong-mcp ridealong
View on GitHub

MIT licensed. Runs on macOS, Linux or Docker with Node 20. 133 tests. A real Google Chrome, not a headless one.

Ridealong live view: Claude's cursor moves across a real Chrome page while an action journal fills; the operator switches to Manual mode and the frame turns terracotta

Three moves that no other browser MCP gives you.

Watch it live

A GPU-encoded H.264 stream of the real Chrome, about 150 ms behind. Claude's cursor glides to each target with a ripple on click; a journal keeps every action with its time.

10:41:09 click button « Login »
10:41:10 type textbox « Email »
10:41:12 navigate https://app.example.com/

Point and say

Tap an element while Claude works and it hears “William points at: button « changer »”. Type a line in the viewer and it lands in the transcript, instantly if you enable Claude Code channels.

William pointe : button « changer » (612,388)
William dit : pas celui-là, l'autre

Take the wheel

Switch to Manual. Your clicks, keys, trackpad scroll and pinch go straight into the page. Nothing you type is stored, logged or shown to Claude. Switch back when the login is done.

Auto | Manuel    ⏸ Pause
ask_approval “Pay $49?” → APPROVED
Ridealong live view on desktop: browser-style tabs, the address bar with resolution and frame rate, Claude's cursor and its label over a real page, the action journal open

Every tool call is visible. Every risky one waits for you.

Ridealong is a plain MCP server: Claude calls navigate, snapshot, act like any other tool. But the transcript now carries console errors, what you pointed at, and an approval verdict before a payment goes through.

perceive
state · snapshot · find · read · diff
screenshot · console_errors
network_requests · fetch_with_session
act
navigate · reload · act · fill · scroll
tabs
tabs_list · tabs_open · tabs_select · tabs_close
live
live_start · live_mode · live_stop
ask_approval · inbox
Terminal: installing Ridealong with claude mcp add, then asking Claude to open a site and hand out the live view link
A Claude Code session with Ridealong: navigate, snapshot, act, console_errors showing two real errors, a channel message where the operator points at a button, and an approved ask_approval

Not another Playwright wrapper.

Playwright MCP and Chrome DevTools MCP let an agent act in a browser. Claude in Chrome puts the agent inside your own tabs. Ridealong keeps the agent on its own real Chrome and puts you in the passenger seat, with the door handle.

Playwright MCPChrome DevTools MCPClaude in ChromeRidealong
Browserheadless Chromiumyour Chrome via CDPyour Chrome, your tabsreal Google Chrome, dedicated profile
See what the agent seesscreenshots on requestscreenshots on requestsame screenlive H.264 stream, cursor, journal
Take over mid-taskyou share the mouseManual mode from any device, input never stored
Approve before pay / send / deleteper-action promptsask_approval on the viewer, tool waits
Guide the agentpromptpromptprompttap the element, or message it
Console, network, tabspartialyeslimitedconsole_errors, network_requests, real tabs, diff
Runs wherelocallocalyour desktoplocal, Docker, or always-on server + phone
LicenseApache-2.0Apache-2.0proprietaryMIT
Board of Ridealong outputs: console errors and exceptions, network requests with the user's cookies, real tabs with a moving target, stable refs and diff, approval and Manual mode, live view messages

Built for the moment the agent hits a login page.

No capture

Manual-mode input is relayed to Chrome and never retained. Perception tools refuse to run while you hold the wheel. Password fields never expose values in snapshots. Tests enforce it.

Signed, expiring links

HMAC-signed links, 30 s to 1 h, carried in the URL fragment so they never reach history or logs. A paired device keeps a 30-day token. Rotate one secret to revoke everything.

Loopback by default

The live view listens on 127.0.0.1. You decide how to expose it: a Cloudflare tunnel, a VPN, or nothing at all.

Ridealong live view in a desktop browser window: tab strip, address bar, video and stats, Claude's cursor with its label, the action journal open on the right

Running in under five minutes.

claude mcp add ridealong -- npx -y -p ridealong-mcp ridealong
# or, as a Claude Code plugin
claude plugin marketplace add williamblaismedia-create/ridealong
claude plugin install ridealong@ridealong

Starts Chrome with its debugging port and a dedicated profile, generates a secret on first run. Then, in Claude Code: “open example.com and give me the live view”. With ffmpeg installed you get H.264 video; without it, JPEG frames.

Straight answers.

What is Ridealong?

An open-source MCP server for Claude Code. It drives a real Google Chrome over the Chrome DevTools Protocol and streams it live to a page you can watch, point at, pause, approve, or take over from your phone.

How is it different from Playwright MCP or Chrome DevTools MCP?

Those let an agent act in a browser. Ridealong adds the human: a live view, an approval gate, Manual mode with no capture, pointer hints and messages back to the agent, plus console errors, network requests, real tabs and stable refs in the transcript.

Is what I type in Manual mode visible to Claude?

No. Input is relayed straight to Chrome and never stored, logged or exposed to the model. Perception tools refuse to run while you hold the wheel, and password fields never expose values in snapshots. A test suite pins this down.

Do I need a server?

No. One command runs it on the machine Claude drives. Docker and an always-on server with a tunnel are documented for watching from anywhere.

Does the live view need a GPU?

No. With ffmpeg, Ridealong uses NVENC, VideoToolbox on macOS, or software libx264, whichever exists. Without ffmpeg it streams JPEG frames sized to your screen.

How are links secured?

HMAC-signed, expiring after 30 seconds to 1 hour, carried in the URL fragment. A device that opened a valid link keeps a 30-day token so the bare address works. Rotating the secret revokes everything.

Does it work with other MCP clients?

It is a standard stdio MCP server, so any client that speaks MCP can use the tools. The instant channel for messages and approvals is a Claude Code feature; other clients get them at the end of the next tool result.