SkillAgentSearch skills...

DebugMCP

Gift your VS Code agent a real debugger: breakpoints, stepping, inspection.

Install / Use

claude mcp add microsoft -- npx -y github:microsoft/DebugMCP

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

89/100

Supported Platforms

Claude Code
Claude Desktop
Cursor
GitHub Copilot

Tags

DebugMCP (MCP Server) - Empowering AI Agents with Operational Debugging Capabilities

Let AI agents debug your code inside VS Code - set breakpoints, step through execution, inspect variables, and evaluate expressions. Works with Codex, GitHub Copilot, GitHub Copilot CLI, Cline, Cursor, Windsurf, Roo Code, and any MCP-compatible assistant. Compatible with any VS Code supported coding language.

License: MIT VS Code Version VS Marketplace

If you find DebugMCP useful, please star the repo on GitHub! It helps others discover the project and motivates continued development.

📢 Developers Notice: This extension is maintained by ozzafar@microsoft.com and orbarila@microsoft.com. We welcome feedback and contributions to help improve this extension.

🎬 Watch DebugMCP in action — your AI assistant autonomously sets breakpoints, steps through code, and inspects variables directly in VS Code.

<p align="center"> <img src="assets/DebugMCP.gif" width="800"> </p>

✨ What's New

2.2

  • Cross-agent debug-live skill install — the systematic debugging workflow ships as an Agent Skill and is now installed into the standard skills directories~/.agents/skills/ (the cross-agent location honored by skills-compatible harnesses, including VS Code agent mode) and ~/.copilot/skills/ when present — so it's discoverable everywhere instead of being copied next to each agent's config where nothing scans it (fixes #105, where VS Code never loaded the skill). The server also advertises MCP instructions and the start_debugging tool points at the skill for the full workflow.
  • Pause running programs — new pause_execution tool interrupts a freely-running program and stops at its current location, even with no breakpoint set (great for busy loops and embedded/bare-metal targets), so you can then inspect state or step from there.
  • Robust debugging via the VS Code Testing APIstart_debugging with a testName uses the VS Code Testing API to discover and launch the test, producing consistent breakpoint hits inside individual test cases across language test runners (pytest, Jest/Vitest, Java, .NET, Go, etc.).

🚀 Quick Install

Install from VS Code Marketplace or use the direct link: vscode:extension/ozzafar.debugmcpextension

Table of Contents

Overview

DebugMCP is an MCP server that gives AI coding agents full control over the VS Code debugger. Instead of reading logs or guessing, your AI assistant can autonomously set breakpoints, launch debug sessions, step through code line by line, inspect variable values, and evaluate expressions — just like a human developer would. It runs 100% locally, requires zero configuration, and works out of the box with any MCP-compatible AI assistant.

Features

🔧 Tools

| Tool | Description | Parameters | |------|-------------|------------| | start_debugging | Start a debug session for a source code file | fileFullPath (required)<br>workingDirectory (required)<br>testName (optional)<br>configurationName (optional) | | stop_debugging | Stop the current debug session | None | | step_over | Execute the next line (step over function calls) | None | | step_into | Step into function calls | None | | step_out | Step out of the current function | None | | continue_execution | Continue until next breakpoint | None | | pause_execution | Interrupt a freely-running program and stop at its current location (no breakpoint needed) | None | | restart_debugging | Restart the current debug session | None | | add_breakpoint | Add a breakpoint at a specific line (optionally conditional) | fileFullPath (required)<br>line (required, 1-based)<br>condition (optional) | | add_logpoint | Add a logpoint that logs a message (instead of pausing) when a line is reached | fileFullPath (required)<br>line (required, 1-based)<br>logMessage (required, {expr} interpolated)<br>condition (optional) | | remove_breakpoint | Remove a breakpoint from a specific line | fileFullPath (required)<br>line (required) | | clear_all_breakpoints | Remove all breakpoints at once | None | | list_breakpoints | List all active breakpoints | None | | list_variable_names | List names and types of variables in scope, without reading any values | scope (optional: 'local', 'global', 'all') | | get_variables_values | Get the values of specifically named variables at the current execution point | variableNames (required, e.g. ["user","response"])<br>scope (optional: 'local', 'global', 'all') | | evaluate_expression | Evaluate an expression in debug context | expression (required) |

Note: The MCP server exposes tools for debugger actions, while the procedural workflow guidance (when to debug, how to structure a root-cause investigation, language-specific quirks) lives in the companion Agent Skill. Tool descriptions stay terse and behavioral; the extension installs the debug-live skill into the standard skills directories (~/.agents/skills/, plus ~/.copilot/skills/ when present) so skills-compatible harnesses load the full workflow on demand. The server also advertises MCP instructions pointing agents at it before debugging.

🎯 Debugging Best Practices

DebugMCP follows systematic debugging practices for effective issue resolution:

  • Start with Entry Points: Begin debugging at function entry points or main execution paths
  • Follow the Execution Flow: Use step-by-step execution to understand code flow
  • Root Cause Analysis: Don't stop at symptoms - find the underlying cause

🛡️ Security & Reliability

  • Secure Communication: All MCP communications use secure protocols
  • Local Operation: The MCP server runs 100% locally with no external communications and requires no credentials
  • State Validation: Robust validation of debugging states and operations

Installation

Quick Install Options

Option 1: Direct Link (Fastest)

Option 2: VS Code Marketplace

Option 3: Within VS Code

  1. Open VSCode
  2. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
  3. Search for "DebugMCP"
  4. Click Install
  5. The extension automatically activates and registers as an MCP server

Verification

After installation, you should see:

  • DebugMCP extension in your installed extensions
  • MCP server automatically running on port 3001 (configurable)
  • Debug tools available to connected AI assistants

📝 Note: No additional debugging rule instructions are needed - the extension works out of the box.

💡 Tip: Enable auto-approval for all debugmcp tools in your AI assistant to create seamless debugging workflows without constant approval interruptions.

Quick Start

  1. Install the extension (see Installation)
  2. Open your project in VSCode
  3. Ask your AI to debug - it can now set breakpoints, start debugging, and analyze your code!

Supported AI Assistants

DebugMCP works with any MCP-compatible AI assistant. It auto-detects and offers to register itself with:

| Assistant | Auto-Registration | Manual Config | |-----------|:-----------------:|:-------------:| | GitHub Copilot | ✅ | See config | | GitHub Copilot CLI | ✅ | See config | | Cline | ✅ | See config | | Cursor | ✅ | See config | | Codex | ✅ | See config | | Windsurf | ✅ | See config | | Roo Code | ✅ | See config | | Antigravity | ✅ | See config | | Any MCP-compatible assistant | — | See manual setup |

Supported Languages

DebugMCP supports debugging for the following languages with their respective VSCode extensions:

| Language | Extension Required | File Extensions | Status | |----------|-------------------|-----------------|---------| | Python | Python | .py | ✅ Fully Supported | | JavaScript/TypeScript | Built-in / JS Debugger | .js, .ts, .jsx, .tsx | ✅ Fully Supported | | Java | Extension Pack for Java | .java | ✅ Fully Supported | | C/C++ | C/C++ | .c, .cpp, .cc | ✅ Fully Supported | | Go | Go | .go | ✅ Fully Supported | | Rust | rust-analyzer | .rs | ✅ Fully Supported | | PHP | PHP Debug | .php | ✅ Fully Supported | | Ruby | Ruby | .rb | ✅ Fully Supported | | C#/.NET | C# | .cs, .csproj | ✅ Fully Supported |

Configuration

MCP Server Configuration (Recommended)

The extension runs an MCP server automatically. It will pop up a message to auto-register the MCP server in your AI assistant.

You can also trigger the registration manually via the Command Palette:

  • DebugMCP: Show Agent Selection Popup

Manual MCP Server Registration (Optional)

🔄 Auto-Migration: If you previously configured DebugMCP with SSE transport, the extension will automatically migrate your configuration to the new Streamable HTTP transport on activation.

Cline

Add to your Cline settings or cline_mcp_settings.json:

{
  "mcpServers": {
    "debugmcp": {
      "type": "streamableHttp",
      "url": "http://localhost:3001/mcp",
      "description": "DebugMCP - AI-powered debugging assistant"
    }
  }
}

GitHub Copilot

Add to your VS Code settings (settings.json):

{
  "mcp": {
    "servers": {
      "debugmcp": {
        "type": "http",
        "url": "http://localhost:3001/mcp",
        "description": "DebugMCP - Multi-language debugging support"
      }
    }
  }
}

GitHub Copilot CLI

Add to ~/.copilot/mcp-config.json (${COPILOT_HOME}/mcp-config.json if COPILOT_HOME is set):

{
  "mcpServers": {
    "debugmcp": {
      "type": "http",
      "url": "http://lo

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars513
CategoryAI
Updated4d ago
Forks60

Languages

TypeScript

Security Score

95/100

Audited on Sep 17, 2026

1 low