cdp-tools-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cdp-tools-mcpSet a breakpoint on line 42 of app.js and inspect the user variable."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cdp-tools-mcp
Give AI agents real debugging superpowersโbreakpoints, variable inspection, and browser automation through Chrome DevTools Protocol.
npx cdp-tools-mcp@latestStop guessing, start debugging. AI can read your code, but it can't see what happens when it runs. This MCP server changes thatโgiving your agent the same debugging tools you use in DevTools: set breakpoints, inspect variables mid-execution, watch network requests, and step through code line by line.
Record once, replay forever. Found a bug that requires 5 clicks to reproduce? Record the sequence once, then replay it instantly after every fix. No tokens wasted re-navigating, no "click the blue button" back-and-forth.
Features
Your AI agent gets access to:
๐ Set breakpoints and step through your code
๐ Inspect variables and call stacks at runtime
๐ Monitor console logs and network requests
๐ Automate browser interactions with smart element discovery
๐ Debug both Chrome and Node.js applications simultaneously
๐ค Multi-agent support: Nested Claude agents can each manage their own browser tabs
๐ฏ Targeted Server Management: MCP that monitors ports and manages server processes automatically. If something fails, all tools are blocked until the LLM fixes the issue.
๐ Issues Tracking: Track bugs and features with recorded reproduction sequences that verify fixes automatically
Quick Start
Claude Code:
claude mcp add cdp-tools -- npx cdp-tools-mcp@latestClaude Desktop โ add to your config file:
{
"mcpServers": {
"cdp-tools": {
"command": "npx",
"args": ["-y", "cdp-tools-mcp@latest"]
}
}
}Other MCP clients โ run npx cdp-tools-mcp@latest via stdio transport.
Key Features
Runtime Debugging
Breakpoint Management: Set, remove, and list breakpoints (including conditional breakpoints and logpoints)
DOM/Event/XHR Breakpoints: Pause on DOM mutations, event dispatches, or network requests
Execution Control: Pause, resume, step over/into/out
Variable Inspection: Examine call stacks, variables, and scopes at runtime
Source Map Support: Debug TypeScript code with automatic source map detection
Universal: Works with both Chrome browsers and Node.js applications
Browser Automation (Chrome only)
Smart Navigation: Navigate with automatic clickable element caching
Element Discovery: Navigation automatically caches all interactive elements (links, buttons, inputs) with viewport-aware filtering
DOM Inspection: Query elements, get properties, take screenshots
User Interaction: Click, type, hover, press keys
Console & Network Monitoring: Track logs and HTTP requests with deep serialization
Storage Access: Inspect and modify localStorage, sessionStorage, cookies
Interaction Recording: Record mouse, keyboard, and navigation events with visual overlay
Test Export: Export recordings as Playwright or Puppeteer tests
Multi-Agent Support
Tab Management: Nested Claude agents can each create and manage their own browser tabs within the same Chrome instance
Connection Management: Debug Chrome and Node.js simultaneously with isolated connections
Port Handling: Automatic port assignment prevents conflicts when running multiple sessions
Server Management
Language-Agnostic: Run any command - npm, flask, docker, or custom scripts
Docker Support: Native support for Docker containers and Docker Compose stacks
Multi-Session Coordination: Multiple MCP sessions share the same dev servers without port conflicts
Port Monitoring: Detect server failures with configurable response levels (inform, error, block)
Persistent State: Server PIDs, ports, and config survive session restarts
Auto-Restart: Servers with autoRun enabled restart automatically with exponential backoff
Cross-Session Logs: File-based logging lets any session read server output
Issues Tracking
Bug & Feature Workflow: Create issues, record reproduction steps, and verify fixes with automated replay
Sequence-Based Verification:
workOnnavigates to context,resolvereplays and confirms the fix
Example Usage
Web Debugging:
1. Ask Claude: "Launch Chrome and navigate to https://myapp.com"
2. Claude launches browser, caches all clickable elements
3. Ask: "Find all login-related links"
4. Claude searches cached elements instantly
5. Ask: "Click the login button and watch for errors"
6. Claude interacts and monitors console/networkNode.js Debugging:
1. Start your app: node --inspect=9229 app.js
2. Ask Claude: "Connect to my Node app and set a breakpoint in user.js line 42"
3. Trigger the code path
4. Ask: "What are the values of userId and userRole?"
5. Claude inspects variables and provides insightsDocumentation
Comprehensive Guide - Detailed usage, examples, and advanced patterns
Tool Instructions - MCP tool reference and best practices
Message Templates - Response formats and error messages
Why cdp-tools-mcp?
vs Chrome DevTools MCP:
โ Breakpoint debugging - Set breakpoints, step through code, inspect variables at runtime
โ Node.js debugging - Debug backend applications, not just browsers
โ Multi-connection support - Debug Chrome and Node.js simultaneously
โ Logpoints - Add logging without modifying source code
โ Replay System - Record and replay command sequences for testing and automation
Best for: Backend debugging, full-stack debugging, understanding code execution flow
Chrome DevTools MCP is better for performance analysis, device emulation, and advanced browser automation.
Try It Out
Check out our test application with 8 debug challenges covering DOM bugs, network issues, breakpoints, logpoints, and multi-connection debugging.
Installation from Source
git clone https://github.com/InDate/cdp-tools-mcp.git
cd cdp-tools-mcp
npm install
npm run build
npm startContributing
Contributions welcome! This is a prototype for demonstrating runtime debugging capabilities for LLMs. Feel free to extend and improve it based on your needs.
License
MIT
What's New
Latest
Issues Tracking: New
issuestool for bug/feature tracking with recorded reproduction sequences and automated verificationRecording Survives Navigation: Overlay persists across page refresh with proper connection cleanup
Interaction Recording: Record mouse clicks, drags, scrolls, keyboard input, and navigation events with a visual overlay - add comments during recording with Ctrl+Shift+C
Visual Replay Cursor: See exactly where clicks happen during replay with animated cursor and ripple effects
Test Export: Export recordings as Playwright (.spec.ts) or Puppeteer (.test.js) tests with
export({ name: "my-test", format: "playwright" })Config Management: New
configtool to manage settings - switch between local/global config, backup, reset, and view current configurationCross-Directory Server Access: Use
global: trueflag to access servers started from a different working directoryDOM/Event/XHR Breakpoints: Pause on DOM mutations (
setDOMBreakpoint), event dispatches (setEventBreakpoint), or network requests (setXHRBreakpoint) using CDP's DOMDebugger domainReplay Repeat Action: Instantly re-execute commands from history with
replay({ action: 'repeat', indices: [0, 1, 2] })- each tool response now shows its history index for easy repetitionUI Verification: Detect dead buttons, broken links, small touch targets, and overflow issues with CDP-based verification - no heuristics, just facts
DOM Change Detection: See exactly what changed after each click, type, or hover - no more guessing what a button did
Port Monitoring: Detect server failures with
monitorPortaction - configurable levels (inform, error, block) affect tool responses when monitored ports go downDocker Support: Server management now supports Docker containers and Docker Compose stacks alongside native processes
Language-Agnostic Servers: Generic command execution replaces npm-specific logic - run any command (flask, python, go, etc.)
Variable Inspection Fallbacks:
getVariablesgracefully degrades when data exceeds token limits (full โ depth reduced โ names only โ counts only)Stale Connection Cleanup: Auto-detects and removes dead connections when Chrome is killed externally or tabs are closed
Breakpoint Pause Detection: Input actions now detect and report when they trigger breakpoints
Multi-Session Server Coordination: Multiple MCP sessions share dev servers with persistent state, auto-restart, and cross-session log access
Webpack Eval Support: Code search now extracts actual source from webpack eval wrappers
Lazy Source Map Loading: On-demand loading improves startup performance
Cache-Busting Breakpoints: Breakpoints survive rebuilds with changing query params
Flexible Connection References: Lookups now tolerate minor formatting variations
Enhanced Replay System: Record and replay command sequences for testing and automation
Conditional Commands: Sequences can branch based on runtime conditions (selectors, URLs, cookies, localStorage) with configurable depth limits
Smart Element Caching: Navigation automatically caches all clickable elements for instant discovery
Viewport-Aware Filtering: Shows only visible elements by default, searches all when filtering
Consolidated Tool API: Action-based tool schemas reduce tool count and improve usability
Debug Logging: Track server operations with
setDebugLogging({ enabled: true })
See the docs for detailed feature documentation.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/InDate/cdp-tools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server