返回市场
MCP服务器GDB

MCP服务器GDB

作者:pansila54 星标更新:2025-09-17

项目介绍

MCP Server GDB

基于MCP协议的GDB/MI协议服务器,提供与AI助手配合的远程应用程序调试能力。

特性

  • 创建和管理GDB调试会话
  • 设置和管理断点
  • 查看堆栈信息和变量
  • 控制程序执行(运行、暂停、单步等)
  • 支持并发多会话调试
  • 内置TUI以检查代理行为,从而改进您的提示(正在进行中)

安装

预编译二进制文件

在发布页面找到二进制文件,根据您的工作平台选择一个,然后可以直接运行它。

从源码构建

克隆仓库并使用cargo进行构建

cargo build --release
cargo run

使用Nix

如果您已安装Nix,可以无需克隆就运行项目:

在本地运行(克隆后)

nix run .

从GitHub远程运行

nix run "git+https://github.com/pansila/mcp_server_gdb.git" -- --help

开发环境

进入带有所有依赖项的开发shell:

nix develop

使用方法

  1. 直接运行:./mcp-server-gdb
  2. 服务器支持两种传输模式:
    • Stdio(默认):标准输入/输出传输
    • SSE:服务器发送事件传输,默认地址为http://127.0.0.1:8080

配置

您可以通过修改src/config.rs文件或通过环境变量来调整服务器配置:

  • 服务器IP地址
  • 服务器端口
  • GDB命令超时时间(秒)

支持的MCP工具

会话管理

  • create_session - 创建新的GDB调试会话
  • get_session - 获取特定会话信息
  • get_all_sessions - 获取所有会话
  • close_session - 关闭会话

调试控制

  • start_debugging - 开始调试
  • stop_debugging - 停止调试
  • continue_execution - 继续执行
  • step_execution - 进入下一行
  • next_execution - 跳过下一行

断点管理

  • get_breakpoints - 获取断点列表
  • set_breakpoint - 设置断点
  • delete_breakpoint - 删除断点

调试信息

  • get_stack_frames - 获取堆栈帧信息
  • get_local_variables - 获取局部变量
  • get_registers - 获取寄存器
  • read_memory - 读取内存内容

许可证

MIT </中文翻译>