cc-chrome
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CC_CHROME_BRIDGE_PORT | No | Bridge port. Must match the extension's hardcoded URL. | 17318 |
| CC_CHROME_SESSION_KEY | No | Session key scoping tabs/groups per agent session. | claude-code |
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 |
|---|---|
| chrome_launchC | Check the local bridge used by the companion Chrome extension. With url, opens it in the existing profile after connecting. |
| chrome_tabA | List, create, activate, close, group, ungroup, or inspect tabs in the user's existing Chrome profile. New/grouped tabs join this session's tab group. activate/close/group/ungroup require a target (targetId/urlIncludes/titleIncludes); with no target they act on this session's automation tab if one exists. |
| chrome_snapshotA | Inspect a page in the existing Chrome profile. Returns an agent-friendly observation with stable uids, visible actions, form fields, and page hints. Use mode/query/nearUid to zoom instead of dumping the whole page. |
| chrome_findB | Find matching controls/text/regions on the current Chrome page by query. Returns ranked matches with stable uids and coordinates. |
| chrome_inspectA | Inspect one snapshot uid or selector deeply: nearby text, nearby actions, form context, ancestors, and suggested click target. |
| chrome_navigateA | Navigate a Chrome tab to a URL. With no target, navigation goes to this session's dedicated automation tab — it never replaces the user's active tab. |
| chrome_evaluateB | Evaluate JavaScript in an existing Chrome tab. Runs in the page context and returns JSON-serializable values. |
| chrome_clickC | Click a snapshot uid, CSS selector, or viewport coordinate using Chrome's real input layer. |
| chrome_typeB | Focus an optional snapshot uid or CSS selector, then type using Chrome's real input. Set perCharacter=true for editors needing individual keydown events. |
| chrome_fillC | Set the full value of a text input, textarea, or contenteditable using Chrome click/select/delete/type input. |
| chrome_keyB | Send a keyboard key to an existing Chrome tab (Enter, Escape, Tab, Backspace, Delete, ArrowUp/Down/Left/Right, or one character). |
| chrome_wait_forB | Poll an existing Chrome tab until a selector exists or a JavaScript expression returns truthy. |
| chrome_list_console_messagesC | List console messages captured in the page by the companion extension. |
| chrome_list_network_requestsC | List fetch/XMLHttpRequest activity captured in the page by the companion extension. |
| chrome_get_network_requestB | Retrieve one captured fetch/XMLHttpRequest entry, including response body when available. |
| chrome_screenshotB | Capture a screenshot of a Chrome tab via CDP and save it to disk without activating background tabs. |
| chrome_hoverB | Hover over an element by uid, selector, or x/y using Chrome pointer movement. |
| chrome_dragC | Drag from one uid/selector/point to another using Chrome pointer input. |
| chrome_tapA | Dispatch a real touchstart/touchend tap through Chrome's input layer. Use for sites that gate on TouchEvent. |
| chrome_scrollA | Scroll the page or a specific scrollable element by dispatching real wheel events with momentum-shaped deltas. |
| chrome_upload_fileA | Attach local files to an element using Chrome DevTools file-input control. Does NOT open the native file picker. |
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
Tools are largely distinct, each targeting a specific action (click, type, fill, key, hover, drag, tap, scroll, etc.). Minor overlap exists between snapshot/find/inspect for element discovery and between fill/type for text input, but descriptions clearly differentiate them.
Most tools follow a chrome_verb_noun pattern (navigate, evaluate, click, type, wait_for, upload_file), but a few use bare nouns (tab, snapshot, launch) which breaks consistency. Mixed conventions but still readable and predictable.
21 tools is on the higher end for a server, but the breadth of Chrome automation (navigation, interaction, inspection, debugging, tab management) justifies the count. Slightly heavy but not excessive.
Covers a comprehensive set of browser automation capabilities: navigation, user input, element inspection, JavaScript evaluation, waiting, console/network monitoring, screenshots, file uploads, and tab management. Missing explicit cookie/storage controls, but these can be handled via evaluate.