real-browser-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WS_PORT | No | WebSocket port for extension connection | 7225 |
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_navigateB | Navigate to a URL in the active browser tab |
| browser_clickC | Click an element on the page using a ref from snapshot or a CSS selector |
| browser_typeC | Type text into an input element |
| browser_scrollB | Scroll the page or an element. Supports pixel offsets, scrolling to elements, and named positions (top/bottom). Works with virtual scroll containers used by social media sites. |
| browser_press_keyB | Press a keyboard key or combination (Enter, Escape, Tab, ArrowDown, etc). Supports modifiers like Ctrl+A, Cmd+C. |
| browser_waitB | Wait for a condition: element to appear, element to disappear, or a fixed delay. Useful for SPAs and dynamic content. |
| browser_snapshotA | Get an accessibility tree snapshot of the page. Returns element refs you can use with click, type, and other tools. Use compact mode (default) for smaller output - only interactive elements. |
| browser_screenshotC | Capture a screenshot of the visible page area |
| browser_consoleC | Read console messages (log, warn, error) from the browser |
| browser_networkB | Read network requests made by the page. Filter by URL pattern. |
| browser_tabsC | Manage browser tabs: list, create, close, or focus |
| browser_findA | Find elements on the page using natural language (e.g. "login button", "search input"). Returns refs you can use with click/type. |
| browser_textC | Extract raw text content from the page or a specific element |
| browser_hoverC | Hover over an element to trigger tooltips, dropdown menus, or hover states |
| browser_selectC | Select an option from a dropdown/select element |
| browser_evaluateA | Execute JavaScript in the page and return the result. Use for DOM queries, reading page state, or any operation not covered by other tools. |
| browser_click_textA | Click an element by its visible text content. Works on React dropdowns, portals, and overlays that may not appear in snapshots. CSP-safe (no eval). Prefers deepest matching element. |
| browser_handle_dialogA | Handle JavaScript dialogs (alert, confirm, prompt). Dialogs block page interaction until handled. |
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 18 tools
Each tool has a clearly distinct purpose with no ambiguity; for example, browser_click targets elements via refs or selectors, browser_click_text uses visible text, browser_find uses natural language, and browser_evaluate handles JavaScript execution, ensuring agents can easily differentiate them. Overlap is minimal, such as browser_click and browser_click_text serving similar functions but with distinct methods, and descriptions clarify boundaries to prevent misselection.
All tool names follow a consistent 'browser_' prefix with snake_case and descriptive verb_noun patterns, such as browser_navigate, browser_screenshot, and browser_wait, making them predictable and readable. There are no deviations in naming conventions, which aids in agent comprehension and reduces confusion.
With 18 tools, the set is well-scoped for browser automation, covering essential actions like navigation, interaction, and monitoring without being excessive. Each tool earns its place by addressing specific needs in the domain, such as browser_network for requests and browser_handle_dialog for dialogs, avoiding redundancy or gaps.
The tool surface provides complete coverage for browser automation, including navigation, interaction (click, type, hover), state monitoring (console, network), and utilities (screenshot, wait). There are no obvious gaps; tools like browser_tabs manage tabs and browser_scroll handle virtual containers, ensuring agents can handle dynamic content and complex workflows without dead ends.