关于 mcp-gdbserver
mcp-gdbserver 是供开发者通过 gdbserver 远程调试程序的 MCP 服务。其工具涵盖进程与会话管理、执行控制、断点和状态检查。
主要功能
- 01启动、附加并管理会话
- 02设置和删除断点
- 03继续、单步执行和中断
- 04检查线程、堆栈和变量
- 05读取寄存器和内存
适用场景
- 01通过 gdbserver 会话调试程序
- 02在断点处暂停执行
- 03检查堆栈帧、变量或内存
MCP 相关
向 MCP 客户端提供 19 种调试工具,用于管理 gdbserver 会话、控制执行、设置断点和检查程序状态。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-gdbserver
用于远程调试的 MCP 服务,使用 gdbserver 提供完整的调试功能,包括进程管理、断点控制、单步执行、内存检查等。
安装
pip install mcp-gdbserver
使用方法
from mcp_gdbserver import GdbDebugger
# Create debugger instance
debugger = GdbDebugger()
# Start gdbserver to debug a program
session = debugger.start_gdbserver(port=2345, program="/bin/myapp", args=["--debug"])
# Get session info
sessions = debugger.list_sessions()
# Stop session
debugger.stop_session("session_1")
CLI
mcp-gdbserver --help
工具
MCP 服务提供 19 个调试工具,分为 4 类:
进程管理
gdbserver_start- 启动 gdbserver,以远程方式调试程序gdbserver_start_multi- 以多进程模式启动 gdbservergdbserver_attach- 附加到正在运行的进程gdbserver_list_sessions- 列出所有活动会话gdbserver_stop- 停止调试会话
断点控制
gdbserver_set_breakpoint- 在指定位置设置断点gdbserver_delete_breakpoint- 删除断点
执行控制
gdbserver_continue- 继续执行gdbserver_step- 单步执行一条指令(进入函数)gdbserver_next- 执行一条指令(跳过函数)gdbserver_interrupt- 中断执行
检查
gdbserver_stack_frames- 获取调用栈帧gdbserver_local_variables- 获取局部变量gdbserver_list_threads- 列出所有线程gdbserver_select_thread- 切换到某个线程gdbserver_read_register- 读取 CPU 寄存器gdbserver_read_memory- 读取内存内容gdbserver_evaluate- 计算表达式gdbserver_load_symbols- 加载符号文件
MCP 配置
将以下内容添加到 MCP 配置中:
{
"mcpServers": {
"mcp-gdbserver": {
"command": "mcp-gdbserver",
"env": {}
}
}
}
开发
git clone https://github.com/daedalus/mcp-gdbserver.git
cd mcp-gdbserver
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
mcp-name: io.github.daedalus/mcp-gdbserver
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。