基本能力
产品定位
dap-mcp 是一个专为调试工作流优化的工具,通过集成 Debug Adapter Protocol (DAP) 和 Model Context Protocol (MCP),提供高效的调试功能。
核心功能
- Debug Adapter Protocol 集成:使用标准化协议与调试器交互。
- MCP 框架:利用 MCP 优化上下文并增强调试工作流。
- 丰富的调试工具:设置、列出和移除断点;控制执行(继续、步入/出/下一步);评估表达式;切换堆栈帧;查看源代码。
- 灵活的配置:通过 JSON 配置文件自定义调试器设置、源代码目录等参数。
适用场景
- 开发者在调试复杂代码时需要高效的断点管理和执行控制。
- 团队需要标准化调试流程以提升协作效率。
- 项目需要扩展支持多种调试器(如 debugpy、lldb)。
工具列表
- launch:启动调试程序。
- set_breakpoint:在指定文件和行设置断点(可带条件)。
- remove_breakpoint:移除指定文件和行的断点。
- list_all_breakpoints:列出所有当前设置的断点。
- continue_execution:在命中断点后继续执行程序。
- step_in:步入函数调用。
- step_out:步出当前函数。
- next:执行到下一行代码。
- evaluate:在当前调试上下文中评估表达式。
- change_frame:切换到不同的堆栈帧。
- view_file_around_line:查看指定行附近的源代码(如未指定文件则使用最后提供的文件)。
- terminate:终止调试会话。
常见问题解答
- 如何扩展支持其他 DAP 服务器?
在dap_mcp/config.py
中添加新的 DAP 配置类,定义唯一的type
值并包含特定字段,然后更新联合类型以包含新类。 - 如何贡献代码?
- Fork 仓库;2. 创建新分支;3. 编写测试并确保通过;4. 提交 Pull Request。
使用教程
使用依赖
- Python 3.10 或更高版本
- uv(可选,用于运行服务器)
安装教程
安装 dap-mcp 及其依赖:
```bash
pip install dap-mcp
python -m dap_mcp --config config.json
如果已安装 uv
uvx dap-mcp@latest --config config.json
```
调试方式
运行服务器后,使用提供的工具(如 set_breakpoint
、continue_execution
)通过 MCP 客户端进行调试。示例命令:
bash
python -m dap_mcp --config config.json