Agent Browser Bridge MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ABB_PORT | No | The port used by the local hub (default 127.0.0.1:9333). Use a different port, e.g. ABB_PORT=9444, to run an alternate hub; must match the extension's options page. | |
| ABB_CLIENT_ID | No | Identifier for this agent/client so that multiple agents can share one Chrome hub while each keeping its own tab group pointer. Example: "claude". |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_statusA | Check whether the Chrome bridge is connected and which extension version is loaded. Use this first when another browser tool fails. |
| browser_tabsA | List open tabs, including the tab group each belongs to. With groupOnly=true, list only the active task group. |
| browser_openA | Navigate the task tab (or the active tab) to a URL and wait for load. |
| browser_textB | Read the visible text of the target tab. Cheapest way to understand a page. |
| browser_htmlA | Read the raw HTML of the target tab (truncated). Use when text is not enough. |
| browser_snapshotA | Accessibility tree of the target tab as text. Best for locating elements to click or type into. |
| browser_screenshotA | PNG screenshot of the target tab. Use sparingly — prefer snapshot or text for locating elements. |
| browser_clickA | Click an element by CSS selector or exact visible text. Shows the on-page cursor first. |
| browser_typeB | Set the value of an input/textarea by CSS selector and fire input/change events. |
| browser_press_keyC | Send a key press to the target tab (Enter, Tab, Escape, ArrowUp/Down, Backspace, or any key name). |
| browser_wait_forC | Wait until a CSS selector exists in the target tab. |
| browser_scrollB | Scroll the target tab by whole viewport pages. |
| browser_evalA | Run JavaScript in the target tab and return the value. Powerful escape hatch; prefer the specific tools when they fit. |
| browser_uploadB | Attach local files to a file input identified by CSS selector. |
| browser_tab_newC | Open a new tab. It joins the active task group automatically. |
| browser_tab_selectC | Activate a tab by id or by index from browser_tabs. |
| browser_tab_closeA | Close a tab by id or index. Without arguments closes the task tab. |
| browser_group_beginA | Start a task: create a named Chrome tab group and make it the target for every later call. One group per task. |
| browser_group_endB | Finish the current task: stop targeting its group. Tabs stay open unless closeTabs=true. |
| browser_groupsA | List tab groups and which one this agent is currently working in. |
| browser_visual_cursorB | Toggle the on-page cursor overlay. Defaults: enabled, and silent while the tab is hidden or Chrome is in the background. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
The four read tools (browser_text, browser_html, browser_snapshot, browser_screenshot) overlap conceptually, but the descriptions give clear cost/fidelity tradeoffs that make selection straightforward. Tab lifecycle (browser_open vs browser_tab_new/select/close) and group management (browser_groups vs browser_group_begin/end) are separated well, with only mild ambiguity between browser_open on the task tab and creating a new tab.
All 21 tools use a uniform snake_case browser_ prefix. The only deviation is internal ordering: verb-first (browser_open, browser_click), noun-only readers (browser_text, browser_snapshot), and noun-verb hybrids (browser_tab_new, browser_group_begin), which slightly weakens predictability but stays readable.
At 21 tools this is on the heavy side, but a full browser-control surface legitimately needs navigation, multiple read modes, input primitives, and tab/group management. A few entries are niche (browser_visual_cursor, browser_screenshot), yet nothing looks like a duplicate of another tool.
The surface covers the core agent browsing loop: navigate, read, locate, click/type/press, wait, scroll, upload, and JS escape hatch, plus tab and task-group lifecycle. Minor gaps remain for common web interactions such as hover, select-option handling, history navigation (back/forward/reload), and iframe targeting, which agents would need browser_eval to work around.