Skip to main content

dbgeng-mcp 0.2.0 and dnre-mcp 0.1.1

Ryan Johnson
Author
Ryan Johnson
Windows Internals, Exploit Development, Red Teaming

Both of my reverse engineering MCP servers got some attention this cycle. Here is what landed.

dbgeng-mcp 0.2.0 — Symbol resolution & engine stability
#

dbgeng-mcp is the native MCP server that talks directly to the Windows Debugging Engine (dbgeng.dll) through a C++ bridge, so an AI assistant can drive a debug session without WinDbg open. This release is mostly about making that session behave the way you would expect.

Symbols just work now. The engine configures symbol options and a symbol path on launch and attach, placing the target image’s directory first so local PDBs resolve immediately. Commands like uf module!Func and source line lookups now work without you having to fix up .sympath by hand. If _NT_SYMBOL_PATH is unset, it falls back to a local cache plus the public Microsoft symbol server.

No more stale state between targets. launch and attach now tear down any previously attached session first, so a prior target’s modules no longer leak into a new one. That was the source of a class of “does not have a current process” errors.

Bounded command execution. Console commands now take an optional timeout_ms (default 45 seconds). On expiry the engine is interrupted and you get an actionable error back, so a slow symbol-server fetch can no longer wedge an MCP request until its hard timeout. (One caveat: a deep network fetch may not break on interrupt — prefer a reachable symbol server, or go local-only and offline.)

Managed (.NET) debugging. This release also adds support for debugging managed (.NET) executables with SOS integration. Thanks to Jonathan Haubrich for the managed-EXE/.NET work here.

dnre-mcp 0.1.1 — Now on PyPI
#

dnre-mcp, the MCP server for .NET assembly decompilation built on ICSharpCode.Decompiler, has no functional changes in this release — but it is now distributed as a PyPI wheel with tag-derived versioning. That means it installs like any other Python MCP server, no manual download required.

Just use uvx
#

The nice side effect of both servers being on PyPI is that you can run either one on demand with uvx, no install step:

uvx dbgeng-mcp
uvx dnre-mcp

Or wire them into your MCP client directly:

{
  "mcpServers": {
    "dbgeng": { "command": "uvx", "args": ["dbgeng-mcp"] },
    "dnre":   { "command": "uvx", "args": ["dnre-mcp"] }
  }
}

See the dbgeng-mcp and dnre-mcp project pages for full setup details. As always, if you try either of these out, I would love to hear how it goes.