microsoft/DebugMCP

Gift your VS Code agent a real debugger: breakpoints, stepping, inspection.

DebugMCP – 让 AI 代理控制 VS Code 调试器

它是什么 – DebugMCP 是一个由 Microsoft 维护的 VS Code 扩展(以及配套的 CLI),它在本地运行一个小型 MCP (Multi-Chat-Protocol) 服务器。该服务器将完整的 VS Code 调试操作(启动/停止、单步执行、断点、变量检查、表达式求值等)作为 MCP 工具公开。任何理解 MCP 的 AI 编码助手(例如 GitHub Copilot、Claude Code、Codex、Cursor、Cline 等)都可以调用这些工具,并像人类一样调试您的程序,而无需您编写解析日志的提示词。

为什么它很重要 – 现代 AI 结对编程工具可以建议修复方案,但它们仍然缺乏对正在运行的调试器的直接访问权限。DebugMCP 弥补了这一差距,使代理能够:

  • 为文件或测试启动调试会话,
  • 设置断点(包括条件断点)和日志点,
  • 动态暂停正在运行的进程,
  • 单步跳过/进入/跳出、继续、重启和停止,
  • 查询变量名称和值,以及
  • 在当前调试上下文中评估任意表达式。

所有这些操作都在本地进行,没有网络流量,无需凭据,从而确保了强大的调试器原语的安全性。


关键组件

组件 功能
VS Code 扩展 在 http://localhost:3001/mcp 启动 MCP 服务器,注册工具,并自动向受支持的 AI 助手注册。
DebugMCP CLI (npm 包) 提供无需 VS Code 的相同 MCP 服务器。它直接与通过 stdio 通信的任何 Debug Adapter Protocol (DAP) 适配器对话,使其可用于无头 CI 或远程容器。
debug-live 代理技能 一个可重用的技能包(安装到 ~/.agents/skills/ 或 ~/.copilot/skills/ 中),包含更高级的工作流(何时开始调试、如何调查、特定语言的提示)。

工作原理(概览)

  1. 服务器启动 – 当扩展激活(或运行 CLI)时,它会启动一个绑定到回环接口的 HTTP MCP 服务器。
  2. 工具注册 – 服务器发布一组工具(例如 start_debugging、add_breakpoint、evaluate_expression)。每个工具都有一个描述所需参数的 JSON 模式。
  3. 代理调用 – 支持 MCP 的 AI 助手发送类似 {"tool":"add_breakpoint","params":{"fileFullPath":"/src/app.py","line":42}} 的请求。
  4. 操作执行 – DebugMCP 将请求转发给 VS Code 的内置 Debug Adapter(或使用 CLI 时的独立 DAP 适配器)并将结果返回给代理。
  5. 技能指导 – 代理可以调用可选的 debug-live 技能以获取分步调试计划,确保系统化的根本原因分析。

快速入门 (VS Code)

  1. 从 VS Code Marketplace 安装 DebugMCP(或通过 vscode: 链接)。
  2. 打开项目并打开命令面板 → DebugMCP: Show Agent Selection Popup。
  3. 选择您想要启用的 AI 助手(例如 Copilot、Claude Code)。
  4. 要求助手调试文件或测试;它将自动调用 MCP 工具。

快速入门 (CLI)

npm install --global debugmcp          # 安装 CLI
debugmcp configure --agent copilot-cli  # 注册您想要使用的代理
# 启动服务器(在后台运行)
debugmcp start

现在任何兼容 MCP 的代理都可以与 http://localhost:3001/mcp 通信。


支持的语言和适配器

该扩展适用于任何具有 VS Code Debug Adapter Protocol 实现的语言。开箱即用的支持包括 Python、JavaScript/TypeScript、Java、C/C++、Go、Rust、PHP、Ruby 和 C#/.NET。CLI 可以指向任何通过 stdio 通信的 DAP 适配器(例如用于 Python 的 debugpy、用于 C/C++ 的 lldb-vscode、用于 Java 的 java-debug)。


安全模型

  • 服务器默认仅绑定到 127.0.0.1 和 ::1 – 它是未经身份验证的,但无法从网络访问。
  • 可以将 debugmcp.bindHost 更改为非回环地址(对容器转发很有用),但会将调试器暴露给任何可以访问该地址的人。
  • 所有请求均经过验证;格式错误或越界的操作将被拒绝。

适用人群

  • 依赖 AI 结对编程并希望助手能够实际单步调试代码的开发人员。
  • 构建需要确定性调试功能的自定义 AI 代理的团队。
  • 探索自主代码修复或自调试 LLM 的研究人员。

更多信息

  • GitHub 仓库 – https://github.com/microsoft/DebugMCP (问题、源码、贡献指南)
  • VS Code Marketplace – 直接从 VS Code 安装。
  • npm 包 – npm install -g debugmcp 用于 CLI。
  • 演示 GIF – 展示 AI 助手设置断点和检查变量。

总结

DebugMCP 将 VS Code 调试器转换为 AI 代理可以编程调用的 MCP 公开服务。它既可以作为 VS Code 扩展,也可以作为无头 CLI 使用,支持所有带有 DAP 适配器的主要语言,并附带一个可重用的 debug-live 技能,引导代理进行系统化调试。安装它,注册您的 AI 助手,让模型像人类一样调试您的代码。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目