browsermcp-plus
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | WebSocket port (default 9009). Can also be set with --port <number>. | |
| VERBOSE | No | Debug logging on stderr. Can also be set with --verbose. | |
| NO_TAKEOVER | No | Don't ask a running server to hand over the port. Can also be set with --no-takeover. | |
| ALLOW_ORIGIN | No | Extra extension origins allowed to connect. Can also be set with --allow-origin <origin...>. | |
| KILL_EXISTING | No | Terminate a non-cooperating process on the port. Can also be set with --kill-existing. | |
| REQUEST_TIMEOUT | No | Timeout for a single browser action in milliseconds (default 30000). Can also be set with --request-timeout <ms>. | |
| SNAPSHOT_MAX_CHARS | No | Truncate large snapshots (0 = never, default). Can also be set with --snapshot-max-chars <n>. | |
| NO_ACTION_SNAPSHOTS | No | Don't append a snapshot to action results. Can also be set with --no-action-snapshots. |
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 |
|---|---|
| browser_navigateA | Navigate the connected tab to a URL. A missing scheme defaults to https:// (http:// for localhost). |
| browser_go_backB | Go back to the previous page |
| browser_go_forwardC | Go forward to the next page |
| browser_reloadA | Reload the current page by navigating to its current URL |
| browser_snapshotA | Capture accessibility snapshot of the current page. Use this for getting references to elements to interact with. Pass a ref to see only that part of the page. |
| browser_findA | Search the page snapshot for text (case-insensitive) and return only the matching elements with their refs and position in the page. Much smaller than a full snapshot. |
| browser_clickA | Click an element. Fails with an explanation if the element is disabled or covered by another element (e.g. a cookie banner). |
| browser_hoverC | Hover over element on page |
| browser_typeA | Type text into an editable element, replacing its content. To fill several fields at once, prefer browser_fill_form. |
| browser_select_optionC | Select an option in a dropdown |
| browser_dragC | Perform drag and drop between two elements |
| browser_press_keyA | Press a key or shortcut, e.g. |
| browser_waitB | Wait for a specified time in seconds |
| browser_wait_forA | Wait until text appears on (or disappears from) the page's accessibility snapshot, then return the snapshot |
| browser_get_console_logsB | Get the console logs from the browser |
| browser_screenshotA | Take a screenshot of the visible part of the current page |
| browser_fill_formA | Fill several form fields in one call: text fields, checkboxes, radio buttons, native dropdowns and sliders. Faster and more reliable than separate typing and clicking. |
| browser_handle_dialogA | Accept or dismiss the JavaScript dialog (alert, confirm, prompt, beforeunload) that is blocking the page |
| browser_file_uploadA | Upload local files through a file input. |
| browser_evaluateA | Run JavaScript in the page and return the JSON-serialisable result. Pass a function: |
| browser_scrollA | Scroll the page with the mouse wheel by a number of pixels, or scroll an element from the snapshot into view |
| browser_tab_listA | List open browser tabs. Your tab is marked connected; tabs used by other agents are marked and cannot be selected. |
| browser_tab_newA | Open a new tab, optionally at a URL, and make it the connected tab |
| browser_tab_selectA | Work in another tab (ids from browser_tab_list). Tabs used by other agents cannot be selected. |
| browser_tab_closeA | Close a tab (default: the connected one). Closing the connected tab connects the tab that becomes active. |
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 25 tools
Most tools map to clearly distinct browser actions (navigation, interaction, tabs, waiting, inspection) with little overlap. Pairs like browser_type vs browser_fill_form and browser_wait vs browser_wait_for are differentiated by their descriptions, but the high tool count creates minor potential for confusion.
All 25 tools use a consistent browser_ prefix and snake_case, following a predictable verb or noun pattern (e.g., browser_navigate, browser_tab_close, browser_get_console_logs). No mixed conventions are present.
25 tools is on the heavy side for a browser automation server. While each tool has a purpose, several could be consolidated (e.g., wait/wait_for, type/fill_form), placing the count in the borderline-heavy range per the rubric.
The surface covers core browser lifecycle actions: navigation, tab management, interaction, waiting, screenshots, console logs, JS evaluation, and dialog handling. Minor gaps like direct URL/title access or network/cookie management exist but are workaroundable via browser_evaluate.