Provides ESLint-style rule enforcement and code quality analysis without requiring separate ESLint tools to be run.
Provides real-time debugging, code quality monitoring, build integration, SSR monitoring, and performance insights for Next.js applications.
Provides Chrome DevTools integration for full browser debugging capabilities, including breakpoint management, network monitoring, and error capture.
Provides real-time debugging, component analysis, state tracking, prop drilling detection, hook monitoring, and performance insights for React applications.
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., "@Debugger MCP Servershow me any errors in the last hour"
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.
Debugger MCP Server
A comprehensive development companion tool that provides real-time debugging, code quality monitoring, and AI-enhanced insights for React/Next.js applications via the Model Context Protocol (MCP).
π Features
Traditional Debugging
Error Capture: Caught/uncaught errors, console errors, promise rejections
Chrome DevTools Integration: Full browser debugging capabilities via Puppeteer
Breakpoint Management: Set, remove, and manage breakpoints with analytics
Conditional Breakpoints: Advanced breakpoint conditions and hit count tracking
Logpoints: Non-intrusive debugging with dynamic log messages
Network Monitoring: Track API calls, failed requests, performance
Real-time Streaming: Live error and performance data
Code Quality Monitoring
Complexity Analysis: Cyclomatic complexity, function metrics, nesting depth
Rule Enforcement: ESLint-style rules without running separate tools
Pattern Detection: Naming conventions, import patterns, architecture compliance
File Watching: Real-time analysis on code changes
React/Next.js Specific
Component Analysis: State tracking, prop drilling detection
Hook Monitoring: useEffect dependencies, hook rule compliance
Performance Insights: Render times, bundle analysis, SSR monitoring
Build Integration: Real-time feedback during development
π¦ Installation
# Clone the repository
git clone <repository-url>
cd debugger-mcp
# Install dependencies
npm install
# Build the project
npm run buildπ― Quick Start
1. Start the MCP Server
# Development mode (with hot reload)
npm run dev
# Production mode
npm start2. Connect to Claude Desktop
Add this to your Claude Desktop MCP configuration:
{
"mcpServers": {
"debugger": {
"command": "node",
"args": ["/path/to/debugger-mcp/dist/index.js"],
"env": {}
}
}
}3. Test the Connection
In Claude Desktop, try these commands:
# Get current debugging session info
Use the get-debug-session tool
# Check for errors
Use the get-errors tool
# Analyze code complexity
Use the analyze-complexity tool with filePath: "src/components/MyComponent.tsx"π Available MCP Tools
Tool | Description | Parameters |
| Get current debugging session information | None |
| Get current errors and exceptions |
|
| Get code quality rule violations |
|
| Analyze complexity metrics for a file |
|
| Get performance metrics and insights |
|
| Set, remove, and manage debugging breakpoints |
|
| Update debugger configuration |
|
π‘ Available MCP Resources
Resource | Description | URI |
Error Stream | Real-time stream of errors |
|
Violation Stream | Real-time code quality violations |
|
Performance Stream | Real-time performance metrics |
|
π Breakpoint Management
The debugger provides comprehensive breakpoint management capabilities through the manage-breakpoints tool:
Setting Breakpoints
# Set a simple breakpoint
Use the manage-breakpoints tool with:
- action: "set"
- location: { "filePath": "src/components/App.tsx", "lineNumber": 25 }
# Set a conditional breakpoint
Use the manage-breakpoints tool with:
- action: "set"
- location: { "filePath": "src/utils/api.ts", "lineNumber": 15 }
- options: { "condition": "response.status >= 400" }
# Set a logpoint (non-intrusive debugging)
Use the manage-breakpoints tool with:
- action: "set"
- location: { "filePath": "src/hooks/useAuth.ts", "lineNumber": 30 }
- options: { "logMessage": "User login attempt: ${user.email}" }Managing Breakpoints
# List all breakpoints
Use the manage-breakpoints tool with action: "list"
# Remove a specific breakpoint
Use the manage-breakpoints tool with:
- action: "remove"
- breakpointId: "bp-123"
# Clear all breakpoints
Use the manage-breakpoints tool with action: "clear"
# Toggle breakpoints on/off
Use the manage-breakpoints tool with:
- action: "toggle"
- active: falseBreakpoint Analytics
# Get breakpoint analytics and hit statistics
Use the manage-breakpoints tool with action: "analytics"This provides detailed information about:
Total breakpoints and hit counts
Most frequently hit breakpoints
Hit statistics by file and time
Recent breakpoint activity
βοΈ Configuration
The debugger creates a .debugger-mcp.json configuration file with these options:
{
"complexity": {
"maxFileLines": 300,
"maxFunctionComplexity": 10,
"maxFunctionParams": 5,
"maxNestingDepth": 4
},
"patterns": {
"namingConventions": {
"components": "^[A-Z][a-zA-Z0-9]*$",
"hooks": "^use[A-Z][a-zA-Z0-9]*$"
}
},
"watching": {
"paths": ["src", "pages", "components"],
"ignored": ["node_modules", ".git", "dist"]
},
"browser": {
"autoConnect": true,
"port": 9222
},
"breakpoints": {
"maxRecentHits": 100,
"autoRemoveAfterHits": null,
"enableAnalytics": true,
"persistBreakpoints": true,
"logpointTimeout": 5000,
"enableConditionalBreakpoints": true,
"enableLogpoints": true
}
}π§ Development
# Run in development mode
npm run dev
# Build the project
npm run build
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run formatπ Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Debugger MCP Server β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β MCP Interface β
β β’ Tools for querying data β β’ SSE streaming β
β β’ Configuration management β β’ Real-time updates β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Core Debugging Engine β
β β’ Chrome DevTools Protocol β β’ File System Watcher β
β β’ Code Quality Analysis β β’ Performance Monitor β
β β’ Error Tracking β β’ Stream Management β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Real-time Communication β
β β’ Live error streaming β β’ Configuration updates β
β β’ Performance metrics β β’ Code quality alerts β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββπ― Use Cases
During Development
Real-time feedback on code quality as you type
Immediate error detection without waiting for builds
Performance monitoring of your React components
Architecture compliance checking
Code Review
Complexity analysis of changed files
Pattern compliance verification
Performance impact assessment
Debugging
Live error tracking across browser and build
Network request monitoring
Component state inspection
Performance bottleneck identification
π€ Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests
Submit a pull request
π License
MIT License - see LICENSE file for details
π Support
Issues: Report bugs and feature requests on GitHub
Documentation: Check the docs/ directory for detailed guides
Examples: See examples/ directory for usage examples
Built with β€οΈ for the React/Next.js development community