项目简介
VS Code Debugger MCP 是一个 Visual Studio Code 扩展,它集成了一个基于 Model Context Protocol (MCP) 的服务器。这个服务器允许支持 MCP 协议的 AI 代理(如 RooCode、Cline 等)与 VS Code 的调试功能进行交互,从而实现自动化和智能化的代码调试体验。该项目充当了 AI 客户端和 VS Code 调试器之间的桥梁。
主要功能点
- AI 驱动调试: 允许 AI 代理通过标准化的 MCP 工具接口,执行 VS Code 中的调试操作。
- 调试配置管理: AI 可读取项目 'launch.json' 文件中的可用调试配置列表。
- 断点管理: 支持 AI 设置、查询和移除普通断点、条件断点、命中计数断点和日志点。
- 执行控制: AI 可启动调试会话(启动或附加模式)、继续执行、单步调试(步过、步入、步出)以及停止调试会话。
- (未来功能) 检查变量值、遍历调用堆栈、在特定上下文评估表达式等。
- MCP 服务器管理: 扩展在 VS Code 状态栏显示服务器运行状态,并提供方便的启动、停止和重启服务器的控制菜单。
- 端口配置: 支持配置服务器监听端口,处理端口占用冲突。
- 自动启动: 可配置在 VS Code 启动时自动启动 MCP 服务器。
- 客户端配置: 提供一键复制功能,方便将连接到该 MCP 服务器所需的配置信息(URL、端口)复制到 AI 客户端。
安装步骤
- 安装 Node.js: 确保您的系统已安装 Node.js (版本 18.0.0 或更高)。访问 Node.js 官方网站 下载并安装适合您操作系统的版本。
- 安装 VS Code Debugger MCP 扩展:
- 打开 Visual Studio Code。
- 切换到扩展视图 (侧边栏的方块图标,或按 'Ctrl+Shift+X')。
- 在搜索框中输入 'VSCode Debugger MCP'。
- 找到该扩展,点击“安装”按钮。
- 确认服务器状态: 扩展安装并激活后,会在 VS Code 状态栏(通常在右下角)显示 Debug-MCP 服务器的状态(如 "Debug-MCP: Stopped")。如果配置为自动启动,它可能会显示 "Debug-MCP: Starting" 或 "Debug-MCP: Running"。
服务器配置
该 MCP 服务器作为 VS Code 扩展的一部分运行,其进程生命周期由扩展管理。MCP 客户端不需要配置启动服务器的 'command' 和 'args'。客户端只需要配置连接到此服务器的 URL 和端口信息。
您可以通过点击状态栏的 Debug-MCP 状态项来打开菜单,选择“Copy MCP Config”来获取客户端所需的配置信息,通常格式如下(具体端口号取决于您的配置和服务器状态):
{ "mcpServers": { "vscode-debugger-mcp": { "url": "http://localhost:6009/sse", "headers": {} } } }
- 'url': MCP 服务器的连接地址,AI 客户端通过这个地址与服务器通信。'/sse' 是 Server-Sent Events 端点。
- 'headers': 可选的 HTTP 请求头。
将此配置添加到您的 AI 客户端(如 RooCode 的 MCP 配置文件 'mcp.json' 或其他支持 MCP 的客户端)中相应的 'mcpServers' 部分。请参考您的 AI 客户端文档了解如何添加外部 MCP 服务器配置。
您可以通过 VS Code 设置 ('settings.json') 配置服务器端口 ('vscode-debugger-mcp.server.port') 和是否自动启动 ('vscode-debugger-mcp.server.autoStart')。
基本使用方法
- 启动 MCP 服务器: 如果服务器未运行,点击状态栏的 Debug-MCP 状态项,选择“Start Debug MCP Server”。等待状态显示为 "Debug-MCP: Running"。
- 配置 AI 客户端: 将上一步复制的 MCP 服务器配置粘贴到您的 AI 客户端的 MCP 配置中。
- 连接 AI 客户端: 在您的 AI 客户端中,确保已启用并连接到“vscode-debugger-mcp”服务器(具体操作取决于客户端)。通常客户端会显示连接状态。
- AI 代理交互: 现在,您的 AI 代理应该可以通过调用 'vscode-debugger-mcp' 服务器提供的工具(如 'get_debugger_configurations', 'set_breakpoint', 'start_debugging' 等)来执行调试任务了。例如,让 AI 获取调试配置,然后选择一个配置启动调试会话,并在特定代码行设置断点。
信息
分类
开发者工具