/ 디렉터리 / 플레이그라운드 / DebugMCP
● 공식 microsoft ⚡ 바로 사용

DebugMCP

제작: microsoft · microsoft/DebugMCP

Microsoft의 DebugMCP는 Claude에게 VS Code 디버거를 완전히 제어할 수 있게 해줍니다 — 9개 언어에서 중단점, 스텝 실행, 변수 검사까지.

DebugMCP는 Microsoft의 공식 VS Code 확장으로, 에디터의 디버거를 MCP 도구로 노출합니다. AI 어시스턴트가 자율적으로 디버그 세션을 시작하고, 줄 내용 기반으로 중단점을 설정하며(줄 번호의 취약성 없음), 실행을 스텝별로 진행하고, Python, TypeScript, Java, C#, C++, Go, Rust, PHP, Ruby에서 변수를 검사할 수 있습니다. 완전 로컬, 외부 호출 없음, 3001 포트에서 실행.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

debug-mcp-microsoft.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "debug-mcp-microsoft",
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "debug-mcp-microsoft": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-remote",
          "http://localhost:3001/mcp"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add debug-mcp-microsoft -- npx -y mcp-remote http://localhost:3001/mcp

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: DebugMCP

실패하는 테스트를 print문 대신 Claude가 직접 스텝 실행으로 디버깅

👤 백엔드 / 앱 개발자 ⏱ ~15 min beginner

언제 쓸까: 테스트가 명확한 스택 없이 실패 — print 디버깅에 시간이 너무 오래 걸릴 때.

사전 조건
  • VS Code에 DebugMCP 설치 — Marketplace → ozzafar.debugmcpextension
  • 언어별 디버그 확장 (예: Python의 경우 .py용) — VS Code가 첫 실행 시 자동으로 안내
흐름
  1. 설정
    Use debugmcp. Add a breakpoint on the line assert result == expected in tests/test_orders.py.✓ 복사됨
    → 중단점 설정 완료 보고; 줄 내용 매칭됨
  2. 실행
    Start debugging tests/test_orders.py with the failing test.✓ 복사됨
    → 세션이 중단점에서 일시 정지
  3. 검사
    Show me all local variables. What's result actually contain?✓ 복사됨
    → 구체적인 값이 포함된 변수 덤프
  4. 스텝 실행 + 진단
    Step into the function that built result. Tell me where it diverged from expected.✓ 복사됨
    → 코드 위치 기반 근본 원인 파악

결과: 추측이 아닌 스텝 실행으로 버그 위치 파악 — 한 시간이 아닌 몇 분 만에.

함정
  • 줄 번호 기반 중단점은 편집 후 위치가 달라짐 — 줄 내용 매칭 사용 (DebugMCP가 기본 지원)
함께 쓰기: filesystem

조건부 중단점으로 하이젠버그(heisenbug) 잡기

👤 간헐적 버그를 마주한 개발자 ⏱ ~25 min intermediate

언제 쓸까: 특정 입력에서만 재현되는 버그 — 해당 케이스에서만 중단이 필요할 때.

흐름
  1. 조건부 중단점
    Add a breakpoint at the process(order) call that fires only when order.id starts with 'EXP-'.✓ 복사됨
    → 조건부 중단점 설치됨
  2. 재현 실행
    Run the integration suite. When we stop, evaluate the order DTO and the request headers.✓ 복사됨
    → 실패하는 정확한 입력 포착

결과: 하이젠버그가 일반 버그로 전환됨.

함정
  • 조건 평가가 루프를 느리게 만듦 — 조건을 좁게 유지; 사이드 이펙트 없는 순수 조건만 사용

낯선 코드를 이해하기 위한 디버거 활용

👤 서비스 온보딩 중인 신규 입사자 ⏱ ~30 min beginner

언제 쓸까: 서비스를 인수받았는데 데이터 흐름이 불투명할 때.

흐름
  1. 진입점 추적
    Set a breakpoint at the HTTP handler for /orders. Run a sample request and step through every call until response is returned. Narrate as you go.✓ 복사됨
    → 파일:줄 어노테이션이 포함된 단계별 추적

결과: 어떤 다이어그램도 담지 못한 서비스의 동작 지도.

함정
  • 추적이 너무 깊어짐 — 지루한 프레임에는 step_over, 흥미로운 부분에만 step_into 사용

조합

다른 MCP와 조합해 10배 효율

debug-mcp-microsoft + filesystem

스텝 실행 중 소스 읽어 다음 동작 결정

debug-mcp-microsoft + github

디버거로 검증한 수정 사항으로 PR 열기

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
start_debugging fileFullPath, workingDirectory, testName?, configurationName? 디버그 세션 시작 무료
add_breakpoint fileFullPath, lineContent 코드 내용으로 중단 위치 지정 무료
step_over (없음) 소스 한 줄 진행 무료
step_into (없음) 호출된 함수 내부로 진입 무료
get_variables_values scope: 'local'|'global'|'all' 현재 일시 정지 지점에서 상태 검사 무료
evaluate_expression expression: str 재실행 없이 가설 검증 무료
list_breakpoints (없음) 현재 중단점 집합 감사 무료

비용 및 제한

운영 비용

API 쿼터
로컬 — 할당량 없음
호출당 토큰
디버그 액션당 100–500
금액
무료 (MIT)
스텝 실행이 print-디버그 반복보다 저렴함; token을 써서 더 빠르게 진단

보안

권한, 시크릿, 파급범위

최소 스코프: 소스 매핑을 위한 로컬 파일 읽기
자격 증명 저장: 없음 — 자격증명 불필요
데이터 외부 송신: 없음 — 완전 로컬
절대 부여 금지: 3001 포트 네트워크 노출

문제 해결

자주 발생하는 오류와 해결

설치 후 MCP 서버 감지 안됨

VS Code 재시작; 확장이 활성화되었고 3001 포트가 사용 가능한지 확인

확인: curl http://localhost:3001/mcp
언어 미지원

먼저 해당 VS Code 언어 디버그 확장 설치 (예: Python의 경우 ms-python.python)

확인: VS Code UI에서 직접 디버그 실행하여 확인
중단점이 실행되지 않음

소스 맵 불일치 — 편집한 것과 동일한 아티팩트를 디버깅 중인지 확인

확인: launch.json의 `program` 경로 확인

대안

DebugMCP 다른 것과 비교

대안언제 쓰나단점/장점
Print / log 문빠른 일회성, IDE 미연결저렴하지만 반복이 느림; 코드베이스를 오염시킴
언어별 REPL사후 검사만 필요할 때라이브 스텝 없음; 풀 디버거보다 기능 부족

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기