stealth-agent-browser-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | debug, warn, etc. Always writes to stderr. | info |
| SAB_LOCALE | No | Locale setting. | en-US |
| SAB_HEADLESS | No | false for a visible window (debugging). | true |
| SAB_TIMEZONE | No | Timezone setting. | America/New_York |
| SAB_PROXY_POOL | No | Residential pool. Comma-separated URLs (http://u:p@host:port,...) or a JSON array of {server, username, password}. | |
| SAB_VIEWPORT_H | No | Viewport height. | 768 |
| SAB_VIEWPORT_W | No | Viewport width. | 1366 |
| SAB_HUMAN_MOUSE | No | Bezier-path click with pre-click hesitation. Defeats Datadome trajectory analysis. | true |
| SAB_PROXY_SERVER | No | Single-proxy mode. e.g. http://host:port | |
| SAB_MAX_ANNOTATED | No | Max labelled boxes in hybrid mode. | 75 |
| SAB_STEALTH_LEVEL | No | off | patched | paranoid. | patched |
| SAB_USER_DATA_DIR | No | Persistent profile directory (cookies build reputation). | |
| SAB_PROXY_PASSWORD | No | Password for proxy authentication. | |
| SAB_PROXY_ROTATION | No | per-session | per-restart | static. | per-restart |
| SAB_PROXY_USERNAME | No | Username for proxy authentication. | |
| SAB_CAPTCHA_API_KEY | No | Provider API key. | |
| SAB_CAPTCHA_PROVIDER | No | capsolver | twocaptcha | none. | none |
| SAB_DEFAULT_TIMEOUT_MS | No | Per-action timeout. | 15000 |
| SAB_PROXY_STICKY_TEMPLATE | No | Username template for sticky-IP providers. ${sessionId} interpolates. Example: brd-customer-c1-zone-res-session-${sessionId}. |
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 active session's page to a URL. Returns a snapshot (default: aom-only, cheapest). |
| browser_snapshotA | Take a snapshot of the current page. 'aom' returns the accessibility YAML (token-lean); 'hybrid' adds a Set-of-Mark screenshot with numeric red boxes matching each ref. |
| browser_clickB | Click an element addressed by its ref. When SAB_HUMAN_MOUSE=true (default), the cursor travels via a Bezier path with pre-click hesitation — this defeats trajectory analyzers like Datadome that flag teleporting mice. |
| browser_typeB | Type into an input or textarea addressed by ref. |
| browser_selectC | Select one or more options in a addressed by ref. |
| browser_scroll_readA | Scroll and return a Readability-extracted Markdown view. With deltaOnly=true, returns '(no change)' if nothing new became visible — keeps context windows lean. |
| browser_wait_forB | Wait until either some text appears on the page or a given ref resolves to a visible element. |
| browser_tabsC | Manage browser tabs: list, new, close, switch. |
| browser_evalA | Evaluate a JS EXPRESSION in the page's MAIN execution world. Observable by page scripts; use sparingly. Prefer AOM + action tools. |
| browser_set_proxyB | Update the proxy config. Call 'browser_restart' after this for the change to take effect (browser-level constraint — an existing context cannot be re-routed). |
| browser_restartA | Close the active browser session and start a fresh one with the current config. Required after 'browser_set_proxy' to actually route new requests through the proxy. |
| browser_set_proxy_poolA | Replace the residential proxy pool at runtime. Takes effect on the next 'browser_restart'. Supports sticky sessions via SAB_PROXY_STICKY_TEMPLATE. |
| browser_solve_captchaB | Fallback captcha solver. Detects Turnstile/hCaptcha/reCAPTCHA on the current page (or takes an explicit sitekey), submits to the configured provider (CapSolver or 2Captcha per SAB_CAPTCHA_PROVIDER + SAB_CAPTCHA_API_KEY), polls for a token, and injects it into the widget's response field. |
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 13 tools
Each tool targets a distinct action: scrolling, waiting, navigation, snapshot, clicking, typing, selecting, tab management, JS evaluation, proxy configuration, and captcha solving. No overlapping purposes.
Tools consistently use the browser_ prefix with verb or verb+noun patterns (e.g., browser_navigate, browser_set_proxy). The exception is browser_tabs (noun) which deviates slightly but remains clear.
13 tools cover the core browser automation tasks without being excessive. Each tool has a clear role, and the count is well-scoped for the server's purpose.
Covers navigation, interaction, proxy management, and captcha solving comprehensively. Minor gaps exist, such as missing back/forward navigation or visual screenshot (snapshot returns AOM only), but most workflows are supported.