
Ridealong
io.github.williamblaismedia-createPublished by GitHub account williamblaismedia-createv0.1.0Updated Oct 24, 2026
Watch your AI drive a real Chrome live, point, approve, or take the wheel from your phone.
Overview
Lets an AI assistant drive a real Google Chrome while you watch a live stream, approve sensitive steps, or take over from your phone.
- What you can do
- Perceive pages: read state, snapshots, element search, page text, diffs, screenshots, console errors and network requests
- Act on the page: navigate, reload, click and type by stable element references, fill forms, scroll, fetch with the session
- Manage tabs: list, open, select and close Chrome tabs, with one target tab driving all actions
- Run the live view: start and stop streaming, switch between Auto and Manual control, request approval, read your inbox messages
- Hand control back and forth: you tap elements or type on your own device while the assistant's perception is suspended
- When to use it
- Useful when an agent needs to work in a real Chrome profile with logins, extensions and codecs, and you want to watch each step and step in at logins, CAPTCHAs or payments. Good for post-deploy QA runs and approval-gated checkouts.
- Requirements
- Runs locally over stdio via npx (npm package ridealong-mcp) on the machine with Chrome; desktop only. Optional ffmpeg for H.264 video, otherwise JPEG frames. Environment variables RIDEALONG_DATA_DIR (profile, secrets and artifacts directory), RIDEALONG_LIVE_PORT (default 9400) and RIDEALONG_VIDEO (on/off). The live view is reached through a signed link on 127.0.0.1.
Installation
In SourceWeft
- Open Ridealong in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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
[CI] [MIT] [node] [MCP] [npm] [tests]
Website · Quick start · Site en français · README en français
[Ridealong live view: Claude's cursor, the action journal, then Manual mode]
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.
In Claude Code
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.
On your phone
Not just another browser MCP
Why Ridealong
Quick start
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.
Examples
Three copy-pasteable scenarios in examples/, each with the
exact prompt, what you see on the live view and where you step in:
- QA after deploy — reload with the cache
bypassed, click through the flow, read
console_errorsandnetwork_requests, report. Includes aCLAUDE.mdsnippet to run it after every deploy. - Approval-gated purchase — Claude
fills the checkout,
ask_approvalblocks before "Place order", you tap Approve on your phone. - Login handoff — Claude hits a login or 2FA wall, switches to Manual, you type on your own device, Claude never sees the keystrokes.
What you get on the live view
- Claude's cursor gliding to each target, a ripple on click, the action label — and a journal with timestamps.
- Auto | Manual toggle. In Manual, mouse, keyboard, trackpad scroll and pinch are relayed; Claude's perception is suspended while you type.
- Pause Claude without taking control.
- Approval cards when Claude calls
ask_approval. - Point at things (Auto mode tap → "William points at: button « Login »")
and message Claude from the page. They reach Claude at the end of his
next tool result — or instantly, as a Claude Code channel, if you start
Claude with
--dangerously-load-development-channels server:ridealong(also relays "took the wheel" / "paused"). - Real tabs: the strip mirrors Chrome; tap one to move Claude's target.
- Resolution picker (720p → 2K), applied live and remembered.
- Capture, fullscreen, video/JPEG switch, reconnects by itself, phone-ready.
Tools
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.
How it works
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.
Guarantees
- No capture. Manual-mode input is relayed straight to Chrome and never retained; perception tools refuse to run while you have control; password fields never expose values in snapshots. A test suite pins this down.
- Signed, expiring links (HMAC, 30 s – 1 h). Device tokens (30 days) live
only in your browser. Rotate
RIDEALONG_LIVE_SECRETto revoke everything. - Loopback by default. The live view listens on 127.0.0.1; you choose how to expose it.
Roadmap
- Session recording (video + journal as chapters)
- Adaptive bitrate for weak mobile links
- Profiles: one Chrome context per client / task, incognito
- Annotated screenshots (refs drawn on the image)
-
npx ridealong-mcp
Contributing
Issues 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
Source: README.md at commit 60316a8
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts