mcp-windbg  by svnscha

MCP server for WinDBG crash analysis

created 3 months ago
695 stars

Top 50.0% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a Model Context Protocol (MCP) server that bridges Large Language Models (LLMs) with WinDBG/CDB for automated Windows crash dump analysis. It empowers AI models to execute debugger commands, enabling natural language-driven triage, analysis of specific crash scenarios, and identification of potential root causes, significantly improving developer productivity.

How It Works

The MCP server acts as a Python wrapper around the CDB executable. It exposes specific WinDBG commands as tools that can be invoked by an LLM. This allows AI models, such as those integrated with GitHub Copilot's "Model Context Protocol in Chat" feature, to interact with CDB, execute commands like k, !peb, dx, !heap, and others, and interpret the output to provide insights into crash dumps. This approach leverages the LLM's existing knowledge of debugging principles and WinDBG commands.

Quick Start & Requirements

  • Install: pip install -e . (after cloning and setting up a virtual environment).
  • Prerequisites: Python 3.10+, Windows OS, Debugging Tools for Windows (part of Windows SDK), LLM supporting MCP (tested with Claude 3.7 Sonnet, GitHub Copilot).
  • Setup: Clone repo, create/activate virtual environment, install package. VS Code integration requires a .vscode/mcp.json configuration.
  • Docs: Extending Copilot Chat with the Model Context Protocol (MCP)

Highlighted Details

  • Enables AI to execute WinDBG commands for crash dump analysis.
  • Supports natural language queries for specific debugging tasks (e.g., analyzing call stacks, inspecting memory).
  • Integrates with VS Code via Copilot's MCP feature for seamless usage.
  • Provides tools like open_windbg_dump, run_windbg_cmd, list_windbg_dumps, and close_windbg_dump.

Maintenance & Community

The project is maintained by svnscha. Further community or roadmap information is not detailed in the README.

Licensing & Compatibility

  • License: MIT
  • Compatibility: Permissive for commercial use and integration with closed-source applications.

Limitations & Caveats

This is not a fully automated solution; it relies on the LLM's WinDBG expertise and user domain knowledge. The effectiveness is dependent on the LLM's capabilities and the quality of the natural language prompts. Proper symbol path configuration is crucial for accurate analysis.

Health Check
Last commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
575 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.