VSCode Debug MCP
VSCode MCP DAP Debugger
VSCode MCP DAP Debugger exposes VS Code's Debug Adapter Protocol (DAP) through the Model Context Protocol (MCP) and an integrated CLI.
This enables AI coding agents (such as Claude Code, Kilo Code, Gemini CLI, Cursor, Roo Code, Codex, and others) to interact programmatically with the active VS Code debugger: setting breakpoints, stepping through execution, inspecting runtime variables, and evaluating expressions against running processes.
Features
Launcher Auto-Configuration: Analyzes the workspace (Node.js, TypeScript, Python, Go, Rust, etc.) and generates or updates
.vscode/launch.jsonconfigurations prior to starting a debug session - including attach configurations for a service running inside Docker Compose, inspecting the referenced compose file for exposed debug ports and container names.Breakpoint Management: Programmatically adds, removes, and lists breakpoints, conditional breakpoints, and logpoints.
Execution Control: Controls step-over, step-into, step-out, pause, continue, and stop operations.
Variable Inspection: Reads local, global, closure, and nested variable states across active stack frames.
Expression Evaluation: Evaluates expressions directly in the context of the paused frame.
Multi-Session & Multi-Thread Support: Tracks all active debug sessions and worker threads with explicit
sessionIdandthreadIdrouting.Exception & Log Capture: Retrieves raw DAP protocol messages, debug console output, and exception traces.
Monitor Panel: A status dashboard (server state, port, workspace config) with an AI Agent Skills table to install, reinstall, or check the status of the skill guide per environment (Claude Code, Gemini CLI, Kilo Code, AGENTS.md) without touching files by hand.
Getting Started
Install the Extension:
Open VS Code.
Open the Extensions view (
Cmd+Shift+Xon macOS /Ctrl+Shift+Xon Windows/Linux).Search for VSCode MCP DAP Debugger and click Install.
Open a Project:
Open your project folder in VS Code.
Verify the status bar shows
● Debug MCP:8891(the MCP server starts automatically by default upon workspace load).

If the project already has a
.claude,.gemini, or.kilofolder (or anAGENTS.md), a prompt asks permission before writing the AI-agent skill guide there - this only appears once per workspace. You can also install/reinstall it anytime from the Monitor Panel's "AI Agent Skills" table (Debug MCP: Open Monitor Panel).
Launch your AI Assistant & Approve MCP:
Open a terminal inside your project directory.
Launch your AI coding assistant (e.g.
claudeorkilo).When prompted by the assistant CLI to approve the new MCP server/tools, grant permission.
Debug with AI:
Ask your AI assistant to debug a specific issue (e.g. "Set a breakpoint in
app.jsand trace the calculation error").The agent will discover the tools and control the active VS Code debugger.
This also covers launcher setup itself - e.g. "Configure my launcher to debug the service in
docker-compose.ymland set a breakpoint insrc/worker.py" - the agent inspects the compose file for the service's exposed debug port before writing the attach configuration.
Note on approval prompts: Claude Code (and similar CLIs) treat project-scoped MCP servers declared in
.mcp.jsonas untrusted until explicitly approved — this is a security gate, not a bug. The prompt only appears when the CLI starts a new session in the project directory: if a session was already running before the server was configured, it won't show up retroactively. Start (or restart) your AI assistant session in the project folder to trigger the prompt, then approvedap-proxy(or your configured server name) when asked. Check the current state anytime withclaude mcp list.
Tutorial & Sample Projects
Ready-to-run sample projects demonstrating debugging workflows from simple to advanced:
AI Debugging Tutorial: Step-by-step walkthrough covering breakpoint inspection, asynchronous exceptions, and multi-threaded debugging.
Sample 1: Basic Calculation Bug: Setting breakpoints and inspecting variables in synchronous code.
Sample 2: Async Data Pipeline: Trapping unhandled exceptions and stepping through asynchronous streams.
Sample 3: Multi-Threaded Workers: Inspecting worker threads and evaluating expressions across threads.
Extension Settings
All configuration options are available under the vscodeMcpDapDebugger.* namespace in settings.json:
Setting | Default | Description |
|
| Automatically start the MCP server when opening a workspace. |
|
| Preferred port for the local MCP server. If busy, the next available port is bound. |
|
| Configure auto-injection of skills per environment (Claude, Gemini, Kilo, AGENTS.md). |
|
| Maximum number of DAP protocol messages retained per session. |
|
| Maximum number of console output lines retained per session. |
|
| Maximum number of exception records retained per session. |
|
| Retention window (in minutes) for terminated session data before eviction. |
Security & Architecture
Local Loopback Only: The HTTP server binds exclusively to
127.0.0.1.DNS Rebinding Protection: Enforced on all incoming requests.
Per-Instance Token Authentication: A cryptographic token is generated at startup and written to
.vscode/mcp-dap-debugger.jsonwith restricted file permissions (0o600).Discovery Isolation: The CLI discovers active instances by reading the workspace configuration (
.vscode/mcp-dap-debugger.json) or querying the per-user active registry (~/.vscode-mcp-dap-debugger/active-configs.json).
Development & Contributing
For instructions on building from source, testing the CLI standalone, or running the extension in development mode, refer to DEVELOPMENT.md.
Credits & License
This project is a from-scratch rewrite inspired by mcp-debug-tools by Hwanyong Yoo. The VS Code integration points and CLI discovery approach were used as a reference, while the DAP tracking, session lifecycle, atomic server startup, and security models were redesigned.
Licensed under the GPL-3.0 License.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/primax79/vscode-mcp-dap-debugger'
If you have feedback or need assistance with the MCP directory API, please join our Discord server