@nxavis/agent-browser-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENT_BROWSER_PATH | No | Custom path to the agent-browser CLI if not in PATH |
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 to a URL in the browser |
| browser_go_backA | Navigate back in browser history |
| browser_go_forwardB | Navigate forward in browser history |
| browser_reloadB | Reload the current page |
| browser_clickB | Click on an element identified by selector or accessibility properties |
| browser_fillB | Fill a text input field with the specified value |
| browser_typeA | Type text character by character (useful for triggering key events) |
| browser_hoverC | Hover over an element |
| browser_scrollB | Scroll the page or an element |
| browser_selectC | Select an option from a dropdown |
| browser_checkA | Check a checkbox or radio button |
| browser_uncheckB | Uncheck a checkbox |
| browser_pressC | Press a keyboard key |
| browser_get_textA | Get text content from an element or the entire page |
| browser_get_htmlA | Get HTML content from an element or the entire page |
| browser_get_attributeB | Get an attribute value from an element |
| browser_get_urlB | Get the current page URL |
| browser_get_titleB | Get the current page title |
| browser_snapshotA | Get an accessibility tree snapshot of the page for AI-friendly element references |
| browser_is_visibleC | Check if an element is visible |
| browser_is_enabledC | Check if an element is enabled |
| browser_is_checkedB | Check if a checkbox/radio is checked |
| browser_screenshotC | Take a screenshot of the page or an element |
| browser_pdfB | Generate a PDF of the current page |
| browser_new_sessionB | Create a new isolated browser session |
| browser_close_sessionC | Close a browser session |
| browser_wait_for_selectorC | Wait for an element to appear in the page |
| browser_wait_for_navigationC | Wait for navigation to complete |
| browser_get_cookiesC | Get cookies from the browser |
| browser_set_cookiesB | Set cookies in the browser |
| browser_clear_cookiesB | Clear all cookies |
| browser_evaluateB | Execute JavaScript code in the browser context |
| browser_get_consoleC | Get console messages from the browser |
| browser_get_networkB | Get network requests made by the browser |
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 34 tools
Each tool targets a distinct browser action or query, with clear separation between navigation, interaction, extraction, session, and diagnostic tools. Slight overlaps like fill vs type are clearly differentiated by behavior, and get_text vs get_html vs snapshot have distinct outputs.
All tools uniformly use the browser_ prefix and snake_case with action-oriented verbs. The mix of get_* and direct verbs is consistent with the domain, and patterns like wait_for_* and is_* follow predictable conventions.
At 34 tools, the set exceeds the 25+ threshold for 'too many'. While each tool serves a purpose, several could be consolidated (e.g., is_visible/enabled/checked into a single state query, or get_text/html/attribute into a content extractor), making the surface heavier than necessary.
The tools cover the full browser automation lifecycle: navigation, interaction, content extraction, waiting, session management, cookies, JavaScript execution, and diagnostics (console/network). Minor gaps like file upload/download are non-core and do not create dead ends.