{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.serkan-ozal/browser-devtools-mcp","description":"Playwright browser & Node.js MCP. ARIA refs, screenshots, ref-based interactions.","repository":{"url":"https://github.com/serkan-ozal/browser-devtools-mcp","source":"github"},"version":"0.9.1","websiteUrl":"https://github.com/serkan-ozal/browser-devtools-mcp","icons":[{"src":"https://browser-devtools.com/assets/icons/icon.png","mimeType":"image/png"},{"src":"https://browser-devtools.com/assets/icons/icon.svg","mimeType":"image/svg+xml","sizes":["any"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"browser-devtools-mcp","version":"0.9.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Platform: browser (default) or node for Node.js backend debugging.","format":"string","name":"PLATFORM"},{"description":"Port for HTTP transport.","format":"number","name":"PORT"},{"description":"Idle session timeout (seconds).","format":"number","name":"SESSION_IDLE_SECONDS"},{"description":"Interval for checking idle sessions (seconds).","format":"number","name":"SESSION_IDLE_CHECK_SECONDS"},{"description":"Close session when socket closes.","format":"boolean","name":"SESSION_CLOSE_ON_SOCKET_CLOSE"},{"description":"Maximum console messages to buffer.","format":"number","name":"CONSOLE_MESSAGES_BUFFER_SIZE"},{"description":"Maximum HTTP requests to buffer.","format":"number","name":"HTTP_REQUESTS_BUFFER_SIZE"},{"description":"When true, include server instructions in MCP server info (browser platform). Default: true.","format":"boolean","name":"BROWSER_SERVER_INSTRUCTIONS_ENABLE"},{"description":"When true, include UI_DEBUGGING_POLICY in server policies (browser platform). Default: false.","format":"boolean","name":"BROWSER_POLICY_UI_DEBUGGING_ENABLE"},{"description":"Run browser in headless mode.","format":"boolean","name":"BROWSER_HEADLESS_ENABLE"},{"description":"Use persistent browser context (preserves cookies, localStorage, extensions).","format":"boolean","name":"BROWSER_PERSISTENT_ENABLE"},{"description":"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.","format":"string","name":"BROWSER_CDP_ENDPOINT_URL"},{"description":"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.","format":"boolean","name":"BROWSER_CDP_ENABLE"},{"description":"On loopback CDP failure, if Chrome is running, open chrome://inspect/#remote-debugging. Default true. Set false to disable.","format":"boolean","name":"BROWSER_CDP_OPEN_INSPECT"},{"description":"Directory for persistent browser context user data.","format":"string","name":"BROWSER_PERSISTENT_USER_DATA_DIR"},{"description":"Use system-installed Chrome browser instead of Playwright's bundled browser.","format":"boolean","name":"BROWSER_USE_INSTALLED_ON_SYSTEM"},{"description":"Custom browser executable path.","format":"string","name":"BROWSER_EXECUTABLE_PATH"},{"description":"When false, launches Chromium with --no-sandbox. Required for Docker/Lambda/CI.","format":"boolean","name":"BROWSER_CHROMIUM_SANDBOX"},{"description":"Extra Chromium launch args (comma-separated).","format":"string","name":"BROWSER_LAUNCH_ARGS"},{"description":"Comma-separated list of allowed hostnames. When set, all requests to non-matching hosts are aborted. Subdomains match automatically.","format":"string","name":"BROWSER_ALLOWED_DOMAINS"},{"description":"Browser locale (e.g., \"en-US\", \"tr-TR\").","format":"string","name":"BROWSER_LOCALE"},{"description":"Enable OpenTelemetry integration.","format":"boolean","name":"OTEL_ENABLE"},{"description":"OpenTelemetry service name.","format":"string","name":"OTEL_SERVICE_NAME"},{"description":"OpenTelemetry service version.","format":"string","name":"OTEL_SERVICE_VERSION"},{"description":"Directory containing OpenTelemetry bundle files.","format":"string","name":"OTEL_ASSETS_DIR"},{"description":"User interaction events to instrument (comma-separated, e.g., \"click,submit\").","format":"string","name":"OTEL_INSTRUMENTATION_USER_INTERACTION_EVENTS"},{"description":"OpenTelemetry exporter type: \"otlp/http\", \"console\", or \"none\".","format":"string","name":"OTEL_EXPORTER_TYPE"},{"description":"OpenTelemetry collector base URL (e.g., \"http://localhost:4318\").","format":"string","name":"OTEL_EXPORTER_HTTP_URL"},{"description":"OpenTelemetry exporter HTTP headers (comma-separated key=value pairs).","format":"string","isSecret":true,"name":"OTEL_EXPORTER_HTTP_HEADERS"},{"description":"AWS region for Bedrock usage.","format":"string","name":"AWS_REGION"},{"description":"AWS profile name for Bedrock usage.","format":"string","name":"AWS_PROFILE"},{"description":"Enable Amazon Bedrock usage.","format":"boolean","name":"AMAZON_BEDROCK_ENABLE"},{"description":"Amazon Bedrock image embedding model ID.","format":"string","name":"AMAZON_BEDROCK_IMAGE_EMBED_MODEL_ID"},{"description":"Amazon Bedrock text embedding model ID.","format":"string","name":"AMAZON_BEDROCK_TEXT_EMBED_MODEL_ID"},{"description":"Amazon Bedrock vision model ID.","format":"string","name":"AMAZON_BEDROCK_VISION_MODEL_ID"},{"description":"Figma API access token for design comparison.","format":"string","isSecret":true,"name":"FIGMA_ACCESS_TOKEN"},{"description":"Figma API base URL.","format":"string","name":"FIGMA_API_BASE_URL"},{"description":"Daemon mode port (CLI).","format":"number","name":"DAEMON_PORT"},{"description":"Daemon mode idle session timeout (seconds).","format":"number","name":"DAEMON_SESSION_IDLE_SECONDS"},{"description":"Daemon mode idle session check interval (seconds).","format":"number","name":"DAEMON_SESSION_IDLE_CHECK_SECONDS"},{"description":"When true, include server instructions in MCP server info (node platform). Default: true.","format":"boolean","name":"NODE_SERVER_INSTRUCTIONS_ENABLE"},{"description":"When true, include NODE_DEBUGGING_POLICY in server policies (node platform). Default: false.","format":"boolean","name":"NODE_POLICY_DEBUGGING_ENABLE"},{"description":"Inspector host for debug_connect when MCP runs in Docker (e.g. host.docker.internal). Default: 127.0.0.1.","format":"string","name":"NODE_INSPECTOR_HOST"},{"description":"When true, omit tool output schema from MCP tool registration (can reduce token usage for some clients).","format":"boolean","name":"TOOL_OUTPUT_SCHEMA_DISABLE"},{"description":"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.","format":"string","name":"AVAILABLE_TOOL_DOMAINS"},{"description":"Working directory for project-level config (.browser-devtools-mcp/). Default: process.cwd().","format":"string","name":"WORKING_DIR"},{"description":"Search strategy: SIMPLE (default, minisearch + stemmer) or FTS5 (better-sqlite3, optional dep).","format":"string","name":"SEARCH_STRATEGY"},{"description":"Override SEARCH_STRATEGY for scenario search only.","format":"string","name":"SCENARIO_SEARCH_STRATEGY"}]}],"remotes":[{"type":"streamable-http","url":"https://{your_mcp_server_host}/mcp","variables":{"your_mcp_server_host":{"description":"Your self-hosted MCP server host (host:port, without scheme).","isRequired":true}}}],"_meta":{"io.modelcontextprotocol.registry/publisher-provided":{"contacts":[{"email":"serkanozal86@gmail.com","name":"Serkan Ozal","url":"https://github.com/serkan-ozal"}],"documentationUrl":"https://github.com/serkan-ozal/browser-devtools-mcp#readme","keywords":["ai","automation","browser","debugging","mcp","nodejs","observability","opentelemetry","playwright","source-map","testing","web"]}}},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-12T19:39:21.750832Z","publishedAt":"2026-05-12T19:39:21.750832Z","updatedAt":"2026-05-12T19:39:21.750832Z","isLatest":true}}}
