dev-browser-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEV_BROWSER_BIN | No | Override the bundled dev-browser CLI path | |
| DEV_BROWSER_BROWSER | No | Named daemon browser instance | default |
| DEV_BROWSER_CONNECT | No | auto / true to attach to Chrome, or a CDP URL | |
| DEV_BROWSER_TIMEOUT | No | Script timeout in seconds | 30 |
| DEV_BROWSER_HEADLESS | No | true to launch Chromium without a window | |
| DEV_BROWSER_IDLE_TIMEOUT | No | Close idle launched browsers, e.g. 5m | |
| DEV_BROWSER_SKIP_CHROMIUM | No | true to skip postinstall / auto Chromium setup | |
| DEV_BROWSER_IGNORE_HTTPS_ERRORS | No | true for self-signed certs |
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
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dev_browser_runA | Run a sandboxed JavaScript script against a persistent browser (SawyerHood/dev-browser). This is the main tool. Prefer it whenever you need more than a single navigation/click/fill. Sandbox is QuickJS, not Node.js: no require/import/fs/fetch/process. Available: browser.getPage(nameOrId), browser.newPage(), browser.listPages(), browser.closePage(name) saveScreenshot(buf, name), writeFile(name, data), readFile(name), console.*, setTimeout Pages are Playwright Page objects (goto, click, fill, locator, evaluate, screenshot, snapshotForAI, getByRef, getByRole, waitForSelector, waitForURL, cua, domCua). Write small scripts. Named pages persist. End with console.log of the next-decision state. On local dev servers use { waitUntil: "domcontentloaded" }. |
| dev_browser_list_pagesA | List named pages and open browser tabs: [{id, url, title, name}]. |
| dev_browser_page_openA | Get or create a named page (or attach to a tab by targetId from list_pages) and return url/title. |
| dev_browser_close_pageB | Close and unregister a named page. |
| dev_browser_gotoA | Navigate a named page to a URL. Prefer waitUntil=domcontentloaded for local dev servers. |
| dev_browser_snapshotB | Return an AI-friendly accessibility snapshot. Use refs like e12 with getByRef in a later run, or pass snapshotRef to click/fill/type. |
| dev_browser_screenshotA | Take a PNG screenshot of a named page and return the image plus the saved path under ~/.dev-browser/tmp/. |
| dev_browser_clickC | Click an element by CSS selector or snapshotRef from dev_browser_snapshot (e.g. e12). |
| dev_browser_fillB | Fill an input by CSS selector or snapshotRef. Replaces existing value. |
| dev_browser_typeC | Type into an element character by character, by CSS selector or snapshotRef. |
| dev_browser_evaluateB | Evaluate JavaScript in the page. Pass a browser-side expression or statements. |
| dev_browser_wait_for_selectorC | Wait until a selector reaches the given state on a named page. |
| dev_browser_statusA | Show the dev-browser daemon status, idle timeout, and managed browsers. |
| dev_browser_browsersA | List daemon-managed browser instances and their named pages. |
| dev_browser_stopA | Stop the dev-browser daemon and close every browser it launched. |
| dev_browser_installA | Install the Playwright Chromium build used by daemon-launched browsers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| script-api | Sandbox globals, Playwright helpers, and recommended script patterns. |
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/kamkozlowski/dev-browser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server