
gdb-mcp 项目实现了一个模型上下文协议(MCP)服务器,该服务器向基于LLM的客户端暴露了丰富的GDB 15.x功能集。它启动一个交互式的gdb进程,通过MI2接口转发命令,并返回结构化的响应,从而支持从自动化代理进行逐步调试、断点管理、内存检查和远程目标控制。
主要功能包括:
GDB_MCP_IDLE_TIMEOUT配置)。breakpoint_control、execution_step、data_control等。gdb进行容器化分发,以实现可重复的环境。src/mcp-gdb/gdb_session.py – 包含结果解析和超时处理的异步GDB MI解释器包装器。src/mcp-gdb/server.py – 定义了具有22个整合工具的MCP服务器,提供全面的GDB访问。docs/eng, docs/kor – 文档工具使用的简洁GDB特性参考。Dockerfile – 使用python:3.12-slim构建生产镜像,采用UV包管理和预安装的gdb。images/running_screen.png – 在Docker中运行的服务器示例截图。# 构建容器镜像
$ docker build -t gdb-mcp:latest .
# 运行MCP服务器(标准IO传输)
$ docker run --rm -i \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v "$PWD":/workspace \
gdb-mcp:latest
服务器等待一个兼容MCP的客户端(例如桌面LLM应用程序)通过标准IO连接。一旦连接,你可以:
start_session启动GDB,可选地指定目标二进制文件或参数。set_breakpoint、run_program、backtrace、evaluate_expression或connect_remote等工具来驱动调试。get_feature_reference / list_reference_topics快速查找GDB文档。GDB_MCP_IDLE_TIMEOUT – 会话停止前的空闲秒数(默认90)。GDB_MCP_LOGLEVEL – Python日志级别(如INFO、DEBUG等)。uv pip install --system -r <生成的需求> 或者在Docker容器内工作。python -m compileall src执行轻量级语法检查。docs/eng/gdb-feature-list.md(英文)或docs/kor/gdb-feature-list.md(韩文)了解工具覆盖情况。