Chrome MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | Port for the MCP server | 7890 |
| MCP_TOKEN | No | If set, requires Authorization: Bearer token for /mcp | |
| MCP_EXT_TOKEN | No | Token required for non-extension WebSocket clients | |
| MCP_CALL_TIMEOUT | No | Timeout for MCP calls in milliseconds | 120000 |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| wb_statusA | Check WebBridge daemon + browser extension connection. Call first if unsure whether the bridge is ready. |
| wb_navigateA | Open or navigate to a URL in the real browser. First call of a task should pass group_title. Use newTab:true when pages should coexist. |
| wb_go_backB | Browser history back (Claude-in-Chrome style navigation helper). |
| wb_go_forwardC | Browser history forward. |
| wb_reloadA | Reload the current page. hard:true bypasses cache when CDP allows. |
| wb_find_tabA | Select a session tab by exact URL or tabId resolved to unique URL. Never navigates on failure. Duplicate URLs require upstream ID support. |
| wb_list_tabsA | List tabs belonging to the current session (tab group). |
| wb_close_tabB | Close the current tab in the session. |
| wb_close_sessionA | Close ALL tabs in the session/group. Only when the user asks to clear agent tabs. |
| wb_snapshotA | Accessibility tree with @e refs (like Claude read_page). Prefer before click/fill. |
| wb_get_textA | Extract visible page text (like Claude get_page_text). Better than full snapshot for articles. |
| wb_findA | Search the accessibility tree by text/role (like Claude find). Returns matching @e refs when present. |
| wb_waitB | Wait until text appears, CSS selector matches, or document is ready (timeout). |
| wb_clickB | Click a unique actionable target. Auto uses CDP in visible tabs, DOM in hidden tabs. Optional expect verifies the result. Auto-follow requires opener evidence. |
| wb_dblclickA | Double-click a unique actionable element. Auto uses CDP on visible tabs and synthetic DOM input on hidden tabs; mode is reported. |
| wb_hoverB | Hover/mouseover an element (@e or CSS). Useful for menus and tooltips. |
| wb_fillB | Clear-and-fill input/textarea/contenteditable. selector = @e or CSS. |
| wb_typeB | Insert text at the target's caret without replacing existing text, via CDP. Verify the result separately. |
| wb_selectB | Set native select option values and verify selection. Does not support custom dropdown widgets. |
| wb_checkB | Set checkbox/radio state idempotently and verify it. Does not blindly toggle. |
| wb_dragA | Pointer drag between two unique elements using CDP. Requires both targets visible together; HTML5 DataTransfer is not synthesized. |
| wb_press_keyC | Press a key or combo on the focused element (e.g. Enter, Escape, Tab, Control+A). Like Claude press_key. |
| wb_scrollB | Scroll page or element into view. direction: up|down|left|right, or x/y deltas, or selector/@e into view. |
| wb_evaluateB | Run JavaScript in the page. Prefer compact JSON.stringify returns. Wrap multi-call state in an IIFE. |
| wb_screenshotA | Screenshot current tab (or selector), with bounded retries and image preview. Original file is preserved; oversized images get resized JPEG previews with dimensions. |
| wb_networkB | Capture/list network requests. cmd: start | stop | list | detail. |
| wb_consoleA | Capture page console / errors (Claude-style). cmd: start (install interceptor) | list | clear | stop. |
| wb_uploadA | Set files on a file input element. files must be absolute local filesystem paths (not http/data URLs). Page must already show . |
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 28 tools
Most tools target clearly distinct actions (navigate, click, fill, scroll, screenshot, network, console). A few pairs are close—wb_fill vs wb_type (replace vs insert) and wb_snapshot vs wb_get_text vs wb_find—but descriptions explicitly disambiguate them, and wb_close_tab vs wb_close_session differ in scope.
Uniform wb_ prefix and predominantly verb_noun patterns (wb_navigate, wb_click, wb_find_tab, wb_close_session). Minor deviations: wb_status, wb_snapshot, and wb_screenshot are noun-style rather than verb-first, but the convention remains predictable overall.
28 tools is on the heavy side of the rubric, though browser automation is a genuinely broad domain. Most tools earn their place (navigation, tabs, read, interact, observe), but lower-frequency ones like wb_dblclick, wb_hover, and wb_drag push the surface toward bloat.
Strong coverage of the browser lifecycle: navigate/history/reload, tab and session management, reading (snapshot/text/find), full interaction set, plus network, console, screenshot, and upload. Gaps remain for cookies/storage, download handling, JS dialog/alert handling, and iframe targeting, which agents may hit in real workflows.