Reliable UI Automation
Puppeteer-backed click, fill, drag, hover, and keyboard actions with automatic wait-for-result logic β no brittle sleep() hacks.
Full Chrome DevTools access for your AI agent β automate, debug, and analyze any live web page
Overview
Browser Control bridges your AI agent and a live Chrome instance via the Model Context Protocol. Built on Chrome DevTools and Puppeteer, it exposes 26 tools across 6 capability categories β letting your agent click, type, screenshot, trace performance, inspect network traffic, and execute JavaScript in the real browser, not a headless stub.
Capabilities
Puppeteer-backed click, fill, drag, hover, and keyboard actions with automatic wait-for-result logic β no brittle sleep() hacks.
Capture a full a11y tree of any page in text form, giving the agent stable element UIDs to reference across actions without relying on fragile CSS selectors.
Record DevTools traces and extract Core Web Vital scores (LCP, CLS, FID) plus actionable performance insights β with optional CrUX real-user field data.
List, filter, and inspect every HTTP request and response on the page β including bodies, headers, and error codes β across multiple navigations.
Run arbitrary JavaScript functions directly inside the page context and get JSON-serializable results back. Debug state, query the DOM, or trigger custom logic.
Capture full-page or element-level screenshots in PNG/JPEG/WebP. Emulate dark mode, device viewports, geolocation, and network throttling conditions.
Architecture
The MCP server wraps Chrome's Chrome DevTools Protocol (CDP) and Puppeteer into structured MCP tools. Your agent calls tools over JSON-RPC; the server translates each call into CDP commands over a WebSocket to a live Chrome instance β either one it launches itself or an existing browser you connect via remote debugging port.
MCP Client (Agent) Issues tool calls via JSON-RPC over stdio or SSE chrome-devtools-mcp Translates MCP tools into Puppeteer / CDP commands Chrome DevTools Protocol WebSocket channel to the Chrome browser process Chrome / Chromium Live browser β launched locally or connected remotely Use Cases
Six capability groups covering the full surface area of a live Chrome browser β from clicking pixels to profiling paint timelines.
Flexibility
Whether you want a fresh headless session or to ride along with your existing browser tabs, Browser Control adapts.
The MCP server starts Chrome automatically with a dedicated profile. Zero setup required β just configure your MCP client and go.
Uses a persistent user-data-dir so state survives between sessions.
Attach to your running Chrome instance. Great for mixing manual and agent-driven testing without losing login sessions.
Requires enabling remote debugging in chrome://inspect/#remote-debugging.
Point the server at any --remote-debugging-port. Works across VMs, containers, and sandboxed environments over port-forwarding.
Supports custom WebSocket endpoints and Authorization headers.
Coming Soon
Be the first to know when Browser Control launches as an OpenClaw plugin.