README
🚀 GDB MCP Server (FastMCP)
GDB MCP Server (FastMCP) 是一款轻量级的 MCP 服务器,可在 GDB 内部运行。它仅提供一个工具 gdb-command,该工具可将输入直接转发给 GDB 的命令解释器,并返回文本输出。此服务器通过 SSE 运行,可在 GDB 内部使用 mcp-server 命令启动。
✨ 主要特性
gdb-command:可传递任意 GDB 命令并返回其输出。- 最小化、自包含的脚本
gdb-mcp(通过source加载)。
📦 安装指南
环境要求
- 启用 Python 支持的 GDB。
- Python 3.x 以及 GDB 嵌入式 Python 可用的
fastmcp库。
检查 Python 支持
使用以下命令检查 GDB 是否支持 Python:
gdb -q -ex "python print('ok')" -ex quit
安装 FastMCP
使用以下命令安装 fastmcp 库:
python3 -m pip install fastmcp
若在 GDB 中导入失败,请确保 fastmcp 安装到 GDB 使用的同一 Python 环境中。
🚀 快速开始
1. 启动加载了 MCP 扩展的 GDB
可以使用以下命令启动 GDB 并加载 MCP 扩展:
gdb -q -ex 'source ./gdb-mcp'
或者在 GDB 内部加载:
source ./gdb-mcp
2. 在 GDB 内部启动 SSE 服务器
使用以下命令启动 SSE 服务器:
mcp-server 127.0.0.1 3333
3. 将 MCP 客户端连接到服务器
将 MCP 客户端配置为连接到上述所选主机/端口的 SSE 服务器,并调用 gdb-command 工具。
工具:gdb-command
参数
command(字符串):要运行的精确 GDB 命令(例如info registers)。
返回值
字符串(捕获的 GDB 输出或错误消息)。
📚 详细文档
注意事项和提示
⚠️ 重要提示
- 此脚本未提供超时或停止控制。若要中断长时间运行的目标执行,请发出
interrupt命令。- 除非信任客户端,否则请勿公开绑定此端点,因为它可以执行任意 GDB 命令。
- 若要自动加载,可在
~/.gdbinit中添加一行:source /absolute/path/to/gdb-mcp。- 此工具没有内置的“停止服务器”功能。若要关闭服务器,请退出 GDB。
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
致谢
本项目基于出色的 fastmcp 库构建。
Scan to join WeChat group