Codex Cursor Claude CLI

Local browser automation over MCP

Drive your real Chrome from agents or the shell.

BrowseFleetMCP runs a local stdio MCP server, pairs it with a Chrome extension, and keeps sessions isolated so multiple tools can work without fighting over the same browser state.

It was inspired by BrowserMCP, but built out of not wanting the browser side to silently die in the background and leave automation hanging.

The extension lives in this repo checkout. The server can come either from the published npx -y browsefleetmcp package or from your local built dist/index.js.

Transport

Standard stdio MCP

Sessions

Leased, isolated tabs

Browser

Your existing profile

Operational flow

The setup has four moves. Keeping the order clean avoids most confusion.

This is not a hosted browser service. The server runs locally, the extension connects your real browser, and the client just decides how that process gets launched.

01

Build the root package

Compile the MCP server and CLI from the repo root.

02

Load the extension

Build extension-v2/ and load it in Chrome.

03

Choose a launcher

Use MCP config, a CLI command, or a Claude Desktop bundle.

04

Connect the tab

Open the popup, confirm ports, add any auth token, and attach the current tab.

Quick launch pairs

Every client path resolves to the same command shape.

Use the published package if you want the npm release. Use the local checkout if you are actively developing the repo and want the client to run your built dist/index.js.

On Windows, some clients need cmd /c in front of npx. That note lives on the Clients page so the main page stays focused on the path selection.

{
  "command": "npx",
  "args": ["-y", "browsefleetmcp"]
}

{
  "command": "node",
  "args": ["/absolute/path/to/browsefleetmcp/dist/index.js"]
}

browsefleetmcp --port 9200 --fallback-ports 9202,9204
browsefleetmcp --auth-token your-shared-token

Ready to wire it up

Start with install if you want the cleanest path. Everything else is a launcher detail.

The docs site is published from docs/ through GitHub Pages. The repo examples remain available if you prefer copying config files directly instead of transcribing snippets.