MCP-windbg reaches 1.0.0 now with kernel debugging

superreeen1 pts0 comments

Release Release v1.0.0 · svnscha/mcp-windbg · GitHub

//releases/show" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

//releases/show;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

svnscha

mcp-windbg

Public

Notifications<br>You must be signed in to change notification settings

Fork<br>135

Star<br>1.4k

Release v1.0.0

Latest

Latest

Compare

Choose a tag to compare

Sorry, something went wrong.

Filter

Loading

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

No results found

View all tags

github-actions

released this

16 Jul 18:49

v1.0.0

2ebbe00

This commit was created on GitHub.com and signed with GitHub’s verified signature .

GPG key ID: B5690EEEBB952194

Verified

Learn about vigilant mode.

First stable release, and the one where kernel debugging actually works.

The tool surface is redesigned around opaque session ids and split by debugger engine:

user-mode (cdb.exe) and kernel (kd.exe). This is a breaking change for clients of the

0.x tools. Every *_windbg_* tool has a new name, listed under Changed.

Added

Kernel debugging - open_kd_session, run_kd_command, and close_kd_session attach to a

kernel target over KDNET (net:port=,key=), a named pipe (com:pipe,port=\\.\pipe\...), or

serial, driven by kd.exe. This was impossible in 0.x: every remote connection was launched

with -remote, which is user-mode only, so a kernel target could never connect (#62, #47).

Kernel sessions arrive already stopped - open_kd_session waits for the target's connect

banner and breaks in for you, so there is no separate break-in step.

Closing a kernel session sets the machine running again - close_kd_session sends g by

default (resume: true). Pass resume: false only to leave the target halted on purpose.

--kd-path - point the server at a specific kd.exe, the counterpart to --cdb-path.

Kernel sessions need their own option because cdb.exe cannot drive a kernel cable.

Session ids - every open_* returns an opaque session_id (cdb-… / kd-…) on its first

output line, and run_*, close_*, and send_ctrl_break address a session by that id. The

kind is enforced: a cdb id passed to run_kd_command (or the reverse) returns an error

naming the right tool.

Per-call timeouts - timeout_seconds on any open_* / run_* overrides that tool's

default (open_cdb_dump 180s, connects 60s, run_cdb_command 60s, run_kd_command 120s).

The server-wide --timeout (default 60s) is the floor.

remote-triage prompt - a guided investigation of a live user-mode target: break in,

orient, then track down the hang or crash.

kernel-triage prompt - the same for a kernel target, including telling a real bugcheck

apart from a plain break-in, and releasing the machine at the end.

Changed

BREAKING - list_windbg_dumps is now list_dumps.

BREAKING - open_windbg_dump is now open_cdb_dump.

BREAKING - open_windbg_remote is now open_cdb_remote.

BREAKING - run_windbg_cmd is now run_cdb_command (user mode) or run_kd_command

(kernel). The connection_type discriminator is gone; the tool name says which engine.

BREAKING - close_windbg_dump and close_windbg_remote are both now close_cdb_session.

BREAKING - send_ctrl_break takes a session_id.

BREAKING - sessions are addressed by id, not by dump path or connection string, and run_*

no longer opens one implicitly: open a session first. Reopening the same dump gives you an

independent session instead of silently reusing one.

Module layout - kernel sessions live in kd_session.py and user-mode in cdb_session.py,

over a shared debug_session.py that owns the subprocess and marker protocol.

Docs - README and the docs site rewritten around the new tools and the session-id flow,

with a "Debug a kernel target" guide, a Development page, and client guides for Claude Code and

Autohand Code (#63). Setup instructions standardize on pip install mcp-windbg and

python -m mcp_windbg.

Dependencies - runtime floors refreshed (mcp>=1.28.1, pydantic>=2.13.4,

starlette>=1.3.1, uvicorn>=0.51.0), plus pytest>=9.1.1, and uv.lock regenerated. The

streamable-http transport was smoke-tested against the Starlette 0.x to 1.x bump.

Fixed

A slow command no longer wedges a live session. When a command outruns...

kernel session breaking target mode search

Related Articles