Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
windbg-mcp — 모든 pybag Windows 디버거 기능을 네이티브 MCP 도구로 전환하는 MCP(Model Context Protocol) 서버입니다. MCP 호환 클라이언트(Claude Desktop, Claude Code, Cowork, OpenAI Codex CLI, Cursor 및 사용자 지정 에이전트)가 구조화된 JSON 호출을 통해 사용자 모드 프로세스, 커널 세션 및 크래시 덤프 분석을 제어할 수 있게 해줍니다. | Kitploit
도구/GitHubGitHub/gengstah/windbg-mcp
Dynamic Analysis (Sandboxing)Memory ForensicsVulnerability AnalysisExploitationReverse EngineeringDebuggersForensicsUtilities & FrameworksBinary AnalysisIncident Response
GitHub
868145개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
gengstah/windbg-mcp

windbg-mcp

모든 pybag Windows 디버거 기능을 네이티브 MCP 도구로 전환하는 MCP(Model Context Protocol) 서버입니다. MCP 호환 클라이언트(Claude Desktop, Claude Code, Cowork, OpenAI Codex CLI, Cursor 및 사용자 지정 에이전트)가 구조화된 JSON 호출을 통해 사용자 모드 프로세스, 커널 세션 및 크래시 덤프 분석을 제어할 수 있게 해줍니다.

저장소 보기

WinDbg MCP

MCP (Model Context Protocol) 서버로, 모든 pybag Windows 디버거 함수를 네이티브 MCP 도구로 노출합니다. 모든 MCP 호환 클라이언트(Claude Desktop, Claude Code, Cowork, OpenAI Codex CLI, Cursor 및 사용자 정의 에이전트)에게 사용자 모드 프로세스, 커널 세션 및 크래시 덤프 분석에 대한 완전한 제어를 제공합니다. 모든 것은 타입화된 도구 호출과 구조화된 JSON 응답을 통해 이루어집니다.


요구 사항

  • Windows 전용 — pybag는 Microsoft Debugging Tools for Windows가 필요합니다.
  • Python 3.10+
  • Microsoft Debugging Tools for Windows (Windows SDK의 일부)

설치

1. 저장소 클론```bat

git clone https://github.com/your-username/windbg-mcp.git cd windbg-mcp

### 2. Python 종속성 설치```bat
pip install pybag mcp

3. Microsoft 디버깅 도구 설치

Windows SDK를 다운로드하고 설치 중 Debugging Tools for Windows를 선택하세요: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/


LLM IDE 및 클라이언트 연결

서버는 로컬 stdio 프로세스로 실행됩니다. 아래의 모든 클라이언트는 동일한 방식으로 실행됩니다 — python <path-to>/windbg_mcp.py — 하지만 각자 고유한 구성 형식을 가지고 있습니다.


Claude Desktop

Claude Desktop 구성 파일을 편집하고 windbg-mcp 항목을 추가하세요:

구성 파일 위치:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: `~/Library/Application Support/Claude/claude_desktop_config.json````json { "mcpServers": { "windbg-mcp": { "command": "python", "args": ["C:\path\to\windbg-mcp\windbg_mcp.py"] } } }
Claude Desktop를 다시 시작하세요. 55개의 모든 디버거 도구가 자동으로 나타납니다.

---

### Claude Code (CLI)

다음 명령을 한 번 실행하여 서버를 등록하세요. Claude Code는 항목을 자체 MCP config에 저장하고 이후 모든 세션에서 도구를 사용할 수 있게 합니다.```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

Claude Cowork

Claude Cowork에 WinDbg MCP를 추가하는 방법은 두 가지입니다: JSON 구성(빠른 방법) 또는 .mcpb 플러그인 번들(이식 가능, 공유 가능)로 설치하는 방법입니다.

옵션 A — JSON 구성

  1. Claude 데스크톱 앱을 열고 설정 → MCP 서버로 이동합니다.
  2. 서버 추가를 클릭하고 다음을 붙여넣습니다.```json { "windbg-mcp": { "command": "python", "args": ["C:\path\to\windbg-mcp\windbg_mcp.py"] } }
3. 저장하고 Cowork를 다시 시작하세요. 도구들은 다음 세션에서 사용할 수 있습니다.

#### 옵션 B — `.mcpb` 플러그인 번들로 설치

`.mcpb` 파일은 Cowork가 직접 설치할 수 있는 플러그인 디렉터리의 zip 아카이브입니다. 이는 팀이나 여러 머신 간에 서버를 공유할 때 권장되는 방법입니다.

**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에 설치

  1. Claude 데스크톱 앱을 엽니다.
  2. 설정 → 플러그인(또는 확장 프로그램)으로 이동합니다.
  3. 플러그인 설치를 클릭하고 windbg-mcp.mcpb를 선택합니다.
  4. Cowork는 번들에서 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) 또는 `%USERPROFILE%\.codex\config.json` (Windows).```json
{
  "mcpServers": {
    "windbg-mcp": {
      "command": "python",
      "args": ["C:\\path\\to\\windbg-mcp\\windbg_mcp.py"]
    }
  }
}

저장한 후 새로운 Codex 세션을 시작하세요. WinDbg 도구를 모델이 호출할 수 있게 됩니다.


Cursor

  1. Cursor → Preferences → Cursor Settings를 엽니다.
  2. MCP 탭으로 이동합니다.
  3. Add new global MCP server를 클릭하고 다음 구성을 사용합니다:```json { "windbg-mcp": { "command": "python", "args": ["C:\path\to\windbg-mcp\windbg_mcp.py"] } }
4. 저장합니다. Cursor는 다음 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개의 디버거 도구가 나타납니다.


사용자 정의 에이전트와 MCP SDK

자체 에이전트 또는 자동화 파이프라인을 구축하는 경우, 표준 MCP stdio 전송을 통해 WinDbg MCP에 연결하세요. 서버는 stdin/stdout을 통해 JSON-RPC 2.0으로 통신합니다.

Python (mcp SDK 사용)```python

import 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();

LangChain / LangGraph```python

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"], )

async def get_tools(): async with stdio_client(server_params) as (read, write): async with ClientSession(read, write) as session: await session.initialize() return await load_mcp_tools(session)

#### Direct JSON-RPC over stdio (언어 독립적)

서버는 개행으로 구분된 JSON-RPC 2.0 메시지를 통해 통신합니다. 프로세스의 stdin에 쓰고 stdout에서 읽는 방식으로 모든 언어에서 구동할 수 있습니다:```
→ {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0"}}}
← {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2024-11-05","capabilities":{...},"serverInfo":{"name":"WinDbg MCP","version":"1.0.0"}}}

→ {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"load_dump","arguments":{"path":"C:\\crashes\\crash.dmp"}}}
← {"jsonrpc":"2.0","id":2,"result":{"content":[{"type":"text","text":"{\"status\": \"ok\", ...}"}]}}

사용 가능한 도구 (총 55개)

세션 관리

도구매개변수반환값
status—{connected, type, pid, bitness}
list_processes—[{pid, name, description}]
createpath (필수), args, initial_break{status, pid, bitness}
attachpid 또는 name (둘 다 아님), initial_break{status, pid, bitness}
kernel_attachconnect_string (필수), initial_break{status, type, connect_string}
load_dumppath (필수){status, bitness, rip, symbol_at_rip}
connectoptions (필수){status, options}
detach—{status}
terminate—{status}
도구 다운로드