返回 MCP 目录
public公开dns本地运行

gdb-mcp

一个在GDB内部运行的轻量级MCP服务器,通过gdb-command工具代理执行GDB命令并返回文本输出,基于SSE协议通信

article

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 库构建。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端