Browser Tool (Chrome DevTools MCP)
Peekaboo exposes a native browser tool that brokers Chrome DevTools MCP. Use it for Chrome page content:
- DOM/accessibility snapshots
- page-level click/fill/type/navigation
- console and network inspection
- page screenshots
- performance traces
Use Peekaboo native tools for macOS UI, browser chrome, menus, dialogs, permissions, window management, and non-browser apps.
#Permission flow
Chrome DevTools MCP --auto-connect attaches to an already-running Chrome profile. It requires:
- Chrome 144 or newer.
- Chrome running locally.
- Remote debugging enabled at
chrome://inspect/#remote-debugging. - User approval in Chrome's remote debugging permission prompt.
Peekaboo does not approve that prompt automatically. The browser tool reports instructions when it is disconnected or when connection fails.
#Privacy defaults
Peekaboo starts Chrome DevTools MCP with:
npx -y chrome-devtools-mcp@latest \
--auto-connect \
--channel=<stable|beta|dev|canary> \
--no-usage-statistics \
--no-performance-crux
For deterministic local tests or custom Chrome endpoints:
PEEKABOO_BROWSER_MCP_ISOLATED=1lets Chrome DevTools MCP launch a temporary Chrome profile.PEEKABOO_BROWSER_MCP_HEADLESS=1makes that launched browser headless.PEEKABOO_BROWSER_MCP_BROWSER_URL=http://127.0.0.1:9222connects to an explicit debuggable Chrome endpoint instead of auto-connect.
The tool can expose page content, cookies/session-backed data visible to the page, console messages, network requests, screenshots, and traces to the active agent/MCP client. Do not enable it for browser profiles containing sensitive data unless that exposure is acceptable.
#Persistence
Browser MCP state is owned by BrowserMCPService.
- In a local MCP process, the browser tool uses the
BrowserMCPServicefromMCPToolContext. - In daemon-backed mode,
RemotePeekabooServicesforwards browser status/connect/execute calls over the Bridge socket. - The daemon owns the
chrome-devtools-mcpchild process, selected page state, and snapshot UID state. - This lets separate
peekaboo mcp servestdio sessions reuse the same browser connection.
Use peekaboo daemon status to see browser connection state, tool count, and detected Chrome channels.
#Actions
Common actions:
statusconnectdisconnectlist_pagesselect_pagenew_pagenavigatewait_forsnapshotclickfilltypepress_keyconsolenetworkscreenshotperformance_trace
Advanced escape hatch:
callwithmcp_toolandmcp_args_jsonforwards a raw Chrome DevTools MCP call.
#Examples
{ "action": "status" }
{ "action": "connect", "channel": "stable" }
{ "action": "snapshot" }
{ "action": "fill", "uid": "1_7", "value": "[email protected]", "include_snapshot": true }
{ "action": "network", "page_size": 20, "resource_types": ["xhr", "fetch"] }
{ "action": "performance_trace", "trace_action": "start", "reload": true, "auto_stop": true }