Browser Use
OFFICIAL SERVERLocal MCP server that drives a Chrome or Chromium browser step by step, with an agent fallback
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
Opens the app, which asks before it adds the server.
npm i -g agent-webbridge
awb setup "<PROFILE>"claude mcp add agent-webbridge -- npx -y agent-webbridge mcp{
"mcpServers": {
"agent-webbridge": {
"command": "npx",
"args": [
"-y",
"agent-webbridge",
"mcp"
]
}
}
}{
"mcpServers": {
"agent-webbridge": {
"command": "npx",
"args": [
"-y",
"agent-webbridge",
"mcp"
]
}
}
}{
"servers": {
"agent-webbridge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"agent-webbridge",
"mcp"
]
}
}
}[mcp_servers.agent-webbridge]
command = "npx"
args = ["-y", "agent-webbridge", "mcp"]gemini mcp add --scope user agent-webbridge npx -- -y agent-webbridge mcpAWB_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. |
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).
| Runtime | Node.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>"`).
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.
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.
browser_statusbrowser_navigatebrowser_snapshotbrowser_clickbrowser_trusted_clickbrowser_fillbrowser_evaluatebrowser_screenshotbrowser_list_tabsbrowser_find_tabbrowser_close_tabbrowser_close_sessionbrowser_uploadbrowser_file_chooser_interceptbrowser_networkbrowser_save_as_pdf