FastLink bridges Claude (Claude Code, Claude Desktop, or claude.ai web) to a real Chrome tab, so Claude can read page snapshots, click, fill forms, run JS, capture console/network, and batch-automate the browser the user is actually looking at.
Claude ⇄ MCP server ⇄ broker (WebSocket) ⇄ Chrome extension ⇄ page
See docs/INSTALL.md — a single, deterministic, cross-platform
(macOS / Windows / Windows+WSL / Linux) guide written to be executed step-by-step by Claude. In
short: install Node ≥ 18, npm --prefix fast-dxt install, register the MCP server with Claude
(Claude Code via claude mcp add, or Claude Desktop via the .mcpb), Load-unpacked the Chrome
extension, then verify with fast_status.
| Component | Where it runs | What it is |
|---|---|---|
fast-dxt/ — MCP server + broker |
Node, next to Claude | server/index.js exposes the fast_* tools over MCP (stdio). It auto-spawns broker/index.js, the WebSocket hub between MCP client(s) and the extension. Also the source of the Claude Desktop .mcpb bundle. |
fast-ext/ — Chrome extension |
The user's Chrome | MV3 extension that actually drives the page. Loaded unpacked (Developer mode). |
fastlink-relay/ — cloud relay |
Cloudflare Worker + Durable Objects | Optional, only for claude.ai web driving the browser. Not part of a local install. Mirrors fast-dxt/server/tools.js. |
| Directory | Status |
|---|---|
fastlink-cloud-mcp/ |
Old Claude-Cloud MCP clone + unrelated scripts. gitignored. |
fast-ext-dad/ |
A 2nd-profile copy of the extension (just sets its broker slot to secondary). gitignored. |
fastlink-proxy/ |
Cloud-side auth adapter, superseded by fastlink-relay/. |
Repo-tidiness recommendation (not performed):
fastlink-cloud-mcp/andfast-ext-dad/are already gitignored;fastlink-proxy/is not. To make the repo read clean, consider moving all three into a singlelegacy/folder (or gitignoringfastlink-proxy/too). This is a suggestion only — no files were moved.
| Doc | Purpose |
|---|---|
docs/INSTALL.md |
Cross-platform, Claude-executable install guide (start here). |
docs/UPDATING.md |
Canonical update guide — git pull on a clone Chrome loads directly (recommended, AV-safe). |
docs/TESTER-INSTALL.md |
~2-minute no-dev-tools tester install (download-swap fallback) that then self-updates. |
docs/AUTO-UPDATE.md |
How the update banner + release/pull process keeps the unpacked extension current. |
docs/TOKEN-SECURITY.md |
Cloud-relay device-token auth model and recommended hardening. |
docs/ also holds design/status notes (scout, speed tiers, vision Set-of-Mark, issue logs).
fast-dxt/— MCP server (server/) + auto-spawned broker (broker/); tool schemas inserver/tools.js.fast-ext/— MV3 Chrome extension; action handlers insrc/actions/.fastlink-relay/— multi-tenant Cloudflare relay (deploy withwrangler deploy).scripts/— install/update helpers (update-extension-git.ps1/.sh(recommended git updater),install-tester.ps1/.sh+pull-extension.ps1/.sh(no-git download-swap fallback),update-fastlink*.ps1,release.sh,watch-sync.sh).docs/— install + design/status docs.bench/— benchmark harnesses.
- Ports: extension slots
9876(primary) /9877(secondary 2nd profile); internal MCP↔broker9870; optional HTTP transport9879. - Web Store: not yet published — use Load-unpacked (Developer mode). Managed/corporate
machines may block unpacked extensions; see
docs/AUTO-UPDATE.mdfor the enterprise route. - Optional Gemini key enables the vision/scout tier (
fast_scout,fast_point,fast_fill_vision,fast_do); everything else works without it.