chrome-agent-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CHROME_DEBUG_PORT | No | Chrome remote debugging port | 9222 |
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_tabsA | List, create, close, or switch browser tabs. Returns tabId for each tab — pass tabId to other tools to target a specific tab without switching. |
| browser_navigateB | Navigate to a URL in the specified tab (or active tab) |
| browser_navigate_backB | Go back in history for the specified tab |
| browser_navigate_forwardB | Go forward in history for the specified tab |
| browser_reloadA | Reload the page in the specified tab |
| browser_snapshotA | Capture accessibility snapshot of a page. Returns the page structure with element refs for interaction. Use instead of screenshots to find elements to click/type. IMPORTANT: refs go stale after any DOM change or navigation — always re-snapshot before clicking if the page may have changed. Supports targeting a specific tab via tabId. |
| browser_take_screenshotA | Take a screenshot of a page. Use browser_snapshot to find interactable elements instead. Supports targeting a specific tab via tabId. |
| browser_evaluateA | Evaluate JavaScript in a page context. IMPORTANT: top-level const/let/var declarations persist across calls — always wrap multi-statement code in an IIFE: (() => { const x = ...; return x; })(). Never use bare 'return' at top level. Max timeout: 10s — avoid setTimeout > 10000ms. Supports targeting a specific tab via tabId. |
| browser_clickA | Click on an element using its ref from browser_snapshot. Supports targeting a specific tab via tabId. |
| browser_typeB | Type text into an input element. Supports targeting a specific tab via tabId. |
| browser_hoverB | Hover the mouse over an element. Supports targeting a specific tab via tabId. |
| browser_press_keyB | Press a keyboard key in the specified tab. |
| browser_scrollB | Scroll the page or a specific element. Supports targeting a specific tab via tabId. |
| browser_select_optionB | Select an option in a element. Supports targeting a specific tab via tabId. |
| browser_fill_formC | Fill multiple form fields at once. Supports targeting a specific tab via tabId. |
| browser_wait_forA | Wait for text to appear on the page or wait a fixed duration. Max 10s per call — call multiple times for longer waits. If a previous attempt failed, do NOT increase wait time blindly; try a different action instead. Supports targeting a specific tab via tabId. |
| devtools_consoleA | Inspect the browser console for a tab. Start monitoring to capture future logs, then list or clear them. Equivalent to the DevTools Console panel. |
| devtools_networkA | Inspect network requests for a tab. Start monitoring to capture future requests, then list or clear them. Equivalent to the DevTools Network panel. |
| devtools_elementsA | Inspect DOM elements and computed CSS styles for a tab. Equivalent to the DevTools Elements panel. |
| devtools_storageB | Read or write browser storage for a tab: localStorage, sessionStorage, or cookies. Equivalent to DevTools Application > Storage panel. |
| chrome_windowsC | Manage Chrome browser windows. List all windows with their tabs, or focus a specific window. Each window groups multiple tabs. |
| chrome_focusA | Bring a specific Chrome tab into focus (activate it in the browser UI). |
| chrome_extensionsA | List installed Chrome extensions. |
| session_syncA | Sync Claude session name/color with Chrome tab group. 'rename': renames BOTH the Claude chat AND Chrome group automatically. 'color': maps a Claude Code color to Chrome group color and returns the /color command. 'detect': reads current Chrome group state and returns matching /rename + /color commands. |
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 24 tools
Most tools are clearly distinct action primitives (click, type, scroll, navigate, etc.), but there is overlap among browser_tabs, chrome_windows, and chrome_focus around tab/window switching. browser_snapshot and devtools_elements both expose page structure, though one is interaction-oriented and the other is inspection-oriented.
The tool names mostly follow a clear browser_<verb>, devtools_<panel>, or chrome_<noun> pattern, which makes the set predictable. browser_tabs is a noun-based multi-action tool rather than a verb-noun name, and session_sync breaks the prefix convention.
24 tools covers a broad browser-automation surface, but it is on the heavy end and includes very granular actions like navigate_back and navigate_forward that could have been combined. The count is justified by the inclusion of devtools and window management, yet it feels more like a toolkit than a focused MCP server.
The server covers core browser workflows well: tab lifecycle, navigation, page interaction, devtools inspection, storage, and window management. Minor gaps exist such as advanced network interception and drag-and-drop, but these can often be worked around with browser_evaluate.