io.github.serkan-ozal/browser-devtools-mcp
Source repository no longer publicly accessible (HTTP 404). This may be deliberate: repositories are sometimes made private or relocated. Evidence.
Playwright browser & Node.js MCP. ARIA refs, screenshots, ref-based interactions.
Using io.github.serkan-ozal/browser-devtools-mcp in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireSemantic screen found no manipulation pattern in the description. Conformance probe not yet run.
mcpindex.integrity.descriptionpassINFOevidence“No malicious intent”via static_description
- - Semantic screen only - the deterministic conformance probe has not run on this server
- - Confidence is reported but not yet calibrated (v1)
- - Screen reads the tool description, not the live behavior
- - advisory
- - registry description only no input schema
- - Past its expiry date - awaiting re-screen
Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.
Own this server? Screen its description →
That verdict was true at screening time (snapshot 2026-07-31).
Contracts can change after screening, with no version bump. The gate pins io.github.serkan-ozal/browser-devtools-mcp’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.
[](https://mcpindex.ai/server/io-github-serkan-ozal-browser-devtools-mcp)<a href="https://mcpindex.ai/server/io-github-serkan-ozal-browser-devtools-mcp"><img src="https://mcpindex.ai/api/v1/badge/io-github-serkan-ozal-browser-devtools-mcp" alt="mcpindex verdict" height="20" /></a>PLATFORMPlatform: browser (default) or node for Node.js backend debugging.
PORTPort for HTTP transport.
SESSION_IDLE_SECONDSIdle session timeout (seconds).
SESSION_IDLE_CHECK_SECONDSInterval for checking idle sessions (seconds).
SESSION_CLOSE_ON_SOCKET_CLOSEClose session when socket closes.
CONSOLE_MESSAGES_BUFFER_SIZEMaximum console messages to buffer.
HTTP_REQUESTS_BUFFER_SIZEMaximum HTTP requests to buffer.
BROWSER_SERVER_INSTRUCTIONS_ENABLEWhen true, include server instructions in MCP server info (browser platform). Default: true.
BROWSER_POLICY_UI_DEBUGGING_ENABLEWhen true, include UI_DEBUGGING_POLICY in server policies (browser platform). Default: false.
BROWSER_HEADLESS_ENABLERun browser in headless mode.
BROWSER_PERSISTENT_ENABLEUse persistent browser context (preserves cookies, localStorage, extensions).
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.
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.
BROWSER_CDP_OPEN_INSPECTOn loopback CDP failure, if Chrome is running, open chrome://inspect/#remote-debugging. Default true. Set false to disable.
BROWSER_PERSISTENT_USER_DATA_DIRDirectory for persistent browser context user data.
BROWSER_USE_INSTALLED_ON_SYSTEMUse system-installed Chrome browser instead of Playwright's bundled browser.
BROWSER_EXECUTABLE_PATHCustom browser executable path.
BROWSER_CHROMIUM_SANDBOXWhen false, launches Chromium with --no-sandbox. Required for Docker/Lambda/CI.
BROWSER_LAUNCH_ARGSExtra Chromium launch args (comma-separated).
BROWSER_ALLOWED_DOMAINSComma-separated list of allowed hostnames. When set, all requests to non-matching hosts are aborted. Subdomains match automatically.
BROWSER_LOCALEBrowser locale (e.g., "en-US", "tr-TR").
OTEL_ENABLEEnable OpenTelemetry integration.
OTEL_SERVICE_NAMEOpenTelemetry service name.
OTEL_SERVICE_VERSIONOpenTelemetry service version.
OTEL_ASSETS_DIRDirectory containing OpenTelemetry bundle files.
OTEL_INSTRUMENTATION_USER_INTERACTION_EVENTSUser interaction events to instrument (comma-separated, e.g., "click,submit").
OTEL_EXPORTER_TYPEOpenTelemetry exporter type: "otlp/http", "console", or "none".
OTEL_EXPORTER_HTTP_URLOpenTelemetry collector base URL (e.g., "http://localhost:4318").
OTEL_EXPORTER_HTTP_HEADERSOpenTelemetry exporter HTTP headers (comma-separated key=value pairs).
AWS_REGIONAWS region for Bedrock usage.
AWS_PROFILEAWS profile name for Bedrock usage.
AMAZON_BEDROCK_ENABLEEnable Amazon Bedrock usage.
AMAZON_BEDROCK_IMAGE_EMBED_MODEL_IDAmazon Bedrock image embedding model ID.
AMAZON_BEDROCK_TEXT_EMBED_MODEL_IDAmazon Bedrock text embedding model ID.
AMAZON_BEDROCK_VISION_MODEL_IDAmazon Bedrock vision model ID.
FIGMA_ACCESS_TOKENFigma API access token for design comparison.
FIGMA_API_BASE_URLFigma API base URL.
DAEMON_PORTDaemon mode port (CLI).
DAEMON_SESSION_IDLE_SECONDSDaemon mode idle session timeout (seconds).
DAEMON_SESSION_IDLE_CHECK_SECONDSDaemon mode idle session check interval (seconds).
NODE_SERVER_INSTRUCTIONS_ENABLEWhen true, include server instructions in MCP server info (node platform). Default: true.
NODE_POLICY_DEBUGGING_ENABLEWhen true, include NODE_DEBUGGING_POLICY in server policies (node platform). Default: false.
NODE_INSPECTOR_HOSTInspector host for debug_connect when MCP runs in Docker (e.g. host.docker.internal). Default: 127.0.0.1.
TOOL_OUTPUT_SCHEMA_DISABLEWhen true, omit tool output schema from MCP tool registration (can reduce token usage for some clients).
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.
WORKING_DIRWorking directory for project-level config (.browser-devtools-mcp/). Default: process.cwd().
SEARCH_STRATEGYSearch strategy: SIMPLE (default, minisearch + stemmer) or FTS5 (better-sqlite3, optional dep).
SCENARIO_SEARCH_STRATEGYOverride SEARCH_STRATEGY for scenario search only.
Capture, inspect & debug HTTPS traffic across iOS, Android, browsers & backends — 304 MCP tools.
Playwright MCP-compatible browser automation bridge for CloakBrowser Chromium.
MCP server for desktop, browser (CDP), and Android automation. Screenshot, OCR, click, type.