browser-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BROWSER_MCP_DEBUG | No | If set to '1', enables debug logging. | |
| BROWSER_MCP_HEADED | No | If set to '1', shows the browser window (headed mode). Default is headless. | |
| BROWSER_MCP_E2E_DIR | No | Directory for exporting jsonl test cases. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_navigateA | Navigate to a URL. Must be called before other browser tools. Returns a compact page snapshot with interactive elements and ref IDs (like @e1, @e2) — no need to call browser_snapshot separately. Args: url: URL to navigate to session_id: Browser session ID (default: "default") |
| browser_snapshotA | Get a text snapshot of the current page's accessibility tree. Returns interactive elements with ref IDs (like @e1, @e2) for use with browser_click and browser_type. Args: session_id: Browser session ID full: If true, return full page content. If false (default), return only interactive elements (compact view). |
| browser_clickA | Click an element by its ref ID from the snapshot. Args: ref: Element reference like "@e5" or "@e12" from the snapshot session_id: Browser session ID |
| browser_typeA | Type text into an input field identified by its ref ID. Clears the field first, then types the new text. Args: ref: Element reference like "@e3" from the snapshot text: Text to type into the field session_id: Browser session ID |
| browser_pressB | Press a keyboard key. Args: key: Key to press (e.g., "Enter", "Tab", "Escape", "ArrowDown", "Control+a", "Meta+a") session_id: Browser session ID |
| browser_scrollA | Scroll the page up or down. Args: direction: "up" or "down" pixels: Number of pixels to scroll (default: 500) session_id: Browser session ID |
| browser_backB | Go back in browser history. Args: session_id: Browser session ID |
| browser_list_stepsA | 列出当前 session 缓冲区里已留痕的页面操作步骤。 每次调 browser_navigate/click/type/press/scroll/back 都会自动留痕。 用这个 tool 看看刚才干了哪些步骤,再决定导出哪些(配合 browser_export_steps 的 from_step 参数)。 Returns: 步骤列表,每行一个步骤:编号 + action + role+name + value |
| browser_export_stepsA | 把缓冲区的页面操作步骤导出成 jsonl 测试用例,同时保存登录态。 导出后清空缓冲区。以后回归时:让 agent Read 这个 jsonl, 用 browser state load 加载 auth.json,按步骤用 browser_navigate/click/type 重放 (用 role+name 定位,不用 ref),看当下 url/title 跟录制时一不一致自己判断对错。 Args: name: 用例名,文件名为 test_{name}.jsonl domain: 领域名(如 auth/task/file/cron/skill),作为子目录名 from_step: 从第几步开始导出(1-based),默认 1=全部。用 browser_list_steps 看编号后决定。 session_id: Browser session ID(用于保存登录态) |
| browser_visionA | Take a screenshot of the current page. Use this when you need to see what the page looks like visually — CAPTCHAs, complex layouts, or when the text snapshot is not enough. Args: session_id: Browser session ID full_page: If true, capture the full page (not just viewport) |
| browser_consoleA | Get browser console output or evaluate a JavaScript expression. Without expression: returns recent console.log/warn/error messages. With expression: evaluates the JS and returns the result. Args: session_id: Browser session ID expression: JavaScript expression to evaluate (optional) |
| browser_get_imagesA | List all images on the current page with their URLs and alt text. Args: session_id: Browser session ID |
| browser_get_network_logsA | Get network request logs from the current browser session. Returns captured HTTP requests with URL, method, status code, headers, resource type, and timing. Useful for discovering hidden APIs, debugging failed requests, and analyzing page load performance. Args: session_id: Browser session ID url_filter: Filter by URL pattern (e.g., "api", "json", ".js") method: Filter by HTTP method (e.g., "GET", "POST") status: Filter by status code (e.g., "200", "4xx", "404") resource_type: Filter by resource type (e.g., "xhr", "fetch", "document") |
| browser_get_response_bodyA | Get the full details of a specific network request, including response body. Use browser_get_network_logs first to find request IDs, then call this tool to see the complete request/response including body content. Args: request_id: The request ID from browser_get_network_logs (e.g., "39C8D9...") session_id: Browser session ID |
| browser_intercept_requestA | Intercept, block, or mock network requests matching a URL pattern. Use this to:
Args: url_pattern: URL pattern to match (e.g., "/api/*", "/analytics/*") action: "block" to abort matching requests, "mock" to return custom response response_body: JSON string for mock responses (only used when action="mock") session_id: Browser session ID |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/huaka1/browser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server