chrome-devtools-mcp
MCP ServerFreeMCP server for Chrome DevTools
Capabilities12 decomposed
remote-browser-automation-via-devtools-protocol
Medium confidenceEnables MCP clients to control Chrome/Chromium instances through the Chrome DevTools Protocol (CDP), allowing programmatic browser automation including navigation, DOM manipulation, and JavaScript execution. Implements a bidirectional WebSocket connection to the Chrome debugger endpoint, translating MCP tool calls into CDP commands and streaming responses back through the MCP protocol layer.
Bridges MCP protocol directly to Chrome DevTools Protocol without intermediate abstraction layers like Puppeteer or Playwright, reducing dependency overhead and enabling direct access to low-level CDP capabilities. Implements streaming response handling for long-running operations through MCP's resource and tool call patterns.
Lighter-weight than Puppeteer/Playwright-based MCP servers because it eliminates the extra abstraction layer, providing direct CDP access while maintaining MCP compatibility for seamless AI agent integration.
page-navigation-and-load-state-tracking
Medium confidenceProvides MCP tools for navigating to URLs, waiting for page load completion, and monitoring navigation state changes. Translates MCP tool invocations into CDP Page.navigate and Page.waitForNavigation commands, with built-in handling for load events (domContentLoaded, load) and network idle detection to ensure pages are fully interactive before returning control.
Exposes CDP's Page domain navigation events through MCP tool semantics, allowing AI agents to explicitly control and observe page load state without polling. Implements event-driven load detection rather than timeout-based heuristics, improving reliability for variable-speed networks.
More granular than Puppeteer's goto() because it exposes individual load events (domContentLoaded vs load vs networkIdle) as distinct MCP operations, enabling agents to make context-aware decisions about when a page is ready.
viewport-and-device-emulation
Medium confidenceEnables MCP clients to set viewport dimensions and emulate device characteristics (user agent, touch support, device pixel ratio). Implements CDP Emulation domain with device preset support, allowing agents to test responsive behavior or simulate mobile/tablet interactions.
Exposes CDP's Emulation domain through MCP, allowing agents to dynamically change viewport and device settings without restarting the browser. Supports device presets for common devices, reducing configuration overhead.
More flexible than Puppeteer's setViewport() because it also supports device emulation (user agent, touch, device pixel ratio) in a single call, and allows agents to switch between device profiles without page reload.
mcp-protocol-bridging-and-tool-registration
Medium confidenceImplements the core MCP server infrastructure that bridges Chrome DevTools Protocol capabilities to MCP clients. Handles tool registration, request/response serialization, and error handling according to MCP specification, enabling any MCP-compatible client (Claude, custom agents) to invoke Chrome automation capabilities through standardized tool calls.
Implements full MCP server specification with Chrome DevTools Protocol as the backend, providing standardized tool registration and protocol compliance. Handles serialization and error mapping transparently, abstracting CDP complexity from MCP clients.
More standardized than custom REST APIs because it uses MCP protocol, enabling seamless integration with any MCP-compatible client (Claude, custom agents) without custom SDK development or API documentation.
dom-query-and-element-inspection
Medium confidenceEnables MCP clients to query the DOM using CSS selectors or XPath expressions, retrieve element properties (text content, attributes, computed styles, bounding boxes), and inspect the DOM tree structure. Implements CDP Runtime.evaluate with DOM query scripts, returning structured element metadata that agents can use for decision-making and data extraction.
Exposes CDP's Runtime domain for DOM queries through MCP, allowing agents to inspect elements without context switching to browser console. Returns structured metadata (bounding boxes, computed styles) in a single call, reducing round-trips compared to sequential property queries.
More efficient than Puppeteer's page.$() because it returns computed styles and layout info in one call rather than requiring separate property accesses, reducing network overhead in agent workflows.
javascript-execution-in-page-context
Medium confidenceAllows MCP clients to execute arbitrary JavaScript code within the page's execution context, with support for returning primitive values, objects, and error handling. Implements CDP Runtime.evaluate with serialization of return values, enabling agents to run custom scripts for data extraction, DOM manipulation, or state inspection without leaving the browser context.
Exposes CDP's Runtime.evaluate directly through MCP, allowing agents to execute code in the page context without intermediate abstraction. Handles serialization of complex return values and provides error context, enabling agents to make decisions based on execution results.
More flexible than Puppeteer's page.evaluate() because it's exposed through MCP, allowing any MCP-compatible client (Claude, custom agents) to execute code without SDK dependencies, and provides structured error handling suitable for agent decision-making.
screenshot-capture-and-visual-inspection
Medium confidenceEnables MCP clients to capture screenshots of the current page state, with optional viewport clipping and format selection (PNG, JPEG). Implements CDP Page.captureScreenshot, returning image data that agents can use for visual verification, debugging, or passing to vision models for analysis.
Exposes CDP's Page.captureScreenshot through MCP, enabling agents to request visual snapshots as part of decision-making workflows. Returns base64-encoded data suitable for passing to vision models or storing in logs, integrating visual feedback into agentic loops.
More integrated than Puppeteer screenshots because it's exposed through MCP, allowing vision-capable AI clients (Claude with vision) to directly request and analyze screenshots within the same protocol, eliminating file I/O overhead.
input-field-interaction-and-form-filling
Medium confidenceProvides MCP tools for interacting with form inputs, including typing text, clicking elements, selecting options, and submitting forms. Implements CDP Input.dispatchKeyEvent and Input.dispatchMouseEvent, translating high-level interaction intents into low-level browser events with proper event sequencing (focus, input, change, blur).
Exposes CDP's Input domain through MCP with semantic tool names (type, click, select) rather than low-level event dispatch, making form interactions intuitive for AI agents. Handles event sequencing automatically (focus → input → change → blur) to ensure form validation triggers correctly.
More reliable than Puppeteer's type() for form filling because it properly sequences focus and blur events, ensuring form validation and change handlers fire as expected, reducing failures in complex forms.
network-request-interception-and-monitoring
Medium confidenceEnables MCP clients to intercept, inspect, and optionally modify network requests and responses in real-time. Implements CDP Network domain with request/response filtering, allowing agents to block requests, modify headers, or inspect payloads for debugging or security purposes.
Exposes CDP's Network domain through MCP, allowing agents to inspect and modify network traffic without external proxy tools. Provides structured request/response metadata suitable for agent decision-making and debugging workflows.
More integrated than external proxy tools (mitmproxy, Fiddler) because it's built into the browser context and exposed through MCP, eliminating setup overhead and allowing agents to correlate network activity with page state in real-time.
cookie-and-storage-management
Medium confidenceProvides MCP tools for reading, setting, and deleting cookies and browser storage (localStorage, sessionStorage, IndexedDB). Implements CDP Storage domain with JavaScript execution for storage access, enabling agents to manage authentication state, persist data, or simulate user sessions.
Exposes CDP's Storage domain through MCP with support for multiple storage types (cookies, localStorage, sessionStorage, IndexedDB), allowing agents to manage browser state comprehensively. Handles domain-specific cookie operations and JavaScript-based storage access transparently.
More comprehensive than Puppeteer's cookie methods because it supports localStorage, sessionStorage, and IndexedDB in addition to cookies, providing unified storage management through a single MCP interface.
performance-metrics-and-timing-analysis
Medium confidenceEnables MCP clients to retrieve performance metrics (page load time, resource timing, Core Web Vitals) from the Chrome instance. Implements CDP Performance domain with Navigation Timing API integration, allowing agents to analyze page performance and make decisions based on load characteristics.
Exposes CDP's Performance domain through MCP, allowing agents to retrieve performance metrics as structured data suitable for decision-making. Integrates Navigation Timing API and Core Web Vitals, providing comprehensive performance visibility.
More accessible than manual Performance API calls because it's exposed through MCP, allowing agents without page context access to retrieve metrics, and provides structured data suitable for threshold-based decision-making.
console-output-capture-and-logging
Medium confidenceEnables MCP clients to capture console output (logs, errors, warnings) from the page in real-time. Implements CDP Runtime.consoleAPICalled event handling, streaming console messages to the MCP client with metadata (level, timestamp, source) for debugging and monitoring purposes.
Exposes CDP's Runtime.consoleAPICalled events through MCP, allowing agents to monitor page console output in real-time without polling. Provides structured metadata (level, source, timestamp) suitable for filtering and decision-making.
More integrated than manual console.log inspection because it's exposed through MCP as structured events, allowing agents to react to errors or warnings in real-time and correlate them with page state.
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.
chrome-devtools-mcp
Chrome DevTools for coding agents
playwright
A high-level API to automate web browsers
Hyperbrowser
Browser infrastructure and automation for AI Agents and Apps with advanced features like proxies, captcha solving, and session recording.
web-agent-protocol
🌐Web Agent Protocol (WAP) - Record and replay user interactions in the browser with MCP support
bb-browser
Your browser is the API. CLI + MCP server for AI agents to control Chrome with your login state.
Bright Data
** - Discover, extract, and interact with the web - one interface powering automated access across the public internet.
Best For
- ✓AI agents and LLM applications requiring web automation capabilities
- ✓Teams building MCP-based automation frameworks
- ✓Developers integrating browser control into Claude or other MCP-compatible AI systems
- ✓Agents performing multi-step web scraping or data extraction workflows
- ✓Automation scenarios requiring reliable page load detection
- ✓Systems that need to distinguish between DOM-ready and fully-loaded states
- ✓Responsive design testing and validation workflows
- ✓Mobile automation and testing scenarios
Known Limitations
- ⚠Requires a running Chrome/Chromium instance with DevTools Protocol enabled (--remote-debugging-port flag)
- ⚠Single browser context per MCP server instance — no built-in multiplexing for concurrent browser sessions
- ⚠Network latency between MCP client and Chrome instance adds overhead; not suitable for sub-100ms interaction requirements
- ⚠No automatic handling of browser crashes or connection drops — requires external orchestration for resilience
- ⚠No built-in handling for Single Page Application (SPA) route changes — requires custom JavaScript execution to detect client-side navigation
- ⚠Timeout values are fixed or require re-invocation with different parameters; no adaptive timeout based on page complexity
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
Package Details
About
MCP server for Chrome DevTools
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 →