debug-mcp
MCP server exposing .NET debugging as 34 AI-accessible tools via ICorDebug APIs — breakpoints, stepping, inspection, exception autopsy, and code analysis.
debug-mcp.net
MCP server for .NET debugging — enable AI agents to debug .NET applications interactively.
What is debug-mcp?
debug-mcp is a Model Context Protocol server that exposes .NET debugging capabilities as structured API tools. It allows AI assistants like Claude, GPT, or Copilot to:
- Launch or attach to .NET processes
- Set breakpoints, exception breakpoints, and tracepoints
- Step through code line by line
- Inspect variables, evaluate expressions, and read memory
- Analyze stack traces and threads
- Get full exception context with one call (exception autopsy)
- Navigate code with go-to-definition, find usages, and diagnostics
- Automatically resolve symbols from public symbol servers
Unlike similar tools that use external debuggers via DAP protocol, debug-mcp interfaces directly with the .NET runtime using ICorDebug APIs — the same approach used by JetBrains Rider.
Quick Start
Run
# No installation needed (.NET 10+)
dnx -y debug-mcp
Requirements
- .NET 10 SDK or later
- Linux (Windows and macOS support planned)
Configure with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"dotnet-debugger": {
"command": "dnx",
"args": ["-y", "debug-mcp"]
}
}
}
Configure with Claude Code
Add to your .mcp.json:
{
"mcpServers": {
"dotnet-debugger": {
"command": "dnx",
"args": ["-y", "debug-mcp"]
}
}
}
Example Conversation
You: Debug my ASP.NET app and find why GetUser returns null
Claude: I'll launch your application and investigate.
[Calls debug_launch with program path]
[Calls breakpoint_set at UserService.cs:42]
[Calls debug_continue]
[Calls breakpoint_wait with 30s timeout]
The breakpoint was hit. Let me check the variables.
[Calls variables_get for current frame]
I found the issue: the `userId` parameter is an empty string.
The bug is in the calling code at line 28 where...
You: My app throws NullReferenceException somewhere in checkout. Find it.
Claude: I'll set an exception breakpoint and trigger the flow.
[Calls debug_launch with program path]
[Calls breakpoint_set_exception for System.NullReferenceException]
[Calls debug_continue]
[Calls breakpoint_wait with include_autopsy: true]
Caught it! The exception was thrown in OrderService.cs at line 87.
Here's the full context from the autopsy:
- cart.Items was null because LoadCart() returned an empty cart
- The null check at line 85 only checked cart, not cart.Items
Tools (34)
| Category | Tools | Description |
|---|---|---|
| Session | debug_launch, debug_attach, debug_disconnect, debug_state | Start, stop, and monitor debug sessions |
| Execution | debug_continue, debug_pause, debug_step | Control program flow |
| Breakpoints | breakpoint_set, breakpoint_remove, breakpoint_list, breakpoint_enable, breakpoint_wait | Set and manage source breakpoints |
| Exception Breakpoints | breakpoint_set_exception | Break on specific exception types (first/second chance) |
| Tracepoints | tracepoint_set | Non-blocking breakpoints that log messages without pausing |
| Exception Autopsy | exception_get_context | Full exception analysis: type, message, inner exceptions, stack frames with source, and local variables |
| Inspection | threads_list, stacktrace_get, variables_get, evaluate | Examine program state |
| Memory | object_inspect, memory_read, layout_get, references_get, members_get | Deep object and memory analysis |
| Modules | modules_list, modules_search, types_get | Explore loaded assemblies and types |
| Code Analysis | code_load, code_goto_definition, code_find_usages, code_find_assignments, code_get_diagnostics | Roslyn-powered code navigation and diagnostics |
| Process I/O | process_write_input, process_read_output | Interact with debuggee stdin/stdout |
Resources (4)
| URI | Description |
|---|---|
debugger://session | Current debug session state |
debugger://breakpoints | All active breakpoints |
debugger://threads | Thread list with states |
debugger://source/{file} | Source file contents |
Documentation
- Architecture — System design and components
- How Debugging Works — ICorDebug internals explained
- MCP Tools Reference — Complete API documentation
- MCP Resources — Subscribable state views
- Development Guide — Building, testing, contributing
Similar Projects
| Project | Language | Approach | .NET Support |
|---|---|---|---|
| mcp-debugger | TypeScript | DAP | Via external debugger |
| dap-mcp | Python | DAP | Via external debugger |
| LLDB MCP | C++ | Native | No |
| debug-mcp | C# | ICorDebug | Native, direct |
License
AGPL-3.0 — see LICENSE for details.
Servidores relacionados
Alpha Vantage MCP Server
patrocinadorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
VibeLogin MCP
Add authentication to your app - no code, no config, never leave your IDE
Authless Remote MCP Server
A remote MCP server deployable on Cloudflare Workers that does not require authentication. The server can be customized by defining tools.
CAD-Query MCP Server
A server for generating and verifying CAD models using the CAD-Query Python library.
Hackle
Query A/B test data using the Hackle API.
Grey Hack MCP Server
A Grey Hack server for Cursor IDE, providing GitHub code search, Greybel-JS transpilation, API validation, and script generation.
AI Skill Store
Agent-first skill marketplace — search, evaluate, and install skills across 7 AI platforms via MCP. Features Supply Loop where agents become contributors.
Pica MCP Server
An MCP server for Pica that enables seamless interaction with various third-party services through a standardized interface.
MCP with Claude
A Spring Boot MCP server that provides company details, requiring the Claude Desktop application to function.
Memorix
Cross-agent memory bridge with knowledge graph, workspace sync, and auto-memory hooks. Supports Windsurf, Cursor, Claude Code, Codex, and VS Code Copilot.
MCP Code Graph
Analyze and visualize code graphs using CodeGPT.