Safe-by-default MCP that drives an Electron/Chrome app over CDP: DOM, console, network, input.
Connect Runs on your machine
claude mcp add mcp-cdp -e CDP_PORT=<CDP_PORT> -e CDP_HOST=<CDP_HOST> -e CDP_MODE=<CDP_MODE> -e CDP_ALLOW_EVAL=<CDP_ALLOW_EVAL> -e CDP_TARGET_ALLOWLIST=<CDP_TARGET_ALLOWLIST> -e CDP_DRY_RUN=<CDP_DRY_RUN> -- npx -y @dockndevai/[email protected]
{
"mcpServers": {
"mcp-cdp": {
"command": "npx",
"args": [
"-y",
"@dockndevai/[email protected]"
],
"env": {
"CDP_PORT": "<CDP_PORT>",
"CDP_HOST": "<CDP_HOST>",
"CDP_MODE": "<CDP_MODE>",
"CDP_ALLOW_EVAL": "<CDP_ALLOW_EVAL>",
"CDP_TARGET_ALLOWLIST": "<CDP_TARGET_ALLOWLIST>",
"CDP_DRY_RUN": "<CDP_DRY_RUN>"
}
}
}
}
{
"mcpServers": {
"mcp-cdp": {
"command": "npx",
"args": [
"-y",
"@dockndevai/[email protected]"
],
"env": {
"CDP_PORT": "<CDP_PORT>",
"CDP_HOST": "<CDP_HOST>",
"CDP_MODE": "<CDP_MODE>",
"CDP_ALLOW_EVAL": "<CDP_ALLOW_EVAL>",
"CDP_TARGET_ALLOWLIST": "<CDP_TARGET_ALLOWLIST>",
"CDP_DRY_RUN": "<CDP_DRY_RUN>"
}
}
}
}
{
"servers": {
"mcp-cdp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dockndevai/[email protected]"
],
"env": {
"CDP_PORT": "<CDP_PORT>",
"CDP_HOST": "<CDP_HOST>",
"CDP_MODE": "<CDP_MODE>",
"CDP_ALLOW_EVAL": "<CDP_ALLOW_EVAL>",
"CDP_TARGET_ALLOWLIST": "<CDP_TARGET_ALLOWLIST>",
"CDP_DRY_RUN": "<CDP_DRY_RUN>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
CDP_PORTOptional | The --remote-debugging-port your app/browser exposes (default 9222). |
CDP_HOSTOptional | Host serving the DevTools endpoint (default 127.0.0.1; non-loopback needs CDP_ALLOW_REMOTE). |
CDP_MODEOptional | Access mode: read-only | read-write | admin. Starts read-only; interactions need read-write. |
CDP_ALLOW_EVALOptional | Set true to allow the evaluate tool (arbitrary JS) โ admin mode only. Default false. |
CDP_TARGET_ALLOWLISTOptional | Comma-separated URL patterns; interactions are confined to matching targets. Empty = all. |
CDP_DRY_RUNOptional | Set true to log interactions without dispatching them to the browser. |
Details
| Package | @dockndevai/[email protected] (NPM, stdio) |
| First published | 26 Oct 2026 |
| Last updated | 26 Oct 2026 |
| Registry name | io.github.dockndevai/mcp-cdp |
More browser automation servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
