Skip to main content
Glama

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 start

2. 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-debug-session

Get current debugging session information

None

get-errors

Get current errors and exceptions

severity?, timeframe?

get-violations

Get code quality rule violations

severity?, filePath?

analyze-complexity

Analyze complexity metrics for a file

filePath

get-performance

Get performance metrics and insights

timeframe?

manage-breakpoints

Set, remove, and manage debugging breakpoints

action, location?, options?, breakpointId?, active?

update-config

Update debugger configuration

config

πŸ“‘ Available MCP Resources

Resource

Description

URI

Error Stream

Real-time stream of errors

stream://errors

Violation Stream

Real-time code quality violations

stream://violations

Performance Stream

Real-time performance metrics

stream://performance

πŸ” 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: false

Breakpoint 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

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests

  5. 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

-
security - not tested
F
license - not found
-
quality - not tested

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/Phoenixrr2113/debugger-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server