Skip to main content
Glama
primax79

VSCode Debug MCP

by primax79

VSCode Debug MCP

VS Code 확장 프로그램 및 CLI로, VS Code의 디버그 어댑터 프로토콜(DAP)을 MCP 도구로 노출하여 AI 코딩 에이전트가 실제 디버그 세션에서 중단점 설정, 코드 단계별 실행, 변수 검사 및 예외 읽기를 수행할 수 있도록 합니다.

크레딧

이 프로젝트는 Hwanyong Yoo의 mcp-debug-tools 분석에서 시작하여 영감을 받아 처음부터 다시 작성되었습니다. 소스 코드는 (몇 가지 작고 기능적으로 사소한 유틸리티 파일을 제외하고) 그대로 복사되지 않았습니다. VS Code 통합 지점(활성화, 명령, 기여) 및 CLI/검색 접근 방식은 참조로 사용되었으며, DAP 추적, 세션 처리 및 서버 보안은 처음부터 재설계되었습니다. 원본과 동일하게 GPL-3.0으로 라이선스가 부여됩니다.

Related MCP server: Debug-MCP

다시 작성한 이유

원본 도구를 분석한 결과, 제자리에서 패치하기 어려운 여러 문제가 발견되었습니다:

  • DAP 메시지 추적은 스텁(stub)으로, get-dap-log, get-debug-console 및 get-exception-info에 대해 항상 미리 정의된 자리 표시자(placeholder)를 반환했으며 실제 데이터는 반환하지 않았습니다.

  • 단일 공유 McpServer 인스턴스가 모든 클라이언트 세션을 처리하여, 두 번째 동시 연결이 무기한 중단되었습니다.

  • HTTP 서버에는 인증이 없었으며 DNS 리바인딩 보호가 비활성화되어 있었습니다.

  • logMessage(로그포인트)는 수락되었지만 실제로 적용되지는 않았습니다.

  • 명령을 통해 서버를 중지/재시작하면 디스크의 설정 파일이 오래된 포트를 가리키게 되었습니다.

  • 두 개의 package.json 파일이 각 빌드 전에 교체되었으며, 이로 인해 필수 런타임 종속성이 모든 게시된 버전에서 선언되지 않은 채로 남게 되었습니다.

이 모든 문제는 여기서 수정되었습니다. 자세한 목록은 CHANGELOG.md를 참조하십시오.

개발

npm install
npm run build       # esbuild -> out/extension.js, out/cli.js
npm run typecheck    # tsc --noEmit
npm run lint

확장 프로그램 실행: VS Code에서 이 폴더를 열고 F5를 누르십시오(확장 개발 호스트).

CLI를 독립 실행형으로 실행: node out/cli.js <command> [args] - 전체 명령/도구 참조는 resources/skills/dap-cli-debugging.md를 참조하십시오.

패키징 및 설치

VS Code용 설치 가능한 .vsix 패키지를 생성하려면:

npx @vscode/vsce package

이렇게 하면 저장소 루트에 vscode-mcp-dap-debugger-X.Y.Z.vsix 파일이 생성됩니다. VS Code UI(확장 -> ... -> VSIX에서 설치...) 또는 명령줄에서 설치할 수 있습니다:

code --install-extension vscode-mcp-dap-debugger-*.vsix

보안 모델

HTTP 서버는 127.0.0.1에만 바인딩되고, DNS 리바인딩 보호를 활성화한 상태로 유지하며, 모든 요청에 대해 인스턴스별 인증 토큰(시작 시 생성되어 작업 공간의 .vscode-mcp-dap-debugger/config.json 및 ~/.vscode-mcp-dap-debugger/active-configs.json에 기록됨)을 요구합니다. CLI는 포트를 검색하는 것과 동일한 방식으로 토큰을 검색합니다. 이는 강력한 인증을 의미하는 것이 아니라, 다른 로컬 프로세스나 사용자가 포트를 우연히 발견하여 (임의 표현식을 evaluate-expression을 통해 실행하는 것을 포함하여) 이 작업 공간에 대한 파일 시스템 접근 권한 없이 디버거를 구동하는 것을 방지하기 위한 보호 장치입니다.

Related MCP Connectors

Related MCP Servers