Local Browser MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOCAL_BROWSER_ENGINE | No | chromium (recommended) | firefox | webkit | chromium |
| LOCAL_BROWSER_ALLOW_ALL | No | true allows any http/https host | false |
| LOCAL_BROWSER_ALLOWED_HOSTS | No | Comma-separated navigation allowlist | localhost,127.0.0.1 |
| LOCAL_BROWSER_SKIP_BROWSER_DOWNLOAD | No | 1 to skip the Chromium download on install |
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 |
|---|---|
| navigateA | Navigate the browser to a local dev URL (validated against the localhost allowlist). |
| screenshotB | Capture a screenshot of the current page (optionally full page or a single element). Use format 'jpeg' (with optional quality 1-100) for a lighter, faster capture; 'png' (default) is lossless. |
| snapshotA | Return a flat accessibility/DOM snapshot (tag, role, text, ref) for element targeting. Use a returned |
| clickB | Click an element by CSS selector or by a ref from snapshot. |
| hoverA | Hover the mouse over an element (by CSS selector or snapshot ref) — e.g. to open a dropdown menu. |
| fillC | Fill an input/textarea identified by a CSS selector with the given value. |
| typeB | Type text using the keyboard into the currently focused element. |
| press_keyA | Press a key or chord on the keyboard (e.g. "Enter", "Tab", "Escape", "ArrowDown", "Control+A"). Useful to submit forms or navigate without a mouse. |
| evalA | Evaluate a JavaScript expression in the page context and return the JSON-serializable result. Runs with the page's full privileges — the client's own per-tool approval is the gate. |
| consoleA | Return buffered console messages (log/warn/error) captured from the page. |
| networkA | Return recent network requests (method, url, status, resourceType). |
| wait_forC | Wait for a selector to become visible, for text to appear, or for a short delay. |
| resizeB | Resize the page viewport. |
| reloadB | Reload the current page. |
| backB | Navigate back in history. |
| forwardA | Navigate forward in history. |
| get_textB | Return the visible text content of the page body. |
| tabsA | List open tabs (index, url, title, and which is active). |
| new_tabA | Open a new tab (optionally navigating to a URL) and make it active. Returns the updated tab list. |
| switch_tabB | Switch the active tab by index (see |
| close_tabA | Close a tab by index, or the active tab if no index is given. Returns the updated tab list. |
| dialogsA | Return JS dialogs (alert/confirm/prompt/beforeunload) the page has raised, and how each was handled. |
| set_dialog_behaviorA | Set how JS dialogs are auto-handled: 'accept' (default) or 'dismiss'. beforeunload is always dismissed. |
| downloadsA | List files downloaded during this session (url, filename, saved path). |
| list_allowedA | List the hosts the browser may navigate to, and whether all hosts are allowed. |
| allow_hostA | Add a host (e.g. "github.com") to the navigation allowlist for this session. The client's own per-tool approval is the gate. |
| disallow_hostB | Remove a host from the navigation allowlist. |
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 27 tools
Each tool targets a distinct browser action (navigation, interaction, inspection, tab management, dialogs, downloads, allowlist). No significant overlap; `snapshot` vs `get_text` and `fill` vs `type` are clearly differentiated.
All tools use lowercase_with_underscores, with action-oriented verbs (e.g., `navigate`, `click`, `wait_for`, `new_tab`). Consistent pattern throughout.
With 27 tools, the server exceeds the recommended range. While the breadth is comprehensive, it pushes into the 'too many' territory, risking agent confusion and maintenance overhead.
The tool set covers core browser operations well, but lacks explicit tools for URL retrieval, scrolling, and cookie management. However, `eval` can work around these gaps, so coverage is mostly complete.