mcp-windbg reaches 1.0.0 now with kernel debugging Mcp-windbg released version 1.0.0, adding kernel debugging support via kd.exe and introducing opaque session IDs for managing debugger sessions. The update includes breaking changes to tool naming and session handling, along with per-call timeouts and improved stability for live debugging. 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 https://github.com/svnscha/mcp-windbg/issues/62 , 47 https://github.com/svnscha/mcp-windbg/issues/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.- point the server at a specific --kd-path 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.- a guided investigation of a live user-mode target: break in, remote-triage prompt orient, then track down the hang or crash.- the same for a kernel target, including telling a real bugcheck kernel-triage prompt 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 https://github.com/svnscha/mcp-windbg/pull/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 its timeout the debugger is still busy running it, so the server now breaks in with CTRL+BREAK and resynchronizes before reporting the timeout. The session is usable again for the next command instead of stranded. A slow command's output is no longer attributed to the next command. Every command waits on its own unique completion marker, so late output from one command can never be mistaken for the next one's result. Debugger processes are cleaned up on close. cdb.exe launched through the Microsoft Store execution aliases spawns a child that a plain terminate left behind, still holding the target. Shutdown now does a Windows process-tree kill. Removed - All windbg tool names, and the connection type parameter on run windbg cmd and send ctrl break , superseded by the cdb / kd split. - Session reuse by dump path or connection string. open always creates a fresh session and returns its id. Added Documentation site : New MkDocs Material user guide under docs/ , deployed to GitHub Pages via pages.yml . Covers getting started, the use cases, and a reference for the command-line options, tools, and client configuration. Content migrated and trimmed from the project wiki. Prompts reference : Documented the built-in dump-triage MCP prompt and its dump path argument docs/reference/prompts.md . Usage guide coverage : New use-case pages for running the server over HTTP Debug from another machine and scrubbing tool output Redact sensitive data , plus WER auto-capture setup in the triage guide and the dump-triage prompt in the crash-dump guide. Documented the HTTP transport's lack of authentication, that attach-by-PID is unsupported, and that sessions are concurrent. Changed Package metadata : Filled in distribution metadata so pip show / PyPI are complete - added the author/maintainer email, project URLs Homepage, Repository, Issues, Changelog , and classifiers for Windows, console environment, and the Debuggers/QA topics 36 https://github.com/svnscha/mcp-windbg/issues/36 Contributor guide : Migrated AGENTS.md to CLAUDE.md and added .claude/rules/ Markdown typography and documentation authoring , plus scripts/Format-Docs.ps1 to enforce the typography rules Docs tooling : Bumped the docs build dependencies in requirements-docs.txt to their latest patch floors - mkdocs =1.6.1 , mkdocs-material =9.7.6 , pymdown-extensions =10.21.3 consolidates 51 https://github.com/svnscha/mcp-windbg/pull/51 , 52 https://github.com/svnscha/mcp-windbg/pull/52 , 53 https://github.com/svnscha/mcp-windbg/pull/53 Test suite : Replaced the ad-hoc tests with a declarative end-to-end harness. Each tests/scenarios/ .yaml runs against a really-hosted python -m mcp windbg server driven by a real MCP client only the LLM is faked . Live scenarios carry live / remote markers and skip cleanly without CDB, so -m "not live" runs anywhere. Adds pyyaml as a dev dependency. Coverage : The harness hosts the server under coverage run --parallel-mode set MCP WINDBG COVERAGE , so coverage reflects the subprocess where tool dispatch runs rather than the test process. The suite reaches 90%+; CI enforces a floor with coverage report --fail-under=88 margin below the ~91% actual for cross-version and cdb-output jitter . Code that cannot be line-measured end-to-end the streamable-http transport on Windows, atexit cleanup, debug-only and defensive branches is excluded with documented pragma: no cover and exclude also rules. Adds coverage as a dev dependency. LFS dumps are mandatory : a scenario whose requires.dump file is missing now hard-fails run git lfs pull instead of skipping, so a half-set-up checkout is a loud error rather than silent green. Removed Dead code : Removed three unused functions surfaced while raising test coverage - server.execute common analysis commands , CDBSession.get session id , and prompts.get available prompts . None had callers. Fixed Stdio server resilience : The stdio transport no longer crashes on a malformed input line. serve now uses the SDK default raise exceptions=False , so an unparseable line e.g. when the server is run directly in a terminal is logged instead of tearing down the whole process 45 https://github.com/svnscha/mcp-windbg/issues/45 Added Tool Content Filter Script Hooks : Added --filter-script so trusted Python helpers can rewrite string-valued tool arguments and tool text output for use cases like PII redaction without exposing full MCP protocol messages Added Live Debugger Break-In : Added the send ctrl break tool to interrupt an active CDB/WinDbg session with CTRL+BREAK for dump and remote debugging workflows 40 https://github.com/svnscha/mcp-windbg/pull/40 Changed Dependency Refresh : Updated runtime dependency floors for mcp , pydantic , starlette , and uvicorn , and refreshed test and validation tooling versions in pyproject.toml CI Dependency Maintenance : Updated GitHub Actions dependencies for Python setup and artifact handling in release workflows 39 https://github.com/svnscha/mcp-windbg/pull/39 , 42 https://github.com/svnscha/mcp-windbg/pull/42 Fixed Registry Compatibility : Restored MCP registry compatibility by reverting server.json to the supported 2025-10-17 schema version Publishing Workflow : Adjusted MCP publishing workflows to match current registry publisher behavior Fixed Registry Schema Migration : Updated MCP server schema from deprecated 2025-10-17 to current 2025-12-11 version for mcp-publisher compatibility Added HTTP Transport in Registry : Added streamable-http transport configuration to server.json for MCP registry discovery Schema Validation in CI : New validate-server-schema.py script validates server.json against the official MCP schema Fixed Registry Schema Update : Updated MCP server schema version from 2025-09-29 to 2025-10-17 for compatibility with registry.modelcontextprotocol.io CI Cache Warning : Disabled unnecessary dependency caching in PyPI publish job to eliminate spurious warnings Added HTTP Transport Support : New --transport streamable-http option enables HTTP-based communication alongside the default stdio transport 31 https://github.com/svnscha/mcp-windbg/issues/31 MCP Prompt API : Implemented prompt templates for AI-assisted crash dump triage and analysis 25 https://github.com/svnscha/mcp-windbg/issues/25 Changed Updated Dependencies : Bumped mcp to 1.17.0, pydantic to 2.12.0, and other dependencies 26 https://github.com/svnscha/mcp-windbg/issues/26 Improved Prompt Templates : Removed hard-coded model references from prompt templates for better flexibility 29 https://github.com/svnscha/mcp-windbg/issues/29 Updated Dependabot Configuration : Improved automated dependency update settings Fixed Session Cleanup : Prevent stale debugging sessions if .shutdown fails 28 https://github.com/svnscha/mcp-windbg/issues/28 What's New in This Release This release focuses on making mcp-windbg more reliable, faster, and easier to use for everyone - from beginners to advanced users. New Features Core - Live debugging session support via open windbg remote and close windbg remote - Extended dump file support for .mdmp and .hdmp formats - Microsoft Store WinDbg CDB compatibility Devops - Set up continuous integration that automatically tests the code with Python versions 3.10 through 3.14 - Added automatic dependency updates to keep everything secure and up-to-date - Streamlined the release process so new versions reach users faster Development - Switched to uv - a lightning-fast Python package manager that's 10-100x faster than pip - Development setup is now much quicker with commands like uv sync and uv run - More reliable builds with locked dependency versions Documentation - Added comprehensive debugging instructions for AI assistants AGENTS.md - Created structured templates to help analyze crash dumps more effectively .github/prompts/dump-triage.prompt.md - All documentation is now available in the repository Wiki https://github.com/svnscha/mcp-windbg/wiki for easy access - Simplified the main to focus on getting started quickly README.md - Added this structured to track all project changes CHANGELOG.md Improvements Performance Boost : Build times are significantly faster thanks to the new tooling Enhanced Security : Automatic scanning and updates keep dependencies secure Community Contributions Special thanks to @sooknarine https://github.com/sooknarine for these valuable contributions: - Find local dumps with other common extensions 6 https://github.com/svnscha/mcp-windbg/pull/6 - Now finds more crash dump files automatically - Add support for remote debugging 10 https://github.com/svnscha/mcp-windbg/pull/10 - Connect to live debugging sessions - Initial version as blogged about.