BrowserAgent
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_statusA | List this MCP Chrome, peers, orphans, and closed instances. Does not open Chrome. |
| browser_openB | Open this MCP Chrome. Safe when already open. |
| browser_closeA | Close this MCP Chrome and mark it closed in the registry. |
| browser_reapA | Kill leftover Chrome whose MCP agent is gone. |
| browser_new_tabB | Open a new tab. Pass url to navigate. Opens Chrome first if needed. |
| browser_close_tabA | Close a tab by id from browser_status. Refuses to close the last tab. |
| browser_switch_tabA | Switch this MCP Chrome to the tab id from browser_status. |
| observeA | Read the page. Prefer run_flow with name/role/near. detail=outline for labels, detail=full for a screenshot. |
| clickC | Click the element identified by uid. |
| typeB | Type text into the element identified by uid. |
| hoverB | Hover over the element identified by uid. |
| scrollB | Scroll by dx/dy within the element identified by uid. |
| selectC | Select a value in the element identified by uid. |
| pressC | Press a key on the page. |
| navigateC | Navigate the page to a URL. |
| watch_untilB | Poll the page until a condition matches or the timeout elapses. |
| compile_flowA | Compile a run_flow against the live outline. Fills uids. A name must bind uniquely or this returns candidates. Does not act. |
| run_flowA | Run a named sequence. Prefer name (role/near) over uid. A name must bind uniquely. Re-resolves after click/navigate. Optional expectUrl/expectText poll. Call once instead of observe-per-page. |
| verifyC | Assert a condition against the current snapshot and return evidence. |
| explainB | Explain a uid, region, or diff with a summary and annotation. |
| confirm_actionC | Ask the user to confirm a potentially destructive action. |
| list_callsA | List recent MCP tool calls with durationMs and resultBytes. |
| get_taskB | Get a task by id (Tasks extension fallback). |
| list_tasksB | List every task in the store (Tasks extension fallback). |
| cancel_taskB | Cancel a working task (Tasks extension fallback). |
| wait_taskB | Block until a task reaches a terminal state or the timeout elapses. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| browser-events | |
| browser-replay |
TDQS
Scored across 26 tools
Each tool targets a distinct function: lifecycle, tabs, page interactions, flows, verification, and task management. Even similar operations like observe and watch_until differ in immediate read vs. polling. No overlapping purposes that would cause misselection.
Naming follows a mixed convention: browser_ prefix for lifecycle/tab tools, single verbs for actions (observe, click, type), and verb_noun for flows/tasks (compile_flow, get_task). While readable, the inconsistency is noticeable and could be more uniform (e.g., all verb_noun).
At 26 tools, the set is on the heavier side, slightly exceeding the typical well-scoped range. The breadth is justified by the broad scope of browser automation, but it could benefit from consolidation (e.g., merging task fallback tools) to stay under 25.
The surface covers lifecycle, tab management, element interaction, navigation, flow execution, verification, and task handling. Minor gaps like explicit page reload or download handling exist, but most workflows are supported without dead ends.