chrome-devtools-mcp
MCP ServerFreeChrome DevTools for coding agents
Capabilities14 decomposed
live-browser-control-via-mcp-protocol
Medium confidenceExposes Chrome browser automation through the Model Context Protocol (MCP) using a STDIO transport layer, enabling AI agents to send structured tool requests that are serialized into Puppeteer commands and executed against a live Chrome instance managed by a single-threaded Mutex-protected execution pipeline. The system translates natural language agent intents into browser operations (navigation, interaction, inspection) and returns token-optimized structured responses designed for LLM consumption.
Implements MCP as a standardized protocol bridge between LLM agents and Chrome DevTools, using Puppeteer as the underlying automation engine with token-optimized response formatting specifically designed for LLM context windows. The Mutex-protected single-threaded execution model ensures deterministic browser state across sequential agent actions without race conditions.
Provides standardized MCP protocol integration (vs proprietary APIs) with native support for multiple AI clients (Claude, Gemini, Cursor) and token-optimized output, whereas raw Puppeteer requires custom serialization and context management per LLM integration.
accessibility-snapshot-extraction-with-aria-semantics
Medium confidenceCaptures a structured accessibility snapshot of the current page by traversing the DOM and extracting element properties (role, name, state, value, ARIA attributes) into a hierarchical JSON representation. This snapshot is optimized for LLM consumption by filtering out noise and preserving semantic relationships, enabling agents to understand page structure without visual rendering. The system uses Chrome DevTools Protocol (CDP) to query the accessibility tree directly rather than parsing raw HTML.
Uses Chrome DevTools Protocol accessibility tree queries (not DOM parsing) to extract semantic structure with ARIA attributes, producing LLM-optimized hierarchical JSON that preserves parent-child relationships and element roles without visual rendering overhead. Specifically designed for agents that need to interact with complex widgets (comboboxes, trees, tabs) by understanding their semantic roles.
Extracts semantic structure via CDP accessibility tree (vs parsing raw HTML or screenshots), providing accurate ARIA semantics and role information that enables agents to interact with complex widgets, whereas visual screenshot analysis requires OCR and cannot reliably detect ARIA state changes.
javascript-execution-and-evaluation-in-page-context
Medium confidenceExecutes arbitrary JavaScript code in the page context using Chrome DevTools Protocol Runtime domain. The system evaluates JavaScript expressions and returns the result as structured JSON (primitives, objects, arrays). Code execution is sandboxed within the page context, enabling access to page variables, DOM, and global objects. The system supports both synchronous evaluation and asynchronous function execution with promise handling. Return values are serialized for LLM consumption; functions and circular references are converted to string representations.
Executes JavaScript in page context via Chrome DevTools Protocol Runtime domain with JSON serialization of return values, enabling agents to extract data and access page state without DOM parsing. The system handles promise resolution and provides detailed error messages for debugging.
Executes code in page context via CDP (vs DOM parsing), enabling access to page variables and functions, whereas DOM parsing only extracts static HTML structure without access to application state.
mcp-tool-schema-definition-and-validation
Medium confidenceDefines and validates MCP tool schemas that expose Chrome DevTools capabilities to LLM agents. Each tool is defined with a JSON schema specifying input parameters (type, required, description) and output format. The system validates agent requests against these schemas before execution, ensuring type safety and preventing invalid arguments. Tool schemas are introspectable by MCP clients, enabling agents to discover available capabilities and their parameters. The system provides detailed error messages when schema validation fails, helping agents correct malformed requests.
Implements MCP tool schema definition and validation using JSON Schema v7, enabling type-safe tool calling with automatic schema introspection. The system validates requests before execution, preventing invalid arguments and providing detailed error messages.
Provides schema-based validation via MCP (vs untyped function calling), ensuring type safety and enabling agent discovery of tool parameters, whereas raw function calling requires manual validation and documentation.
daemon-mode-server-with-persistent-browser-session
Medium confidenceRuns the MCP server in daemon mode as a long-lived process with a persistent browser session, enabling multiple agent interactions across a single browser instance. The system manages server lifecycle (startup, shutdown, signal handling) and maintains browser connection state across tool invocations. Daemon mode is configured via CLI flags and supports systemd integration for automatic restart on failure. The system logs all activity to a file for debugging and monitoring.
Implements daemon mode with persistent browser session and systemd integration, enabling long-lived MCP server deployments with automatic restart on failure. The system manages browser connection state across multiple agent interactions, reducing overhead of browser launch/shutdown.
Provides daemon mode with persistent session (vs stateless server), reducing browser launch overhead and enabling stateful interactions, whereas stateless servers require browser restart per request.
token-optimized-response-formatting-for-llm-consumption
Medium confidenceFormats all tool responses as compact JSON optimized for LLM context windows, using abbreviated field names, removing unnecessary whitespace, and filtering out non-essential data. The system prioritizes information density and readability for LLMs over human readability. Response formatting is consistent across all tools, enabling agents to parse responses reliably. The system includes optional verbose mode for debugging, which expands response details at the cost of token usage.
Implements token-optimized response formatting with abbreviated field names and filtered data, specifically designed for LLM context windows. The system maintains consistent response structure across all tools, enabling reliable agent parsing.
Optimizes responses for token efficiency via abbreviated fields and filtering (vs verbose responses), reducing LLM API costs and context usage, whereas standard responses include all details at higher token cost.
performance-trace-analysis-with-devtools-frontend-integration
Medium confidenceCollects Chrome DevTools performance traces (CPU profiling, memory snapshots, network waterfall, Core Web Vitals) using the Chrome DevTools Protocol and analyzes them using chrome-devtools-frontend components for deep insights. The system records traces during page load or user interactions, parses the trace JSON, and extracts metrics like LCP (Largest Contentful Paint), FID (First Input Delay), CLS (Cumulative Layout Shift), and memory heap snapshots. Results are formatted as structured JSON with actionable bottleneck identification.
Integrates chrome-devtools-frontend components for deep trace analysis (not just raw CDP metrics), enabling parsing of complex trace JSON and extraction of actionable insights like LCP bottleneck identification and memory leak detection. The system provides structured JSON output specifically formatted for LLM agents to reason about performance issues.
Provides deep trace analysis using DevTools Frontend (vs raw CDP metrics), enabling detection of specific bottlenecks (e.g., 'LCP delayed by 800ms JavaScript execution in vendor.js'), whereas generic performance tools only report aggregate metrics without root cause analysis.
network-request-inspection-and-response-capture
Medium confidenceIntercepts and logs all network requests and responses during page load or user interactions using Chrome DevTools Protocol Network domain. The system captures request headers, response bodies (with automatic decompression for gzip/brotli), status codes, timing data, and resource types. Responses are stored in memory with configurable size limits and can be filtered by URL pattern, resource type, or status code. The captured data is formatted as structured JSON for LLM analysis of API calls, failed requests, and data flow.
Uses Chrome DevTools Protocol Network domain to intercept requests at the browser level (not proxy-based), capturing full request/response payloads with automatic decompression and timing breakdown. Provides structured JSON output with filtering capabilities, enabling agents to analyze specific API calls without manual log parsing.
Captures network traffic at browser level via CDP (vs proxy interception), providing accurate timing data and automatic decompression, whereas proxy-based tools require additional setup and may miss browser-cached requests or WebSocket traffic.
console-output-capture-and-error-logging
Medium confidenceCaptures all console output (log, warn, error, info) and JavaScript errors (uncaught exceptions, promise rejections) from the page using Chrome DevTools Protocol Runtime domain. The system logs messages with timestamps, severity levels, and stack traces. Errors are categorized by type (SyntaxError, TypeError, ReferenceError, etc.) and source location (file, line number). Output is formatted as structured JSON for LLM analysis of application behavior and debugging.
Captures console output and JavaScript errors via Chrome DevTools Protocol Runtime domain with automatic categorization by error type and source location. Provides structured JSON with stack traces and timestamps, enabling agents to correlate errors with user actions and page state.
Captures errors at browser runtime level via CDP (vs parsing error logs), providing accurate stack traces and error categorization, whereas log file analysis requires manual parsing and may miss runtime errors not written to logs.
dom-element-interaction-with-selector-based-targeting
Medium confidenceEnables agents to interact with page elements (click, type, focus, blur, scroll) using CSS selectors or XPath expressions. The system resolves selectors to DOM elements using Chrome DevTools Protocol DOM domain, validates element visibility and interactability, and executes the requested action (click, keyboard input, mouse movement). Actions are queued and executed sequentially through the Mutex-protected pipeline to ensure deterministic state. The system returns success/failure status with error details if interaction fails (element not found, not clickable, etc.).
Uses Chrome DevTools Protocol DOM domain to resolve selectors and validate element interactability before executing actions, with Mutex-protected sequential execution ensuring deterministic state across multiple interactions. Provides detailed error messages (element not found, not clickable, etc.) enabling agents to handle failures gracefully.
Validates element interactability via CDP before action execution (vs blind action attempts), reducing flaky interactions and providing detailed error feedback, whereas raw Puppeteer may execute actions on non-interactable elements causing silent failures.
page-navigation-and-wait-strategies
Medium confidenceNavigates to URLs and implements configurable wait strategies (wait for navigation, wait for element, wait for network idle, wait for function) using Chrome DevTools Protocol Page domain. The system supports multiple wait conditions: networkidle0 (no network activity), networkidle2 (at most 2 network connections), domcontentloaded (DOM parsing complete), load (all resources loaded), or custom JavaScript function evaluation. Navigation timeout is configurable (default 30s). The system returns page metadata (title, URL, status code) and waits for the specified condition before returning control to the agent.
Implements multiple wait strategies (networkidle, domcontentloaded, load, element, custom function) via Chrome DevTools Protocol, enabling agents to handle different page load patterns (SPA, server-rendered, dynamic content). The system provides detailed wait timing and status, allowing agents to reason about page readiness.
Offers multiple wait strategies via CDP (vs single wait-for-load), enabling agents to handle SPAs and dynamic content reliably, whereas basic navigation only waits for load event which may complete before dynamic content renders.
browser-instance-lifecycle-management-with-connection-strategies
Medium confidenceManages browser instance lifecycle (launch, connect, disconnect, close) with support for multiple connection strategies: launch new instance, auto-connect to existing instance via user data directory, or connect via HTTP debug protocol URL. The system uses Puppeteer for browser automation and supports configuration flags (--headless, --isolated, --userDataDir) to customize launch behavior. Connection state is managed through a singleton pattern with automatic reconnection on failure. The system ensures proper cleanup on shutdown to prevent zombie processes.
Implements multiple connection strategies (launch new, auto-connect via user data directory, HTTP debug protocol) with singleton pattern for browser instance management. The system abstracts connection complexity, enabling agents to work with browser instances without managing Puppeteer directly.
Supports multiple connection strategies via configuration flags (vs single launch approach), enabling reuse of existing browser instances and integration with user's running Chrome, whereas raw Puppeteer requires manual connection management per strategy.
emulation-and-device-simulation
Medium confidenceSimulates different device types, screen sizes, user agents, and network conditions using Chrome DevTools Protocol Emulation domain. The system supports predefined device profiles (iPhone, iPad, Android, desktop) or custom viewport dimensions, user agent strings, and device pixel ratios. Network throttling can be configured (4G, 3G, slow, offline) to simulate different connection speeds. Geolocation and timezone can be spoofed. The system applies emulation settings before page navigation, ensuring consistent behavior across test runs.
Uses Chrome DevTools Protocol Emulation domain to apply device profiles, network throttling, and geolocation spoofing at the browser level, enabling consistent simulation across test runs. Supports both predefined device profiles and custom configurations, providing flexibility for different testing scenarios.
Applies emulation via CDP (vs visual viewport resizing), providing accurate device simulation including user agent and network throttling, whereas simple viewport resizing does not simulate network conditions or device-specific behavior.
screenshot-and-visual-capture-with-format-options
Medium confidenceCaptures screenshots of the current page or specific elements using Chrome DevTools Protocol Page domain. The system supports full-page screenshots (including off-screen content), viewport-only screenshots, and element-specific screenshots. Output formats include PNG (default) and JPEG with configurable quality. Screenshots are base64-encoded for embedding in JSON responses. The system can capture screenshots at different device scales (1x, 2x, 3x) for testing responsive design. Captured images are optimized for LLM vision models by default.
Captures screenshots via Chrome DevTools Protocol with support for full-page, viewport, and element-specific modes, with base64 encoding for JSON embedding. The system optimizes output for LLM vision models by default, enabling agents to analyze visual state without external image storage.
Provides multiple screenshot modes via CDP (vs single viewport screenshot), enabling full-page capture and element-specific screenshots, whereas basic screenshot tools only capture visible viewport.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with chrome-devtools-mcp, ranked by overlap. Discovered automatically through the match graph.
@executeautomation/playwright-mcp-server
Model Context Protocol servers for Playwright
chrome-devtools-mcp
MCP server for Chrome DevTools
@executeautomation/playwright-mcp-server
Model Context Protocol servers for Playwright
Website Snapshot
** - A MCP server that provides comprehensive website snapshot capabilities using Playwright. This server enables LLMs to capture and analyze web pages through structured accessibility snapshots, network monitoring, and console message collection.
Puppeteer
** - Browser automation and web scraping.
Playwright MCP Server
Automate browsers and run web tests via Playwright MCP.
Best For
- ✓AI agent developers building autonomous browser automation workflows
- ✓Teams integrating Claude, Gemini, or Cursor with live browser testing
- ✓Developers creating LLM-powered web scraping or testing agents
- ✓Accessibility testing automation agents
- ✓LLM-powered web testing tools that need semantic page understanding
- ✓Developers building screen-reader simulation for automated testing
- ✓Data extraction agents that need to run custom JavaScript
- ✓Agents testing application state by accessing page variables
Known Limitations
- ⚠Single-threaded Mutex-based execution model means only one tool action processes at a time per server instance, creating sequential bottlenecks for parallel browser operations
- ⚠STDIO transport limits throughput compared to WebSocket or gRPC alternatives; no built-in connection pooling across multiple browser instances
- ⚠Requires Chrome 144+ for auto-connect mode; older Chrome versions require explicit --browserUrl configuration
- ⚠Snapshot is point-in-time and does not capture dynamic ARIA updates triggered by JavaScript after initial load
- ⚠Complex shadow DOM structures may not be fully traversed depending on Chrome version and CDP protocol version
- ⚠ARIA attributes are extracted as-is without validation against WCAG standards; malformed ARIA is passed through unchanged
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
Repository Details
Last commit: Apr 21, 2026
About
Chrome DevTools for coding agents
Categories
Alternatives to chrome-devtools-mcp
Are you the builder of chrome-devtools-mcp?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →