Skip to main content
Glama
primax79

VSCode Debug MCP

by primax79

VSCode Debug MCP

Расширение для VS Code и CLI, которые предоставляют протокол отладчика VS Code (DAP) в виде инструментов MCP, чтобы агент ИИ для написания кода мог устанавливать точки останова, выполнять код по шагам, просматривать переменные и читать исключения в реальном сеансе отладки.

Благодарности

Этот проект является переписанным с нуля, начатым как анализ и вдохновлённый mcp-debug-tools от Hwanyong Yoo. Никакой исходный код не был скопирован дословно (за исключением нескольких небольших, функционально тривиальных служебных файлов); точки интеграции VS Code (активация, команды, contributes) и подход CLI/обнаружения использовались в качестве справочных при перепроектировании отслеживания DAP, обработки сеансов и безопасности сервера с нуля. Лицензия GPL-3.0, как и у оригинала.

Related MCP server: Debug-MCP

Зачем переписывать

Анализ оригинального инструмента выявил несколько проблем, которые не стоило исправлять на месте:

  • Отслеживание сообщений DAP было заглушкой, которая всегда возвращала шаблонные заполнители для get-dap-log, get-debug-console и get-exception-info — никогда реальных данных.

  • Один общий экземпляр McpServer обрабатывал каждый сеанс клиента, что приводило к бесконечной задержке второго одновременного подключения.

  • HTTP-сервер не имел аутентификации и отключал защиту от DNS-ребдинга.

  • logMessage (logpoints) принимался, но никогда не применялся.

  • Остановка/перезапуск сервера через команду оставлял файл конфигурации на диске, указывающий на устаревший порт.

  • Два файла 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 <команда> [аргументы] — см. resources/skills/dap-cli-debugging.md для полного справочника команд/инструментов.

Упаковка и установка

Чтобы создать устанавливаемый пакет .vsix для VS Code:

npx @vscode/vsce package

Это создаст файл vscode-mcp-dap-debugger-X.Y.Z.vsix в корне репозитория. Вы можете установить его в VS Code через интерфейс (Расширения -> ... -> Установить из 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