Back to MCP directory
publicPublicdnsLocal runtime

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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client