Auto-Browser
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| APP_ENV | No | Set to 'production' to enable stricter security requirements. | |
| GEMINI_API_KEY | No | API key for Google Gemini provider. | |
| OPENAI_API_KEY | No | API key for OpenAI provider. | |
| API_BEARER_TOKEN | No | The bearer token used to protect the controller API. | |
| CLAUDE_AUTH_MODE | No | Set to 'cli' to use subscription-backed CLI auth for Anthropic. | |
| GEMINI_AUTH_MODE | No | Set to 'cli' to use subscription-backed CLI auth for Gemini. | |
| MCP_TOOL_PROFILE | No | The tool surface to expose. Set to 'full' for the entire legacy/internal tool surface. Default is curated. | |
| OPENAI_AUTH_MODE | No | Set to 'cli' to use subscription-backed CLI auth instead of API keys. | |
| ANTHROPIC_API_KEY | No | API key for Anthropic/Claude provider. | |
| MCP_ALLOWED_ORIGINS | No | Comma-separated list of exact allowed origins for MCP browser clients. | |
| REQUIRE_OPERATOR_ID | No | Set to 'true' if every non-health request must carry an operator ID header. | |
| AUTO_BROWSER_BASE_URL | Yes | The base URL where the Auto Browser FastAPI server is running (e.g., http://127.0.0.1:8000/mcp). | |
| AUTH_STATE_ENCRYPTION_KEY | No | A 44-char Fernet key used for encrypting auth-state storage at rest. | |
| AUTO_BROWSER_BEARER_TOKEN | No | Bearer token for authenticating the bridge with the Auto Browser API. | |
| REQUIRE_AUTH_STATE_ENCRYPTION | No | Whether to force encryption for auth state files. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| resources | {
"subscribe": true
} |
| experimental | {
"autoBrowser": {
"workflowProfiles": [
"fast",
"governed"
],
"resumableAgentJobs": true,
"cancellableAgentJobs": true,
"discardableAgentJobs": true
}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser.create_session | Create a new browser session and optionally navigate to a start URL. |
| browser.save_memory_profile | Save a named memory profile with context from the current session. Loaded into future sessions via memory_profile=name in create_session. |
| browser.get_memory_profile | Retrieve a saved memory profile by name. |
| browser.list_memory_profilesA | List all saved memory profiles. |
| browser.list_sessions | List live and persisted browser sessions. |
| browser.get_session | Get the full record for one browser session by ID: the live session summary (status, current page, tabs) when the session is active, or the persisted session record when it has been closed. Use browser.list_sessions to discover session IDs. |
| browser.observe | Capture the current browser observation with screenshot, interactables, and perception summary. |
| browser.screenshot | Capture a lightweight screenshot for one session without the full observe payload. |
| browser.get_console | Read recent browser console messages for an active session. |
| browser.get_page_errors | Read recent uncaught page errors for an active session. |
| browser.get_request_failures | Read recent failed network requests for an active session. |
| browser.stop_trace | Finalize the current Playwright trace for an active session and return its artifact path. |
| browser.list_auth_profiles | List reusable saved auth profiles that can be loaded into a new session. |
| browser.get_auth_profile | Inspect one saved auth profile by name: its normalized name, on-disk profile directory, storage-state metadata, and any saved profile metadata. Profiles are created with browser.save_auth_profile and loaded into new sessions via browser.create_session; discover names with browser.list_auth_profiles. |
| browser.list_downloads | List files captured from browser downloads for one session. |
| browser.list_tabs | List currently open tabs/pages for one session. |
| browser.activate_tab | Bring one tab to the foreground so subsequent observations and actions target it. Tab indexes come from browser.list_tabs. Returns the activated index, the updated session summary, and the current tab list. |
| browser.close_tab | Close one tab index if more than one tab is open. |
| browser.execute_action | Execute one browser action (navigate, click, hover, type, press, select_option, scroll, …) in a session, using the same action schema the agent planner emits. Actions are policy-checked and audited, and governed actions may require a granted approval_id. Call browser.observe first to get targetable element IDs and selectors; returns the executed action's result payload. |
| browser.save_auth_profile | Save the current session storage state into a reusable named auth profile. |
| browser.request_human_takeover | Ask for a human to take over the shared browser desktop. |
| browser.close_session | Close a session and finalize its trace/artifacts. |
| harness.get_status | Read one convergence run record and current status. |
| harness.get_trace | Read the latest or selected trace for one convergence run. |
| harness.list_runs | List recent Agent Skill Induction convergence runs, newest first, with each run's ID, contract, provider, attempt count, and current status. Optionally filter by status (created, running, converged, unconverged, failed, over_budget). Feed run IDs into harness.get_status or harness.get_trace. |
| browser.readiness_check | Run a deployment readiness check. Returns pass/warn/fail for encryption, operator identity, bearer token, session isolation, Witness audit, host allowlist, PII scrubbing, and upload approval. Pass mode='confidential' for stricter checks. |
| browser.get_network_log | Return captured HTTP request/response entries for a session. Filtered by method (GET/POST/...) or URL substring. All sensitive headers and bodies are automatically PII-scrubbed. |
| browser.verify_witness | Verify the integrity of a session's Witness receipt hash chain. Walks every receipt, recomputes the chain, and reports the first divergent receipt if the log was altered, reordered, or truncated. |
| browser.fork_session | Fork a session: snapshot its cookies, storage state, and current URL, then create a new independent session with that state. Useful for branching workflows or running parallel variants. |
| browser.eval_js | Execute a JavaScript expression in the current page context and return the result. Use for DOM queries, value extraction, or lightweight scripting that has no dedicated tool. |
| browser.wait_for_selector | Wait for a CSS selector to reach a specific state (visible, hidden, attached, detached). Returns when the condition is met or raises on timeout. |
| browser.get_html | Get the HTML source of the current page. Set text_only=true to strip tags and return plain text. Set full_page=false (default) for visible viewport only. |
| browser.find_elementsA | Find all elements matching a CSS selector and return their text, href, value, bounding box, and visibility. Useful before clicking or scraping multiple items. |
| browser.drag_drop | Drag from one element or coordinate to another. Provide source_selector OR (source_x, source_y), and target_selector OR (target_x, target_y). |
| browser.set_viewport | Resize the browser viewport to the specified width and height. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Active Sessions | List of all active browser sessions |
| Recent Audit Events | Recent browser audit events across sessions |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LvcidPsyche/auto-browser'
If you have feedback or need assistance with the MCP directory API, please join our Discord server