Agent WebBridge

Drives your own signed-in Chrome profiles and parallel tabs from an MCP client, all on 127.0.0.1

By jeet-dhandha (individual) JavaScript Local · stdio Browser automation

31 popularity score ★ 12 ↓ 168/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

FirstTerminal
npm i -g agent-webbridge
awb setup "<PROFILE>"
Claude CodeTerminal
claude mcp add agent-webbridge -- npx -y agent-webbridge mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "agent-webbridge": {
      "command": "npx",
      "args": [
        "-y",
        "agent-webbridge",
        "mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "agent-webbridge": {
      "command": "npx",
      "args": [
        "-y",
        "agent-webbridge",
        "mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "agent-webbridge": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "agent-webbridge",
        "mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.agent-webbridge]
command = "npx"
args = ["-y", "agent-webbridge", "mcp"]
Gemini CLITerminal
gemini mcp add --scope user agent-webbridge npx -- -y agent-webbridge mcp

Settings 6

AWB_MCP_AUTO_UP Optional: Set to 0 to stop the server from starting the router and daemons itself when they are down (on by default).
AWB_MCP_SESSION Optional: Session (tab group) used by calls that give none; default "mcp".
AWB_ROUTER_PORT Optional: Port of the local router; default 10086.
AWB_ROUTER_URL Optional: Full address of the router to use instead of 127.0.0.1; also turns off auto-start unless AWB_MCP_AUTO_UP=1.
AWB_CHROME_BIN Optional: Path to the Chrome binary when it is not in the standard place (e.g. Chrome Beta).
AWB_CHROME_DIR Optional: Path to the Chrome user data directory when it is not in the standard place.

What it does

Agent WebBridge (package agent-webbridge, CLI awb) gives an MCP client control of the Chrome you already use, with its cookies, logins and passkeys, rather than a fresh headless browser. It has three parts: a Chrome extension from the Chrome Web Store, one small Node daemon per Chrome profile, and a router on 127.0.0.1:10086 that sends each command to the right profile. The MCP server started by `npx -y agent-webbridge mcp` is a stdio layer over that router. It turns each tool call into a POST /command request.

The tools open and find tabs, read a page as an accessibility tree with @e element references, click (synthetic or real mouse events), fill inputs and rich-text fields, run JavaScript, upload files, record network requests, and save screenshots or PDFs to disk. Every tool takes optional `profile`, `session` and `tabId` arguments. `profile` picks a Chrome account. `session` groups a task's tabs into one Chrome tab group. `tabId` lets calls on several tabs run at once instead of queuing on the profile's current tab.

The README lists 15 tools without a prefix. In the v1.3.3 source (src/mcp.mjs), the server registers 16 tools: each one is named browser_<action>, plus browser_status. If the router is not running when a tool is called, the server tries to start the fleet itself with `awb up --no-open` and waits up to 5 seconds. It does this by default, but not when AWB_MCP_AUTO_UP=0 is set or AWB_ROUTER_URL points at another router. Calls that omit `session` share the session "mcp" (AWB_MCP_SESSION changes this).

What it needs

RuntimeNode.js 18+

macOS or Windows (Linux paths exist in the code but its makers call them untested), Google Chrome, and Node.js 18 or later. Run the one-time setup first: `npm i -g agent-webbridge` and then `awb setup "<PROFILE>"`. Setup opens the Agent WebBridge extension's Chrome Web Store page in that profile so you can add the extension. Each profile you want to drive needs the extension and a running daemon (`awb up "<PROFILE>"`).

Limits

It works only with Chrome profiles that have the extension and a running daemon. Calls to a profile that is not connected return an error that names `awb up`. Its makers say the Chrome-launching steps (`awb setup`, `awb up`) are the least-tested part on Windows, and that tab and window tidying is skipped there. Sites can still detect and limit automation in a real profile. The README asks you to automate only accounts and sites you are entitled to, and to follow each site's terms. Screenshots and PDFs are written to a file path and the tool returns that path, not image data. Timings in the README come from one MacBook and will differ on other machines.

Who it suits

It suits a developer who wants an assistant to work inside sites where they are already signed in, including several accounts at once through separate Chrome profiles, without copying cookies or using a cloud browser. It runs on your machine and acts as you, so it is a poor fit when you want an isolated or throwaway browser, CI or headless runs on a server, or Linux as your main platform. A headless Playwright-style server is the better choice for those.

Tools 16

browser_status
Shows which profiles have a daemon running and the extension connected
browser_navigate
Opens a URL in the current tab or a new tab and returns the URL and tabId
browser_snapshot
Returns the page's accessibility tree with @e references for interactive elements
browser_click
Clicks an element by @e reference or CSS selector with a synthetic click
browser_trusted_click
Clicks with a real mouse event, by selector or x/y, for pages that ignore synthetic clicks
browser_fill
Types a value into an input, textarea or contenteditable field
browser_evaluate
Runs JavaScript in the page and returns the result
browser_screenshot
Saves a PNG or JPEG of the page or one element to a file and returns the path
browser_list_tabs
Lists open tabs with URL, title and tab group
browser_find_tab
Makes an already-open tab current, matched by its full URL
browser_close_tab
Closes one tab
browser_close_session
Closes every tab a session opened
browser_upload
Attaches local files to a file input
browser_file_chooser_intercept
Turns suppression of the operating system's file picker on or off
browser_network
Starts, stops, lists or details captured network requests
browser_save_as_pdf
Saves the current page as a PDF

Similar servers