mirror of
https://github.com/svnscha/mcp-windbg.git
synced 2026-10-17 04:41:56 +08:00
docs: restructure the README install flow, and run CI on develop only (#100)
Two changes. ## README: one heading per audience The install section interleaved three routes - a plugin block, a `pip install` block for "any other client", then a **Configure your client** step that circled back to Claude Code. A reader had to work out which lines applied to them. Now: ``` ## Quick start tip + prerequisites ## Install in Claude Code ### The plugin ### Registering the server yourself ## Install in another client ## Start debugging ``` Each path reads top to bottom without branching. **Python leaves the prerequisites list.** It is not one: the plugin fetches the server through `uvx`, and the native build will not need it either. Each route states its own requirement next to the command it applies to - "Needs uv" for the plugin, "Needs Python 3.10 or higher" for the two pip routes. **The enterprise policy tip moves to the top of Quick start.** It can change whether someone proceeds at all, so it belongs before the prerequisites rather than buried between install steps. I left the `Python 3.10+` badge in place - it is accurate metadata for the PyPI package, and removing it would lose real information for the pip routes. Say the word if you would rather it went too. ## ci.yml: push trigger drops main and master ```yaml branches: [ develop ] ``` - `master` does not exist (`git ls-remote --heads origin master` is empty). - `main` is moved solely by `fast-forward-main`, a `GITHUB_TOKEN` push, which by design starts no workflow. The run history confirms it: **zero** `push main` runs since the migration. Listing it implied a gate that cannot fire. `develop` stays, for two reasons that are easy to miss: 1. **The CI badge reads it** (`?branch=develop`). Remove the trigger and the badge falls back to whatever ran most recently anywhere - which is how it previously ended up showing "failing" off a blocked release-PR run. 2. **Merge skew.** PRs are squash-merged with no up-to-date-branch requirement, so a PR merged while behind `develop` produces a tree nobody tested. The push run is the only thing that exercises the merged result. ## Verified The VS Code JSON snippet parses (it briefly did not - a single-backslash `C:\Symbols` slipped in, the same defect this repo already shipped once in the plugin docs), the shell command keeps its single backslash, `ci.yml` parses with `push branches: [develop]`, and the docs formatter is clean.
This commit is contained in:
@@ -3,7 +3,11 @@ name: CI
|
|||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
push:
|
push:
|
||||||
branches: [ develop, main, master ]
|
# develop only. master does not exist, and main is moved solely by
|
||||||
|
# fast-forward-main, a GITHUB_TOKEN push, which by design starts no
|
||||||
|
# workflow - so listing them implies a gate that cannot fire. The develop
|
||||||
|
# run is what the CI badge reads, and what catches a PR merged while behind.
|
||||||
|
branches: [ develop ]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
@@ -61,44 +61,52 @@ Parameters, timeouts, and the built-in triage prompts are in the [tools referenc
|
|||||||
|
|
||||||
## Quick start
|
## Quick start
|
||||||
|
|
||||||
**Prerequisites**
|
|
||||||
|
|
||||||
- Windows with [Debugging Tools for Windows](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) or [WinDbg from the Microsoft Store](https://apps.microsoft.com/detail/9pgjgd53tn86), which ship `cdb.exe` and `kd.exe` (auto-detected).
|
|
||||||
- Python 3.10 or higher.
|
|
||||||
- Any MCP-compatible client (Claude Code, GitHub Copilot, Claude Desktop, Cursor, Windsurf, Cline, ...).
|
|
||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> In enterprise environments, MCP server usage might be restricted by organizational policies. Check with your IT team about AI tool usage and ensure you have the necessary permissions before proceeding.
|
> In enterprise environments, MCP server usage might be restricted by organizational policies. Check with your IT team about AI tool usage and ensure you have the necessary permissions before proceeding.
|
||||||
|
|
||||||
**Claude Code - install the plugin.** This is the shortest path: no `pip install`, no MCP
|
**Prerequisites**
|
||||||
config to edit. It brings the ten tools, four skills (`analyze-dump`, `debug-remote`,
|
|
||||||
`kernel-debug`, `windbg-doctor`) and a `crash-analyst` agent that investigates a dump on its own
|
- Windows with [Debugging Tools for Windows](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) or [WinDbg from the Microsoft Store](https://apps.microsoft.com/detail/9pgjgd53tn86), which ship `cdb.exe` and `kd.exe` (auto-detected).
|
||||||
and reports back.
|
- Any MCP-compatible client (Claude Code, GitHub Copilot, Claude Desktop, Cursor, Windsurf, Cline, ...).
|
||||||
|
|
||||||
|
Python is not a prerequisite in itself. Each route below states what it needs.
|
||||||
|
|
||||||
|
## Install in Claude Code
|
||||||
|
|
||||||
|
### The plugin
|
||||||
|
|
||||||
|
The shortest path: two lines, no `pip install`, no MCP configuration to edit. Adds four
|
||||||
|
skills and a `crash-analyst` agent on top of the ten tools, with symbols preconfigured.
|
||||||
|
|
||||||
```
|
```
|
||||||
/plugin marketplace add svnscha/mcp-windbg
|
/plugin marketplace add svnscha/mcp-windbg
|
||||||
/plugin install mcp-windbg-uvx@mcp-windbg
|
/plugin install mcp-windbg-uvx@mcp-windbg
|
||||||
```
|
```
|
||||||
|
|
||||||
The plugin launches the server with [uv](https://docs.astral.sh/uv/)'s `uvx`, which fetches the
|
Needs [uv](https://docs.astral.sh/uv/), which supplies `uvx`: `winget install astral-sh.uv`. The
|
||||||
pinned version from PyPI on first use. See the [plugin
|
plugin uses it to fetch the pinned server from PyPI on first use, so there is nothing else to
|
||||||
README](plugins/mcp-windbg/README.md) for symbols setup and how to run it without uv.
|
install. See the [plugin README](plugins/mcp-windbg/README.md) for symbols and options.
|
||||||
|
|
||||||
**Any other client - install the package**
|
### Registering the server yourself
|
||||||
|
|
||||||
|
If you would rather not use the plugin, or you already run the package:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install mcp-windbg
|
||||||
|
claude mcp add mcp-windbg -s user -e _NT_SYMBOL_PATH="SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols" -- python -m mcp_windbg
|
||||||
|
```
|
||||||
|
|
||||||
|
Needs Python 3.10 or higher. The tools are identical; the skills and the agent are not included.
|
||||||
|
|
||||||
|
## Install in another client
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install mcp-windbg
|
pip install mcp-windbg
|
||||||
```
|
```
|
||||||
|
|
||||||
**Configure your client.** The two most common setups are below; see the [client configuration guide](https://svnscha.github.io/mcp-windbg/reference/clients/) for Claude Desktop, Copilot CLI, Autohand Code, HTTP, and from-source.
|
Needs Python 3.10 or higher. Then point the client at `python -m mcp_windbg`. For VS Code
|
||||||
|
(GitHub Copilot), press `F1` and select **MCP: Open User Configuration** to enable it in every
|
||||||
Claude Code - if you did not use the plugin above, register the server directly:
|
workspace:
|
||||||
|
|
||||||
```bash
|
|
||||||
claude mcp add mcp-windbg -s user -e _NT_SYMBOL_PATH="SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols" -- python -m mcp_windbg
|
|
||||||
```
|
|
||||||
|
|
||||||
VS Code (GitHub Copilot) - press `F1` and select **MCP: Open User Configuration** to enable it in every workspace:
|
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -115,7 +123,12 @@ VS Code (GitHub Copilot) - press `F1` and select **MCP: Open User Configuration*
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Restart your client, then start debugging:
|
See the [client configuration guide](https://svnscha.github.io/mcp-windbg/reference/clients/) for
|
||||||
|
Claude Desktop, Copilot CLI, Autohand Code, HTTP, and from-source setups.
|
||||||
|
|
||||||
|
## Start debugging
|
||||||
|
|
||||||
|
Restart your client, then ask for what you want:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
Analyze the crash dump at C:\dumps\app.dmp
|
Analyze the crash dump at C:\dumps\app.dmp
|
||||||
|
|||||||
Reference in New Issue
Block a user