Official Google project — gives AI coding agents full Chrome DevTools access via the Model Context Protocol (MCP).
Free, open-source, runs locally with your own Chrome browser. No cloud dependency, no usage limits.
node --version)which google-chrome or which chromium-browser)wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo apt install -y ./google-chrome-stable_current_amd64.debbrew install --cask google-chromechromium-browser or Chrome for Testingnpm i -g chrome-devtools-mcp
Or run directly with npx (no global install):
npx -y chrome-devtools-mcp@latest
Add to your agent's MCP config (config.yaml, .mcp.json, etc.):
Standard config:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]
}
}
}
Slim mode (lightweight, basic browser tasks only, lower resource usage):
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless", "--no-usage-statistics"]
}
}
}
Claude Code plugin (MCP + skills):
/plugin marketplace add ChromeDevTools/chrome-devtools-mcp
/plugin install chrome-devtools-mcp
OpenClaw (in config.yaml):
mcp:
servers:
chrome-devtools:
command: npx
args: ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]
click — Click elements by uid from snapshotdrag — Drag one element onto anotherfill — Type text into input/textarea/selectfill_form — Fill out multiple form fields at oncehandle_dialog — Accept/dismiss browser dialogshover — Hover over an elementpress_key — Press keys or shortcuts (Enter, Ctrl+A, etc.)type_text — Type into focused input with optional submit keyupload_file — Upload file through file input elementnavigate_page — Navigate to URLnew_page — Open new browser page/tabclose_page — Close page by indexlist_pages — List all open pagesselect_page — Switch active pagewait_for — Wait for condition (selector, text, network, etc.)take_snapshot — Get page accessibility tree with element UIDstake_screenshot — Screenshot of page or element (PNG/JPEG)evaluate_script — Run arbitrary JS in page contextlist_console_messages — Get console.log/warn/error outputget_console_message — Get specific console message detailslighthouse_audit — Run full Lighthouse audit (performance, a11y, SEO, best practices)performance_start_trace — Start Chrome performance trace recordingperformance_stop_trace — Stop trace and get resultsperformance_analyze_insight — Get actionable performance insights from tracetake_memory_snapshot — Capture heap snapshot for memory analysislist_network_requests — Get all network requests (URL, status, timing, size)get_network_request — Get details for specific requestemulate — Emulate device (mobile/tablet), geolocation, CPU throttling, network throttlingresize_page — Resize viewport to specific dimensionsnavigate_page(url) → get page loaded
take_snapshot() → get element tree with UIDs
click(uid) → click an element
fill(uid, value) → fill a form field
press_key("Enter") → submit form
wait_for({type: "selector", selector: ".result"}) → wait for result
take_snapshot() → see updated page state
list_console_messages() → check for JS errors
list_network_requests() → check API calls
take_screenshot() → visual verification
evaluate_script("document.querySelector('.price').textContent") → extract data
lighthouse_audit() → full performance/SEO/a11y audit
performance_start_trace() → start perf trace
Use Chrome DevTools MCP when:
browser_* tools fail (Browserbase limits, timeouts)Still use built-in browser_* tools when:
--headless flag with MCP)web_extract or web_search first)MCP vs dev-browser:
dev-browser is a fallback for scripts and repeatable workflowsChrome not found:
# Ubuntu/Debian amd64:
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install -y ./google-chrome-stable_current_amd64.deb
# Or use Chrome for Testing:
npx @puppeteer/browsers install chrome@stable
# macOS:
brew install --cask google-chrome
Node.js version too old:
node --version # needs v20.19+
# Use nvm to upgrade:
nvm install 22
nvm use 22
MCP server won't connect:
npx -y chrome-devtools-mcp@latest --headless for headless environments--no-usage-statistics flag to disable Google telemetry共 1 个版本