AspNetCoreDebuggerMcp 0.1.3-preview

This is a prerelease version of AspNetCoreDebuggerMcp.
There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global AspNetCoreDebuggerMcp --version 0.1.3-preview
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local AspNetCoreDebuggerMcp --version 0.1.3-preview
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=AspNetCoreDebuggerMcp&version=0.1.3-preview&prerelease
                    
nuke :add-package AspNetCoreDebuggerMcp --version 0.1.3-preview
                    

ASP.NET Core Debugging MCP Server

CI NuGet .NET MCP License: MIT

An MIT-licensed Model Context Protocol server that lets an AI agent (Claude, etc.) debug your .NET / ASP.NET Core app.

Instead of "I think the bug is around line 42, try this", the agent runs your code, pauses it, reads the actual runtime values, mutates state to test a fix, and answers grounded in what it actually saw.

26 tools across launching, breakpoints, stepping, inspection, expression evaluation, exception autopsy, hang analysis, and server-side request tracing that captures the full call chain with variables — without you setting any breakpoint manually.

See it in action

Why is my endpoint returning null?

You

GET /users/42 is returning null. Can you figure out why?

Claude

I'll run your app and stop inside the handler when the request hits.

I followed the call from the controller into the user service and then into the repository. Here's the query the repo is issuing against the DB:

SELECT * FROM users WHERE id = '42'

That's the bug — the id is being dropped into the SQL as text instead of as a value, but the id column is an int. Postgres returns zero rows for that comparison. Fix is to use a parameter for the id and pass it as an int.

Why did my app throw?

You

My /checkout endpoint throws a NullReferenceException somewhere. Find it.

Claude

I'll catch any unhandled exception and run through your checkout flow. Caught it.

Thrown at OrderService.cs:67

  65: if (cart == null) throw new ArgumentNullException(nameof(cart));
  66: var total = 0m;
→ 67: foreach (var item in cart.Items) total += item.Price;

At the throw:
  cart.Items = null

LoadCart(userId) on line 62 returned a Cart whose Items is null for new users — and the null check on line 65 only checks cart itself, not cart.Items. Two fix options: initialise Items = [] in the Cart constructor, or use cart.Items ?? [] on line 67.

See 5 more →

How it works

Claude (MCP client)
   │  MCP  (stdio / JSON-RPC)
   ▼
aspnetcore-debugger-mcp        ← this server
   │  DAP  (Debug Adapter Protocol)
   ▼
netcoredbg                     ← Samsung's MIT-licensed .NET debugger, child process
   │  ICorDebug
   ▼
target .NET process

A protocol bridge with agent-friendly composites on top — exception_autopsy, stack_explore, hang_analyze, and the trace tools — that bundle multiple DAP requests into a single tool call.

Use it in 3 steps

  1. Install the tool — needs the .NET 10 SDK.
    dotnet tool install -g AspNetCoreDebuggerMcp --prerelease
    
    The package bundles prebuilt netcoredbg for linux-x64, linux-arm64, win-x64, osx-x64, and osx-arm64 — no separate install needed.
  2. Register with Claude — either the quick CLI command:
    claude mcp add aspnetcore-debugger -- aspnetcore-debugger-mcp
    
    …or edit .mcp.json (project-scoped) / ~/.claude.json (global) / claude_desktop_config.json (Claude Desktop) directly:
    {
      "mcpServers": {
        "aspnetcore-debugger": {
          "command": "aspnetcore-debugger-mcp"
        }
      }
    }
    
  3. Just chat with Claude. /mcp confirms it's connected. From there, describe what you want — "why does this endpoint return null" — and the agent picks the right tools.

Full install + troubleshooting →

Docs

License

MIT — see LICENSE. Built on netcoredbg (MIT) and the ModelContextProtocol SDK (MIT).

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.4.0 282 9/8/2026
1.3.0 135 9/8/2026
1.2.0 545 6/27/2026
1.1.1 169 6/22/2026
1.0.0 185 6/1/2026
0.1.6 157 5/27/2026
0.1.5-preview 151 5/25/2026
0.1.4-preview 126 5/24/2026
0.1.3-preview 137 5/24/2026
0.1.2-preview 129 5/24/2026
0.1.1-preview 133 5/24/2026
0.1.0-preview 131 5/23/2026