使用说明
项目简介
MCP Server GDB 是一个基于 Model Context Protocol (MCP) 构建的服务器,它将 GDB 调试器封装成 MCP 服务,使得大型语言模型 (LLM) 客户端可以通过标准化的 MCP 协议,远程控制和使用 GDB 调试功能。该服务器旨在为 LLM 应用提供程序调试和分析的能力,例如在 LLM 驱动的智能 IDE 或代码助手中使用。
主要功能点
- GDB 会话管理:支持创建、获取、列出和关闭 GDB 调试会话,允许多会话并发调试。
- 断点管理:支持设置、获取和删除代码断点,方便程序调试过程中的控制。
- 程序执行控制:提供启动、停止、继续、单步执行(步入、步过)等程序执行控制功能。
- 调试信息获取:支持获取程序堆栈帧信息和局部变量信息,帮助分析程序状态。
安装步骤
- 安装 Rust 和 Cargo:确保你的开发环境中已安装 Rust 编程语言和 Cargo 包管理器。你可以访问 Rust 官网 按照指引进行安装。
- 克隆仓库:将 'mcp_server_gdb' 仓库克隆到本地。
git clone https://github.com/pansila/mcp_server_gdb.git cd mcp_server_gdb - 启动服务器:在仓库根目录下,使用 Cargo 构建并运行服务器。
服务器默认使用 Stdio 传输模式,SSE 模式默认监听 'http://127.0.0.1:8080'。cargo run
服务器配置
MCP 服务器的配置主要涉及启动命令和参数,以便 MCP 客户端能够正确连接。以下是 MCP 客户端连接 'mcp_server_gdb' 服务器的配置示例(JSON 格式):
{ "serverName": "mcp_server_gdb", "command": "cargo run", "args": [] }
参数注释:
- 'serverName': 服务器名称,客户端用于标识和区分不同的 MCP 服务器。这里设置为 'mcp_server_gdb'。
- 'command': 启动 MCP 服务器的命令。这里使用 'cargo run',表示在项目根目录下使用 Cargo 运行服务器。
- 'args': 启动命令的参数列表,当前示例中为空,表示不传递额外参数。你可以根据需要添加参数,例如 '--transport sse' 切换到 SSE 传输模式,或 '--log-level debug' 调整日志级别。
其他配置:
服务器还支持通过修改 'src/config.rs' 文件或环境变量进行配置,包括:
- 'SERVER_PORT': 服务器端口号(仅 SSE 模式)。
- 'GDB_COMMAND_TIMEOUT': GDB 命令执行超时时间(秒)。
基本使用方法
- 启动 MCP 服务器:按照安装步骤启动 'mcp_server_gdb' 服务器。
- 配置 MCP 客户端:在 MCP 客户端中,配置服务器连接信息,使用上面提供的 JSON 配置示例。
- 连接服务器:启动 MCP 客户端并连接到 'mcp_server_gdb' 服务器。
- 调用工具:客户端连接成功后,可以调用服务器提供的工具进行 GDB 调试操作。例如,使用 'create_session' 创建调试会话,'set_breakpoint' 设置断点,'start_debugging' 开始调试等。具体的工具列表和参数请参考仓库 README.md 文档中 "Supported MCP Tools" 部分。
信息
分类
开发者工具