cnitlrt/pygdbmi-mcp-server
3.2
If you are the rightful owner of pygdbmi-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This is a Model Context Protocol (MCP) server based on pygdbmi, designed to interact with GDB for dynamic debugging.
Tools
14
Resources
0
Prompts
0
pygdbmi-mcp-server
| 中文
这是一个基于 pygdbmi 开发的 MCP (Model Context Protocol) 服务器,旨在通过 MCP 协议调用 GDB 进行动态调试。
本项目部分代码参考自 pwnomcp。
功能特性
本服务器提供了一系列 MCP 工具,用于与 GDB 进行交互:
调试控制
execute: 执行任意 GDB/pwndbg 命令。run: 运行加载的二进制文件。interrupt: 中断正在运行的程序。finish: 运行直到当前函数返回。step_control: 执行步进命令 (continue, next, step, nexti, stepi)。
文件与会话管理
set_file: 加载用于调试的二进制文件。set_poc_file: 设置 PoC 文件 (通过set args传递给二进制文件)。get_session_info: 获取当前调试会话信息。
断点管理
set_breakpoint: 在指定位置设置断点。list_breakpoints: 列出所有断点。delete_breakpoint: 按编号删除断点。toggle_breakpoint: 切换断点的启用/禁用状态。
状态检查
get_context: 获取调试上下文 (寄存器, 堆栈, 反汇编, 代码, 回溯)。get_memory: 读取指定地址的内存。disassemble: 反汇编指定地址。
安装与使用
1. 克隆仓库
git clone https://github.com/cnitlrt/pygdbmi-mcp-server
cd pygdbmi-mcp-server
2. 配置环境
在项目根目录下创建或修改 .env 文件,配置服务器监听地址和传输模式:
PORT=1111
HOST="0.0.0.0"
# TRANSPORT 可选 "sse" (Server-Sent Events) 或 "stdio" (标准输入输出)
TRANSPORT="sse"
3. 安装依赖
本项目推荐使用 uv 进行依赖管理和环境配置。
# 创建虚拟环境 (建议使用 Python 3.13 或更高版本)
uv venv --python 3.13
# 激活虚拟环境 (Linux/macOS)
source .venv/bin/activate
# Windows
# .venv\Scripts\activate
# 安装项目及其依赖
uv pip install -e .
4. 运行服务器
uv run pygdbmi-mcp-server