Skip to content

Releases: FlorentinoJink/mcp-windbg

0.2.0

30 Mar 17:40

Choose a tag to compare

Release v0.2.0 - Direct Program Debugging

🎯 Highlights

This release adds direct program debugging support — you can now launch executables under CDB and interactively debug them through MCP tools.

✨ New Features

launch_debug — Launch a program under CDB with breakpoint, stepping, and variable inspection support
close_debug — Terminate the target program and close the debug session
run_windbg_cmd now supports program_path parameter for executing commands in launch debug sessions
symbols_path and source_path parameters for configuring PDB symbols and source-level debugging
_NT_SOURCE_PATH environment variable support
Dynamic WinDbg Preview discovery (auto-detect any installed version from Microsoft Store)
Helpful winget install Microsoft.WinDbg hint when CDB is not found
🐛 Bug Fixes

Fixed crash on non-UTF-8 CDB output (GBK/CP936 on Chinese Windows) — now uses lossy UTF-8 conversion
📝 Other Changes

Rewrote README (EN/CN) as a proper open-source project page
Removed unused config.example.toml

0.1.2

10 Dec 13:06

Choose a tag to compare

Release v0.1.2 - Improved Timeout Handling and Reliability

🎯 Highlights

This release significantly improves the reliability of handling large dump files and complex WinDbg commands by introducing separate timeout configurations and enhanced command execution logic.

✨ New Features

Separate Timeout Configuration

  • Initialization Timeout: New dedicated timeout (default: 120s) for opening dump files and connecting to remote targets
  • Command Timeout: Existing timeout (default: 30s) now specifically for command execution
  • Configurable via:
    • Environment variable: MCP_WINDBG_INIT_TIMEOUT
    • Command-line flag: --init-timeout <seconds>
    • Config file: init_timeout_seconds

Enhanced Command Execution

  • Unique timestamp-based markers prevent conflicts with command output
  • Improved output parsing reliability
  • Added output size limit (100k lines) to prevent memory overflow
  • Better error messages with diagnostic information

Improved Logging

  • Detailed command execution tracking
  • Line count monitoring during output reading
  • Timeout diagnostics to help troubleshoot issues

🐛 Bug Fixes

  • Fixed timeout issues when opening large dump files (>300MB)
  • Fixed command execution failures after opening dump files
  • Fixed session state instability with large files
  • Fixed marker detection conflicts in command output

📚 Documentation Updates

  • Added initialization timeout configuration examples
  • Updated README with timeout best practices
  • Enhanced configuration file documentation
  • Added troubleshooting guide for timeout issues

🧪 Testing

Thoroughly tested with:

  • Small dumps (5MB) ✅
  • Medium dumps (33MB) ✅
  • Large dumps (375MB) ✅

All WinDbg commands tested successfully:

  • r (registers)
  • !heap -s (heap summary)
  • ub (unassemble backwards)
  • da (display ASCII)
  • kb (stack backtrace)

🔧 Configuration Example

{
  "mcpServers": {
    "mcp-windbg-rs": {
      "command": "path/to/mcp-windbg-rs.exe",
      "args": ["--verbose"],
      "env": {
        "_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols",
        "MCP_WINDBG_TIMEOUT": "60",
        "MCP_WINDBG_INIT_TIMEOUT": "180"
      }
    }
  }
}

mcp-windbg-rs

07 Nov 17:04

Choose a tag to compare

MCP WinDbg Rust v0.1.0 🎉

First stable release of the high-performance Rust implementation of MCP WinDbg server for Windows crash dump analysis and remote debugging.

🚀 Features

Core Functionality

  • Crash Dump Analysis: Open and analyze Windows crash dump files with automatic !analyze -v execution
  • Remote Debugging: Connect to remote debugging sessions via TCP
  • Custom Commands: Execute arbitrary WinDbg commands in active sessions
  • Session Management: Automatic session pooling and lifecycle management
  • Dump File Discovery: Search and list crash dump files in directories

Available Tools

  • open_windbg_dump - Analyze crash dump files with optional stack trace, modules, and threads info
  • open_windbg_remote - Connect to remote debugging sessions
  • run_windbg_cmd - Execute custom WinDbg commands
  • close_windbg_dump - Close dump file sessions
  • close_windbg_remote - Close remote debugging sessions
  • list_windbg_dumps - List available crash dumps in directories

Technical Highlights

  • High Performance: Native Rust implementation with Tokio async runtime
  • Memory Safe: Compile-time memory safety guarantees
  • Single Binary: No runtime dependencies (except Windows SDK)
  • Fast Startup: ~10ms startup time vs ~100ms for Python version
  • MCP Protocol: Full Model Context Protocol support via stdio transport
  • Session Pooling: Automatic CDB session reuse and management
  • Configurable: Environment variables and CLI arguments support

📦 Installation

Download Binary

Download mcp-windbg-rs.exe from the release assets.

Build from Source

cargo build --release