调试器MCP服务器

VSCode扩展,提供用于调试集成的MCP(模型上下文协议)服务器。

  • by fyuuki0jp
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 fyuuki0jp/vscode-debugger-mcp

使用说明

VSCode调试器MCP服务器

VSCode扩展,提供用于调试集成的MCP(模型上下文协议)服务器。

特性

此扩展提供了用于控制VSCode调试器的MCP工具:

  • 断点管理:在代码中设置和删除断点
  • 表达式求值:在调试会话期间计算表达式
  • 调试配置:从launch.json中列出可用的调试配置
  • 会话控制:启动和停止调试会话
  • 步骤执行:控制调试器步进(跨步、进入、退出、继续、暂停)
  • 状态监测:获取当前调试状态,包括活动会话和断点

MCP工具

设断点

在文件中的特定行设置断点。支持绝对路径和相对路径。

{
  "path": "src/index.js",  // relative to workspace
  "line": 42,
  "condition": "i > 10"  // optional
}

移除断点

删除特定行的断点。支持绝对路径和相对路径。

{
  "path": "src/index.js",  // relative to workspace
  "line": 42
}

求值表达式

在当前调试上下文中计算表达式。

{
  "expression": "myVariable.someProperty",
  "frameId": 0  // optional
}

list_debug_configurations

列出launch.json文件中的所有可用调试配置。

开始调试

启动调试会话。

{
  "configName": "Run Extension"  // optional
}

停止调试

停止当前调试会话。

get_debug_status

获取当前调试状态,包括:

  • 活动会话信息
  • 可用线程和活动线程ID
  • 堆栈帧(暂停时)
  • 具有相对路径的断点

示例响应:

{
  "isActive": true,
  "isPaused": true,
  "activeSession": {
    "id": "1",
    "name": "Launch Program",
    "type": "node"
  },
  "threads": [
    { "id": 1, "name": "main" }
  ],
  "activeThreadId": 1,
  "stackFrames": [
    {
      "id": 1,
      "name": "myFunction",
      "source": { "path": "src/index.js", "name": "index.js" },
      "line": 42,
      "column": 5
    }
  ],
  "breakpoints": [...]
}

step_debuger

在活动调试会话期间控制调试器步进。

{
  "type": "stepOver",  // stepOver, stepInto, stepOut, continue, pause
  "threadId": 1  // optional - defaults to active thread
}

备注:您可以从以下位置获取线程ID get_debug_status。如果未指定,调试器将使用当前活动的线程。

沟通

该扩展在上运行SSE(服务器发送事件)服务器 http://localhost:6010/sse 用于MCP客户端通信。

端点

  • GET /sse -SSE连接端点
  • POST /sse -发送MCP请求
  • GET /health -健康检查端点

发展

  1. 克隆存储库
  2. 跑 npm install
  3. 在VSCode中打开
  4. 按 F5 在新的“扩展开发主机”窗口中运行扩展

构建扩展

标准构建

npm run build

这创造了 vscode-debugger-mcp-0.0.1.vsix 文件。

优化捆绑包构建

npm run package-bundle

这创建了一个webpack捆绑版本,以获得更好的性能。

可用脚本

  • npm run compile -将TypeScript编译为JavaScript
  • npm run watch -观看模式编译
  • npm run lint -运行ESLint
  • npm run package -创建.vsix包
  • npm run build -编译和打包
  • npm run webpack -与webpack捆绑
  • npm run package-bundle -捆绑和包装

安装

  1. 使用上述方法之一构建扩展
  2. 在VSCode中,转到扩展视图
  3. 单击“…”菜单,然后选择“从VSIX安装…”
  4. 选择生成的 .vsix 文件

用法

  1. 当扩展激活时,MCP服务器会自动启动
  2. 将您的MCP客户端连接到 http://localhost:6010/sse
  3. 发送JSON-RPC 2.0请求以控制调试器

命令

  • Start MCP Debug Server -手动启动服务器
  • Stop MCP Debug Server -停止服务器
  • 单击状态栏项以切换服务器

需求

  • VSCode 1.80.0或更高
  • Node.js 16.x或更高版本

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。