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...