Сервер MCP (Model Context Protocol), который превращает все функции отладчика Windows pybag в нативные инструменты MCP. Он позволяет MCP-совместимым клиентам (Claude Desktop, Claude Code, Cowork, OpenAI Codex CLI, Cursor и пользовательским агентам) управлять процессами в пользовательском режиме, сеансами ядра и анализом аварийных дампов с помощью структурированных JSON-вызовов.
Сервер MCP (Model Context Protocol), предоставляющий каждую функцию отладчика Windows pybag в виде нативного инструмента MCP. Он предоставляет любому MCP-совместимому клиенту (Claude Desktop, Claude Code, Cowork, OpenAI Codex CLI, Cursor и кастомные агенты) полный контроль над пользовательскими процессами, сеансами ядра и анализом дампов памяти — всё через типизированные вызовы инструментов со структурированными JSON-ответами.
git clone https://github.com/your-username/windbg-mcp.git cd windbg-mcp
### 2. Установите зависимости Python```bat
pip install pybag mcp
Загрузите Windows SDK и выберите Средства отладки для Windows в процессе установки: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
Сервер запускается как локальный процесс stdio. Все клиенты, перечисленные ниже, запускают его одинаково — python <path-to>/windbg_mcp.py — но у каждого свой формат конфигурации.
Отредактируйте файл конфигурации Claude Desktop и добавьте запись windbg-mcp:
Расположение файла конфигурации:
%APPDATA%\Claude\claude_desktop_config.jsonПерезапустите Claude Desktop. Все 55 инструментов отладки появятся автоматически.
---
### Claude Code (CLI)
Выполните следующую команду один раз, чтобы зарегистрировать сервер. Claude Code сохраняет запись
в своей конфигурации MCP и делает инструменты доступными в каждом последующем сеансе.```bash
claude mcp add windbg-mcp python C:\path\to\windbg-mcp\windbg_mcp.py
Чтобы проверить, был ли зарегистрирован сервер:```bash claude mcp list
Чтобы удалить его позже:```bash
claude mcp remove windbg-mcp
Есть два способа добавить WinDbg MCP в Cowork: через JSON-конфигурацию (быстро) или
установкой в виде пакета плагина .mcpb (переносимый, доступный для общего использования).
3. Сохраните и перезапустите Cowork. Инструменты будут доступны в вашем следующем сеансе.
#### Вариант B — Установка в виде `.mcpb`-пакета плагина
Файл `.mcpb` представляет собой zip-архив каталога плагина, который Cowork может установить
напрямую. Это рекомендуемый подход при совместном использовании сервера с командой или
на разных машинах.
**Шаг 1 — Сборка файла `.mcpb`**
Из корня клонированного репозитория выполните:```bat
powershell -Command "Compress-Archive -Path '.\*' -DestinationPath 'windbg-mcp.zip'; Rename-Item 'windbg-mcp.zip' 'windbg-mcp.mcpb'"
Это создаёт windbg-mcp.mcpb в текущем каталоге, объединяя windbg_mcp.py,
manifest.json и любые другие файлы проекта.
Шаг 2 — Установка в Cowork
windbg-mcp.mcpb.manifest.json из пакета, регистрирует MCP-сервер и
делает все инструменты доступными немедленно — ручная настройка пути не требуется.manifest.json, входящий в этот репозиторий, уже настроен правильно:```json
{
"manifest_version": "0.2",
"name": "windbg-mcp",
"version": "1.0.0",
"description": "WinDbg MCP — full Windows debugger control via MCP tools",
"server": {
"type": "python",
"entry_point": "windbg_mcp.py",
"mcp_config": {
"command": "python",
"args": ["${__dirname}/windbg_mcp.py"]
}
}
}
`${__dirname}` разрешается во время установки в каталог, куда Cowork распаковал пакет, поэтому вам не нужно жестко прописывать пути.
---
### OpenAI Codex CLI
Добавьте сервер в файл конфигурации Codex CLI. Обычно файл находится по пути
`~/.codex/config.json` (Linux/macOS) or `%USERPROFILE%\.codex\config.json` (Windows).```json
{
"mcpServers": {
"windbg-mcp": {
"command": "python",
"args": ["C:\\path\\to\\windbg-mcp\\windbg_mcp.py"]
}
}
}
После сохранения запустите новый сеанс Codex. Инструменты WinDbg будут доступны для вызова моделью.
4. Сохраните. Курсор подключится к серверу при следующем сеансе Composer.
---
### Continue.dev
Добавьте следующее в ваш `~/.continue/config.json` (или в `.continue/config.json` на уровне рабочей области):```json
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "python",
"args": ["C:\\path\\to\\windbg-mcp\\windbg_mcp.py"]
}
}
]
}
}
Перезагрузите расширение Continue. В списке инструментов появятся 55 отладочных инструментов.
Если вы создаете собственного агента или конвейер автоматизации, подключитесь к WinDbg MCP через стандартный транспорт MCP stdio. Сервер использует JSON-RPC 2.0 через stdin/stdout.
mcp)```pythonimport asyncio from mcp import ClientSession, StdioServerParameters from mcp.client.stdio import stdio_client
server_params = StdioServerParameters( command="python", args=[r"C:\path\to\windbg-mcp\windbg_mcp.py"], )
async def main(): async with stdio_client(server_params) as (read, write): async with ClientSession(read, write) as session: await session.initialize()
# List all available tools
tools = await session.list_tools()
print([t.name for t in tools.tools])
# Load a crash dump
result = await session.call_tool(
"load_dump",
arguments={"path": r"C:\crashes\crash.dmp"},
)
print(result.content)
# Read 64 bytes at RSP
result = await session.call_tool(
"read_mem",
arguments={"addr": "0x00000000001FF000", "size": 64},
)
print(result.content)
asyncio.run(main())
#### TypeScript / Node.js (используя пакет `@modelcontextprotocol/sdk`)```typescript
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "python",
args: ["C:\\path\\to\\windbg-mcp\\windbg_mcp.py"],
});
const client = new Client({ name: "my-agent", version: "1.0.0" }, {});
await client.connect(transport);
// Call a tool
const result = await client.callTool({
name: "load_dump",
arguments: { path: "C:\\crashes\\crash.dmp" },
});
console.log(result.content);
await client.close();
from langchain_mcp_adapters.tools import load_mcp_tools from mcp import ClientSession, StdioServerParameters from mcp.client.stdio import stdio_client
server_params = StdioServerParameters( command="python", args=[r"C:\path\to\windbg-mcp\windbg_mcp.py"], )