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.

VerifiedSTDIODesktop onlyBrowser AutomationDeveloper Tools

Overview

AI-generated 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.
Before you install
The assistant can click, type, submit forms and complete purchases in your real Chrome profile, so approval gating matters. Manual-mode input is described as never stored or shown to the assistant, but the live view is a web endpoint: keep it on loopback and rotate RIDEALONG_LIVE_SECRET to revoke device tokens. Data in RIDEALONG_DATA_DIR may include secrets and artifacts.

Installation

In SourceWeft

  1. Open Ridealong in the dashboard and add it to a workspace.
  2. 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

[Ridealong]

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

[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.

[A Claude Code session using Ridealong: navigate, snapshot, act, console_errors, a channel message from William, ask_approval]

On your phone

[Ridealong on a phone: Claude drives, an approval card appears, then the operator takes the wheel in Manual mode]

Not just another browser MCP

[Console errors, network requests with cookies, real tabs, stable refs, approvals and manual mode, live view]

Why Ridealong

Typical browser MCPRidealong
Browserheadless Chromiumreal Google Chrome (codecs, extensions, your profile)
Watch the agentscreenshots on requestlive stream, GPU-encoded H.264, ~150 ms behind
Intervenestop the runManual mode: your clicks, keys and scroll go straight into the page
Sensitive actionshopeask_approval: Approve / Deny on your phone, the tool waits
Guide the agenttype a long prompttap the element on the live view, or send a one-line message
Secretsin the transcriptnever: Manual input is not stored, logged, or visible to Claude
Session diesreconnect by handself-healing relay + zombie-proof live view

Quick start

On the machine Claude drives — nothing to host:

bash
claude mcp add ridealong -- npx -y -p ridealong-mcp ridealong

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):

bash
docker build -t ridealong . && claude mcp add ridealong -- docker run -i --rm -p 9400:9400 -v ridealong-data:/data ridealong

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_errors and network_requests, report. Includes a CLAUDE.md snippet to run it after every deploy.
  • Approval-gated purchase — Claude fills the checkout, ask_approval blocks 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

PerceiveActTabsLive view
state snapshot find readnavigate reload act fill scrolltabs_list tabs_open tabs_select tabs_closelive_start live_mode live_stop
diff screenshot console_errorsask_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.

How it works

Claude Code ──stdio──▶ ridealong (MCP) ──CDP──▶ Google Chrome                          │                          └─ live view ── ws ──▶ your browser / phone                              JPEG frames, or CDP screencast → ffmpeg (GPU) → fMP4 → MSE                              input relay ◀── Manual mode (never stored)

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_SECRET to 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

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  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