MCP Hub
Back to servers

DebugMCP

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

GitHub
Stars
204
Forks
14
Updated
Mar 14, 2026
Validated
Mar 16, 2026

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

Let AI agents debug your code inside VS Code — set breakpoints, step through execution, inspect variables, and evaluate expressions. Works with GitHub Copilot, Cline, Cursor, and any MCP-compatible assistant. Supports Python, JavaScript/TypeScript, Java, C#, C++, Go, Rust, PHP, and Ruby.

📢 Beta Version Notice: This is a beta version of DebugMCP maintained by ozzafar@microsoft.com and orbarila@microsoft.com. We welcome feedback and contributions to help improve this extension.

License: MIT VS Code Version VS Marketplace

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

DebugMCP Demo

🚀 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

ToolDescriptionParameters
get_debug_instructionsGet the debugging guide with best practices and workflow instructionsNone
start_debuggingStart a debug session for a source code filefileFullPath (required)
workingDirectory (required)
testName (optional)
configurationName (optional)
stop_debuggingStop the current debug sessionNone
step_overExecute the next line (step over function calls)None
step_intoStep into function callsNone
step_outStep out of the current functionNone
continue_executionContinue until next breakpointNone
restart_debuggingRestart the current debug sessionNone
add_breakpointAdd a breakpoint at a specific linefileFullPath (required)
lineContent (required)
remove_breakpointRemove a breakpoint from a specific linefileFullPath (required)
line (required)
clear_all_breakpointsRemove all breakpoints at onceNone
list_breakpointsList all active breakpointsNone
get_variables_valuesGet variables and their values at current execution pointscope (optional: 'local', 'global', 'all')
evaluate_expressionEvaluate an expression in debug contextexpression (required)

Note: The get_debug_instructions tool is particularly useful for AI clients like GitHub Copilot that don't support MCP resources. It provides the same debugging guide content that is also available as an MCP resource.

🎯 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 Languages

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

LanguageExtension RequiredFile ExtensionsStatus
PythonPython.py✅ Fully Supported
JavaScript/TypeScriptBuilt-in / JS Debugger.js, .ts, .jsx, .tsx✅ Fully Supported
JavaExtension Pack for Java.java✅ Fully Supported
C/C++C/C++.c, .cpp, .cc✅ Fully Supported
GoGo.go✅ Fully Supported
Rustrust-analyzer.rs✅ Fully Supported
PHPPHP Debug.php✅ Fully Supported
RubyRuby.rb✅ Fully Supported
C#/.NETC#.cs✅ 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.

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"
      }
    }
  }
}

Cursor

Add to Cursor's MCP settings:

{
  "mcpServers": {
    "debugmcp": {
      "type": "streamableHttp",
      "url": "http://localhost:3001/mcp",
      "description": "DebugMCP - Debugging tools for AI assistants"
    }
  }
}

Extension Settings

Configure DebugMCP behavior in VSCode settings:

{
  "debugmcp.serverPort": 3001,
  "debugmcp.timeoutInSeconds": 180
}
SettingDefaultDescription
debugmcp.serverPort3001Port number for the MCP server
debugmcp.timeoutInSeconds180Timeout for debugging operations

FAQ

Which AI assistants are supported?

DebugMCP works with any MCP-compatible AI assistant, including GitHub Copilot, Cline, Cursor, Roo Code, Windsurf, and others. If your assistant supports the Model Context Protocol, it can use DebugMCP.

Does it work with VS Code Remote SSH / Codespaces / WSL?

Yes. DebugMCP runs as a VS Code extension with extensionKind: workspace, so it activates in the remote environment where your code lives. The MCP server runs on localhost within that remote context.

Do I need to configure launch.json?

No. DebugMCP automatically generates appropriate debug configurations based on the file's language/extension. If you have a launch.json, it will use matching configurations from there. You can also specify a configuration by name using the configurationName parameter.

Is my code sent to any external service?

No. DebugMCP runs 100% locally. The MCP server runs on localhost, and no code, variables, or debug data is sent to any external service. The AI assistant communicates with the MCP server entirely within your local machine.

What if port 3001 is already in use?

Change the port in VS Code settings: "debugmcp.serverPort": 3002 (or any available port). Then update your AI assistant's MCP configuration to use the new port.

Can I debug unit tests?

Yes. Pass the testName parameter to start_debugging to debug a specific test method. DebugMCP will configure the debug session to run and pause at breakpoints within that test.

Why is my AI assistant not using the debug tools?

Make sure DebugMCP is registered in your AI assistant's MCP settings. The extension should auto-detect and offer to register itself. If not, see the Manual MCP Server Registration section. Also enable auto-approval for DebugMCP tools for a smoother workflow.

Troubleshooting

Common Issues

MCP Server Not Starting

  • Symptom: AI assistant can't connect to DebugMCP
  • Solution:
    • Check if port 3001 is available
    • Restart VSCode
    • Verify extension is installed and activated

How It Works

Architecture

DebugMCP Architecture

Launch Configuration Integration

The extension handles debug configurations intelligently:

  • Existing launch.json: If a .vscode/launch.json file exists, it will:

    • Search for a relevant configuration
    • Use a specific configuration if found
  • Default Configuration: If no launch.json exists or no relevant config, it creates an appropriate default configurations for each language based on file extension detection

Requirements

Development

To build the extension:

npm install
npm run compile

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Security

Security vulnerabilities should be reported following the guidance at https://aka.ms/SECURITY.md. Please do not report security vulnerabilities through public GitHub issues.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

⭐ Star History

Star History Chart

License

MIT License - See LICENSE for details

This extension was created by Oz Zafar, Ori Bar-Ilan and Karin Brisker.

Reviews

No reviews yet

Sign in to write a review