使用说明
gdb mcp
英语| 简体中文
GDB MCP Server for AI Debugging Workflows
Expose practical GDB capabilities as MCP tools for assistants and automation.
概述
gdb-mcp 是一个Python MCP服务器,它将常见的GDB操作转换为MCP工具。
其设计用于:
- 交互式人工智能辅助调试
- 可重复的本地调试工作流
- 轻量级集成到MCP兼容客户端
主要特点
- 多会话GDB管理
- 程序加载/进程附加/堆芯转储加载
- 断点生命周期和执行控制(
set/list/toggle/delete,continue,step,next) - 使用结构化字段进行运行时检查:回溯帧、寄存器、内存、表达式
- 通过以下方式进行轻量级GDB/MI解析
pygdbmi(gdb_command包括miRecords当MI线存在时) - MCP客户端配置安装程序(
gdb-mcp install)
结构化的第一响应策略:
- 当结构化解析成功时(例如
miRecords/frames/registers/breakpoints),相应的原始文本字段被省略。 - 当结构化解析没有产生可用数据时,原始文本仅作为后备。
快速开始
要求:
- Python 3.11+
uvgdb
安装并运行:
uv sync --extra dev
uv run gdb-mcp
运行时模式和配置
gdb-mcp 从以下位置读取运行时配置:
GDB_MCP_CONFIG(支持相对路径)- 默认
./config.json在项目根中
环境变量可以覆盖配置值:
GDB_MODE=default|advancedGDB_MCP_MAX_OUTPUT_CHARS=<int>
使用 gdb_get_capabilities 在运行时检查活动模式/策略。
在 default 模式,高级工具隐藏 tools/list.
模式意图:
default:稳定的基线,具有高频调试功能,足以满足大多数日常调试工作流程。advanced:延伸default具有更深入、可定制的分析流程,用于复杂的调试和更深入的面向pwn的需求。
命令行命令
uv run gdb-mcp doctor
uv run gdb-mcp install
uv run gdb-mcp install --client Codex
uv run gdb-mcp config
uv run gdb-mcp uninstall
install 现在支持一个完整的跨平台客户端矩阵(类似于arida pro mcp风格),以及 --client 可以将安装范围限定到选定的客户端。
刀具清单
gdb_startgdb_get_capabilitiesgdb_loadgdb_commandgdb_terminategdb_list_sessionsgdb_set_breakpointgdb_list_breakpointsgdb_delete_breakpointsgdb_toggle_breakpointsgdb_continuegdb_stepgdb_nextgdb_backtracegdb_printgdb_examinegdb_info_registersgdb_attach(仅高级)gdb_load_core(仅高级)gdb_set_watchpoint(仅高级)gdb_info_threads(仅高级)gdb_thread_select(仅高级)gdb_frame_select(仅高级)gdb_collect_crash_report(仅高级)
示例
看 示例/USAGE.md.
构建示例:
cd examples
gcc -g -O0 crash.c -o crash
测试
uv run pytest -q
故障排除
gdb未找到:运行uv run gdb-mcp doctor并安装gdb第一。- MCP工具意外失败:请验证您的目标路径和会话id。
- 未安装客户端配置:运行
gdb-mcp install并重新启动MCP客户端。