pwndbg-mcp

pwndbg-mcp

Enables AI agents to control pwndbg for collaborative debugging with real-time state synchronization and full GDB/pwndbg command support.

Category
访问服务器

README

pwndbg-mcp

MCP Server for pwndbg - 让 AI Agent 能够通过标准 MCP 协议控制 pwndbg 进行协作调试

特性

  • ✅ 标准 HTTP MCP 协议
  • ✅ 支持远程访问
  • ✅ 自动启动,无需手动初始化
  • ✅ 完整的 GDB/pwndbg 命令支持
  • ✅ 支持人机协作调试
  • ✅ 实时状态同步
  • ✅ 模块化架构,易于扩展

快速开始

安装

运行安装脚本:

python3 setup.py

按照提示操作,脚本会:

  1. 检查依赖
  2. 自动添加到 ~/.gdbinit
  3. 配置自动加载

手动安装

~/.gdbinit 中添加:

source /path/to/pwndbg-mcp/pwndbg_mcp.py

使用

1. 启动 pwndbg

gdb ./your_binary

HTTP MCP 服务器会自动启动在 127.0.0.1:22334

2. 管理命令

# 查看状态
pwndbg> mcp-status

# 启动服务器(支持自定义配置)
pwndbg> mcp-start                    # 默认 127.0.0.1:22334
pwndbg> mcp-start 0.0.0.0            # 监听所有接口,端口22334
pwndbg> mcp-start 0.0.0.0 9000       # 自定义host和port
pwndbg> mcp-start 9000               # 只改端口

# 停止服务器
pwndbg> mcp-stop

3. 配置 Claude Code

在 Claude Code 的 MCP 配置中添加:

{
  "mcpServers": {
    "pwndbg-mcp": {
      "url": "http://127.0.0.1:22334"
    }
  }
}

4. 开始调试

在 Claude Code 中可以直接使用 MCP 工具控制 pwndbg!

支持的工具

工具 描述
gdb_execute 执行 GDB/pwndbg 命令
gdb_get_registers 获取寄存器状态
gdb_get_memory 读取内存
gdb_set_breakpoint 设置断点
gdb_delete_breakpoint 删除断点
gdb_get_breakpoints 列出所有断点
gdb_continue 继续执行
gdb_step 单步进入
gdb_stepi 单步执行指令
gdb_next 单步跳过
gdb_nexti 下一条指令
gdb_get_backtrace 获取调用栈
gdb_get_info 获取程序信息

架构

模块化设计

pwndbg_plugin/
├── __init__.py       - 插件入口,自动启动
├── http_bridge.py    - HTTP MCP 服务器
├── commands.py       - 用户管理命令
├── wrappers.py       - 内部包装命令
├── queries.py        - 查询接口
├── events.py         - 事件处理
└── utils.py          - 工具函数

通信协议

  • 传输: HTTP POST
  • 协议: 标准 MCP (Model Context Protocol)
  • 端点: POST /POST /mcp
  • 格式: JSON-RPC 2.0

配置

安全建议

默认监听 127.0.0.1(仅本地访问)。如需远程访问:

pwndbg> mcp-start 0.0.0.0 22334

⚠️ 警告:开放远程访问前请确保网络安全

防火墙配置

如果需要远程访问,确保防火墙允许端口:

# UFW
sudo ufw allow 22334/tcp

# iptables
sudo iptables -A INPUT -p tcp --dport 22334 -j ACCEPT

故障排查

检查服务器状态

pwndbg> mcp-status

测试连接

curl -X POST http://127.0.0.1:22334/ \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}'

查看日志

服务器输出会显示在 pwndbg 终端中

开发

添加新工具

  1. queries.py 中添加查询函数
  2. http_bridge.py_get_tools_list() 中注册工具
  3. _execute_tool() 中添加工具映射

测试

cd examples
gdb test_program
pwndbg> start

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选