home / mcp / netcoredbg mcp server
Provides a .NET debugging MCP server that enables breakpoints, stepping, and variable inspection via netcoredbg.
Configuration
View docs{
"mcpServers": {
"aerialbyte-mcp-netcoredbg": {
"command": "node",
"args": [
"/path/to/mcp-netcoredbg/dist/index.js"
]
}
}
}You can debug .NET applications with an MCP server that connects to netcoredbg, letting you set breakpoints, step through code, and inspect variables from an AI agent or your own tooling. This server bridges the MCP protocol with netcoredbg so AI assistants can interact with .NET runtimes just like a human debugger would.
Use the MCP client to connect to the netcoredbg MCP server and drive debugging sessions. You can start a debugging session against a DLL, attach to a running process, or invoke specific methods inside an assembly for targeted testing. During a session, you can set breakpoints, continue, pause, step over/into/out, inspect call stacks and variables, evaluate expressions, and capture console output or logs. The goal is to let AI agents or automation drive the debugging workflow end to end, including starting the app, navigating through code, and extracting results.
Prerequisites you need before installing this MCP server are an MCP-capable environment, Node.js, and the .NET SDK plus the netcoredbg debugger.
# Install netcoredbg (example for Linux x64)
curl -sLO https://github.com/Samsung/netcoredbg/releases/download/3.1.3-1062/netcoredbg-linux-amd64.tar.gz
tar xzf netcoredbg-linux-amd64.tar.gz
sudo mv netcoredbg /opt/netcoredbg
sudo ln -sf /opt/netcoredbg/netcoredbg /usr/local/bin/netcoredbg
# Build this MCP server
npm install
npm run build
# The method invocation harness is auto-built on first useQuick start for integrating with Claude Code involves cloning the project, building, and registering the MCP server with your Claude Code setup.
# Clone and build
git clone https://github.com/AerialByte/mcp-netcoredbg.git
cd mcp-netcoredbg && npm install && npm run build
# Add to Claude Code
claude mcp add netcoredbg -- node $(pwd)/dist/index.jsIf you prefer manual MCP configuration for Claude Code, you can reference the standard Node-based entry point as shown in the configuration example below.
{
"mcpServers": {
"netcoredbg": {
"command": "node",
"args": ["/path/to/mcp-netcoredbg/dist/index.js"]
}
}
}Configuration and runtime notes for this MCP server are provided to ensure you can run it reliably in your environment. The server is designed to work with netcoredbg and exposes a set of debugging primitives through the MCP interface. You can launch a debugging session against a DLL, attach to a running process, or invoke a specific method inside an assembly, all while benefiting from AI-driven control and introspection.
Security considerations are important because this tool launches and controls a debugger, which can execute arbitrary code and inspect variables. Only debug trusted code and environments. Never attach to or debug untrusted binaries in production or public environments.
Example session outline for full application debugging: - Build your .NET app with debug symbols - Launch the debugger with the DLL path - Set breakpoints at specific files and lines - Continue and step through code as needed - Inspect variables and call stacks - Evaluate expressions and capture console/output logs - Terminate the session when complete
Example session outline for method invocation testing: - Build the target assembly - Use the invoke capability to call a static or instance method - If invocation fails, review the error to understand available constructors and methods - If debugging is needed, set breakpoints first and run with debugging enabled
Start debugging a .NET application by providing the DLL path or executable to run.
Attach the debugger to a currently running .NET process.
Invoke a specific method from a .NET assembly, with optional debugging support.
Set a breakpoint at a file and line, with optional conditions.
Remove a previously set breakpoint.
List all active breakpoints.
Continue execution after a breakpoint or pause.
Pause the currently executing thread.
Step over the current line of code.
Step into the next function call.
Step out of the current function.
Get the current call stack for the active thread.
Get variable scopes for the current stack frame.
Read variables from a scope.
Evaluate an expression in the current debug context.
List all threads in the debuggee.
Retrieve recent program output from the debug session.
Query the debugger status.
Terminate the debugging session.