Browser-devtools-mcp Server

Playwright browser & Node.js MCP. ARIA refs, screenshots, ref-based interactions.

Local + remotestreamable-httpstdio

What is the Browser-devtools-mcp Server?

Browser-devtools-mcp is an MCP integration. Playwright browser & Node.js MCP. ARIA refs, screenshots, ref-based interactions.

Hosted connection

The registry lists a streamable-http connection at https://{your_mcp_server_host}/mcp. Replace the account-specific fields according to the maintainer’s instructions.

Packages and local setup

The published npm package is browser-devtools-mcp, version 0.9.1. Its declared MCP transport is stdio.

The package declares 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_HEADERS: 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_TOKEN: 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..

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository · Project website. This profile uses version 0.9.1 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related browser automation MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
PLATFORMPlatform: browser (default) or node for Node.js backend debugging.Optional
PORTPort for HTTP transport.Optional
SESSION_IDLE_SECONDSIdle session timeout (seconds).Optional
SESSION_IDLE_CHECK_SECONDSInterval for checking idle sessions (seconds).Optional
SESSION_CLOSE_ON_SOCKET_CLOSEClose session when socket closes.Optional
CONSOLE_MESSAGES_BUFFER_SIZEMaximum console messages to buffer.Optional
HTTP_REQUESTS_BUFFER_SIZEMaximum HTTP requests to buffer.Optional
BROWSER_SERVER_INSTRUCTIONS_ENABLEWhen true, include server instructions in MCP server info (browser platform). Default: true.Optional
BROWSER_POLICY_UI_DEBUGGING_ENABLEWhen true, include UI_DEBUGGING_POLICY in server policies (browser platform). Default: false.Optional
BROWSER_HEADLESS_ENABLERun browser in headless mode.Optional
BROWSER_PERSISTENT_ENABLEUse persistent browser context (preserves cookies, localStorage, extensions).Optional
BROWSER_CDP_ENDPOINT_URLCDP 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.Optional
BROWSER_CDP_ENABLEWhen 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.Optional
BROWSER_CDP_OPEN_INSPECTOn loopback CDP failure, if Chrome is running, open chrome://inspect/remote-debugging. Default true. Set false to disable.Optional
BROWSER_PERSISTENT_USER_DATA_DIRDirectory for persistent browser context user data.Optional
BROWSER_USE_INSTALLED_ON_SYSTEMUse system-installed Chrome browser instead of Playwright's bundled browser.Optional
BROWSER_EXECUTABLE_PATHCustom browser executable path.Optional
BROWSER_CHROMIUM_SANDBOXWhen false, launches Chromium with --no-sandbox. Required for Docker/Lambda/CI.Optional
BROWSER_LAUNCH_ARGSExtra Chromium launch args (comma-separated).Optional
BROWSER_ALLOWED_DOMAINSComma-separated list of allowed hostnames. When set, all requests to non-matching hosts are aborted. Subdomains match automatically.Optional
BROWSER_LOCALEBrowser locale (e.g., "en-US", "tr-TR").Optional
OTEL_ENABLEEnable OpenTelemetry integration.Optional
OTEL_SERVICE_NAMEOpenTelemetry service name.Optional
OTEL_SERVICE_VERSIONOpenTelemetry service version.Optional
OTEL_ASSETS_DIRDirectory containing OpenTelemetry bundle files.Optional
OTEL_INSTRUMENTATION_USER_INTERACTION_EVENTSUser interaction events to instrument (comma-separated, e.g., "click,submit").Optional
OTEL_EXPORTER_TYPEOpenTelemetry exporter type: "otlp/http", "console", or "none".Optional
OTEL_EXPORTER_HTTP_URLOpenTelemetry collector base URL (e.g., "http://localhost:4318").Optional
OTEL_EXPORTER_HTTP_HEADERSOpenTelemetry exporter HTTP headers (comma-separated key=value pairs).Optional
AWS_REGIONAWS region for Bedrock usage.Optional
AWS_PROFILEAWS profile name for Bedrock usage.Optional
AMAZON_BEDROCK_ENABLEEnable Amazon Bedrock usage.Optional
AMAZON_BEDROCK_IMAGE_EMBED_MODEL_IDAmazon Bedrock image embedding model ID.Optional
AMAZON_BEDROCK_TEXT_EMBED_MODEL_IDAmazon Bedrock text embedding model ID.Optional
AMAZON_BEDROCK_VISION_MODEL_IDAmazon Bedrock vision model ID.Optional
FIGMA_ACCESS_TOKENFigma API access token for design comparison.Optional
FIGMA_API_BASE_URLFigma API base URL.Optional
DAEMON_PORTDaemon mode port (CLI).Optional
DAEMON_SESSION_IDLE_SECONDSDaemon mode idle session timeout (seconds).Optional
DAEMON_SESSION_IDLE_CHECK_SECONDSDaemon mode idle session check interval (seconds).Optional
NODE_SERVER_INSTRUCTIONS_ENABLEWhen true, include server instructions in MCP server info (node platform). Default: true.Optional
NODE_POLICY_DEBUGGING_ENABLEWhen true, include NODE_DEBUGGING_POLICY in server policies (node platform). Default: false.Optional
NODE_INSPECTOR_HOSTInspector host for debug_connect when MCP runs in Docker (e.g. host.docker.internal). Default: 127.0.0.1.Optional
TOOL_OUTPUT_SCHEMA_DISABLEWhen true, omit tool output schema from MCP tool registration (can reduce token usage for some clients).Optional
AVAILABLE_TOOL_DOMAINSComma-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.Optional
WORKING_DIRWorking directory for project-level config (.browser-devtools-mcp/). Default: process.cwd().Optional
SEARCH_STRATEGYSearch strategy: SIMPLE (default, minisearch + stemmer) or FTS5 (better-sqlite3, optional dep).Optional
SCENARIO_SEARCH_STRATEGYOverride SEARCH_STRATEGY for scenario search only.Optional