Home › Browser Automation & Scraping › browser-devtools-mcp
browser-devtools-mcp
Playwright browser & Node.js MCP. ARIA refs, screenshots, ref-based interactions.
Topics: Browser Automation
Connect
Review any command before running it. Package names and URLs come from the server's own registry entry.
Remote (streamable-http)
https://{your_mcp_server_host}/mcp
Claude Code:
claude mcp add --transport http browser-devtools-mcp https://{your_mcp_server_host}/mcp
Or add to your MCP client config:
{
"mcpServers": {
"browser-devtools-mcp": {
"url": "https://{your_mcp_server_host}/mcp"
}
}
}
Package (npm 0.9.1)
npx -y [email protected]
Or add to your MCP client config:
{
"mcpServers": {
"browser-devtools-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"PLATFORM": "<YOUR_VALUE>",
"PORT": "<YOUR_VALUE>",
"SESSION_IDLE_SECONDS": "<YOUR_VALUE>",
"SESSION_IDLE_CHECK_SECONDS": "<YOUR_VALUE>",
"SESSION_CLOSE_ON_SOCKET_CLOSE": "<YOUR_VALUE>",
"CONSOLE_MESSAGES_BUFFER_SIZE": "<YOUR_VALUE>",
"HTTP_REQUESTS_BUFFER_SIZE": "<YOUR_VALUE>",
"BROWSER_SERVER_INSTRUCTIONS_ENABLE": "<YOUR_VALUE>",
"BROWSER_POLICY_UI_DEBUGGING_ENABLE": "<YOUR_VALUE>",
"BROWSER_HEADLESS_ENABLE": "<YOUR_VALUE>",
"BROWSER_PERSISTENT_ENABLE": "<YOUR_VALUE>",
"BROWSER_CDP_ENDPOINT_URL": "<YOUR_VALUE>",
"BROWSER_CDP_ENABLE": "<YOUR_VALUE>",
"BROWSER_CDP_OPEN_INSPECT": "<YOUR_VALUE>",
"BROWSER_PERSISTENT_USER_DATA_DIR": "<YOUR_VALUE>",
"BROWSER_USE_INSTALLED_ON_SYSTEM": "<YOUR_VALUE>",
"BROWSER_EXECUTABLE_PATH": "<YOUR_VALUE>",
"BROWSER_CHROMIUM_SANDBOX": "<YOUR_VALUE>",
"BROWSER_LAUNCH_ARGS": "<YOUR_VALUE>",
"BROWSER_ALLOWED_DOMAINS": "<YOUR_VALUE>",
"BROWSER_LOCALE": "<YOUR_VALUE>",
"OTEL_ENABLE": "<YOUR_VALUE>",
"OTEL_SERVICE_NAME": "<YOUR_VALUE>",
"OTEL_SERVICE_VERSION": "<YOUR_VALUE>",
"OTEL_ASSETS_DIR": "<YOUR_VALUE>",
"OTEL_INSTRUMENTATION_USER_INTERACTION_EVENTS": "<YOUR_VALUE>",
"OTEL_EXPORTER_TYPE": "<YOUR_VALUE>",
"OTEL_EXPORTER_HTTP_URL": "<YOUR_VALUE>",
"OTEL_EXPORTER_HTTP_HEADERS": "<YOUR_VALUE>",
"AWS_REGION": "<YOUR_VALUE>",
"AWS_PROFILE": "<YOUR_VALUE>",
"AMAZON_BEDROCK_ENABLE": "<YOUR_VALUE>",
"AMAZON_BEDROCK_IMAGE_EMBED_MODEL_ID": "<YOUR_VALUE>",
"AMAZON_BEDROCK_TEXT_EMBED_MODEL_ID": "<YOUR_VALUE>",
"AMAZON_BEDROCK_VISION_MODEL_ID": "<YOUR_VALUE>",
"FIGMA_ACCESS_TOKEN": "<YOUR_VALUE>",
"FIGMA_API_BASE_URL": "<YOUR_VALUE>",
"DAEMON_PORT": "<YOUR_VALUE>",
"DAEMON_SESSION_IDLE_SECONDS": "<YOUR_VALUE>",
"DAEMON_SESSION_IDLE_CHECK_SECONDS": "<YOUR_VALUE>",
"NODE_SERVER_INSTRUCTIONS_ENABLE": "<YOUR_VALUE>",
"NODE_POLICY_DEBUGGING_ENABLE": "<YOUR_VALUE>",
"NODE_INSPECTOR_HOST": "<YOUR_VALUE>",
"TOOL_OUTPUT_SCHEMA_DISABLE": "<YOUR_VALUE>",
"AVAILABLE_TOOL_DOMAINS": "<YOUR_VALUE>",
"WORKING_DIR": "<YOUR_VALUE>",
"SEARCH_STRATEGY": "<YOUR_VALUE>",
"SCENARIO_SEARCH_STRATEGY": "<YOUR_VALUE>"
}
}
}
}
PLATFORM— Platform: browser (default) or node for Node.js backend debugging.PORT— Port for HTTP transport.SESSION_IDLE_SECONDS— Idle session timeout (seconds).SESSION_IDLE_CHECK_SECONDS— Interval for checking idle sessions (seconds).SESSION_CLOSE_ON_SOCKET_CLOSE— Close session when socket closes.CONSOLE_MESSAGES_BUFFER_SIZE— Maximum console messages to buffer.HTTP_REQUESTS_BUFFER_SIZE— Maximum HTTP requests to buffer.BROWSER_SERVER_INSTRUCTIONS_ENABLE— When true, include server instructions in MCP server info (browser platform). Default: true.BROWSER_POLICY_UI_DEBUGGING_ENABLE— When true, include UI_DEBUGGING_POLICY in server policies (browser platform). Default: false.BROWSER_HEADLESS_ENABLE— Run browser in headless mode.BROWSER_PERSISTENT_ENABLE— Use persistent browser context (preserves cookies, localStorage, extensions).BROWSER_CDP_ENDPOINT_URL— CDP attach: http(s) root or ws(s) URL. Resolves via /json/version, /json/list, or ws /devtools/browser (Chrome 136+). Mutually exclusive with BROWSER_PERSISTENT_ENABLE.BROWSER_CDP_ENABLE— When true and no BROWSER_CDP_ENDPOINT_URL: probe 127.0.0.1:9222 then :9229 for CDP. Else use BROWSER_CDP_ENDPOINT_URL or default http://127.0.0.1:9222.BROWSER_CDP_OPEN_INSPECT— On loopback CDP failure, if Chrome is running, open chrome://inspect/#remote-debugging. Default true. Set false to disable.BROWSER_PERSISTENT_USER_DATA_DIR— Directory for persistent browser context user data.BROWSER_USE_INSTALLED_ON_SYSTEM— Use system-installed Chrome browser instead of Playwright's bundled browser.BROWSER_EXECUTABLE_PATH— Custom browser executable path.BROWSER_CHROMIUM_SANDBOX— When false, launches Chromium with --no-sandbox. Required for Docker/Lambda/CI.BROWSER_LAUNCH_ARGS— Extra Chromium launch args (comma-separated).BROWSER_ALLOWED_DOMAINS— Comma-separated list of allowed hostnames. When set, all requests to non-matching hosts are aborted. Subdomains match automatically.BROWSER_LOCALE— Browser locale (e.g., "en-US", "tr-TR").OTEL_ENABLE— Enable OpenTelemetry integration.OTEL_SERVICE_NAME— OpenTelemetry service name.OTEL_SERVICE_VERSION— OpenTelemetry service version.OTEL_ASSETS_DIR— Directory containing OpenTelemetry bundle files.OTEL_INSTRUMENTATION_USER_INTERACTION_EVENTS— User interaction events to instrument (comma-separated, e.g., "click,submit").OTEL_EXPORTER_TYPE— OpenTelemetry exporter type: "otlp/http", "console", or "none".OTEL_EXPORTER_HTTP_URL— OpenTelemetry collector base URL (e.g., "http://localhost:4318").OTEL_EXPORTER_HTTP_HEADERSsecret — OpenTelemetry exporter HTTP headers (comma-separated key=value pairs).AWS_REGION— AWS region for Bedrock usage.AWS_PROFILE— AWS profile name for Bedrock usage.AMAZON_BEDROCK_ENABLE— Enable Amazon Bedrock usage.AMAZON_BEDROCK_IMAGE_EMBED_MODEL_ID— Amazon Bedrock image embedding model ID.AMAZON_BEDROCK_TEXT_EMBED_MODEL_ID— Amazon Bedrock text embedding model ID.AMAZON_BEDROCK_VISION_MODEL_ID— Amazon Bedrock vision model ID.FIGMA_ACCESS_TOKENsecret — Figma API access token for design comparison.FIGMA_API_BASE_URL— Figma API base URL.DAEMON_PORT— Daemon mode port (CLI).DAEMON_SESSION_IDLE_SECONDS— Daemon mode idle session timeout (seconds).DAEMON_SESSION_IDLE_CHECK_SECONDS— Daemon mode idle session check interval (seconds).NODE_SERVER_INSTRUCTIONS_ENABLE— When true, include server instructions in MCP server info (node platform). Default: true.NODE_POLICY_DEBUGGING_ENABLE— When true, include NODE_DEBUGGING_POLICY in server policies (node platform). Default: false.NODE_INSPECTOR_HOST— Inspector host for debug_connect when MCP runs in Docker (e.g. host.docker.internal). Default: 127.0.0.1.TOOL_OUTPUT_SCHEMA_DISABLE— When true, omit tool output schema from MCP tool registration (can reduce token usage for some clients).AVAILABLE_TOOL_DOMAINS— Comma-separated tool domains to enable (e.g. navigation,interaction,a11y,scenario). Unset = all tools. Browser: a11y, content, debug, figma, interaction, navigation, o11y, react, scenario, run, stub, sync. Node: debug, run.WORKING_DIR— Working directory for project-level config (.browser-devtools-mcp/). Default: process.cwd().SEARCH_STRATEGY— Search strategy: SIMPLE (default, minisearch + stemmer) or FTS5 (better-sqlite3, optional dep).SCENARIO_SEARCH_STRATEGY— Override SEARCH_STRATEGY for scenario search only.
Related servers
UI-TARS-desktop
MCP server for web search operations
playwright-mcp
Playwright Tools for MCP
SeleniumBase MCP
Stealthy browser automation, testing, and web-scraping via CDP Mode.
Firecrawl MCP Server
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
mcp
Automate your local Chrome browser
mcp-playwright
An MCP server using Playwright for browser automation and webscrapping
Listed in punkpeye/awesome-mcp-servers (MIT)
Data from the Official MCP Registry