@ debugmcp/ mcp- 调试器
步入调试 LLMS 的 MCP 服务器。 —— 29个工具 覆盖断点(行,语句-指定,函数,日志点),脚步,堆放/可变检查,表达式评价,缓冲程序输出,启动/attach/重启生命周期,以及仅读取的活会话 IDE 镜像.
安装
您可以不通过 npx 安装使用此软件包 :
npx @debugmcp/mcp-debugger stdio
或在全球安装:
npm install -g @debugmcp/mcp-debugger
代理技能和 Pi 软件包
包裹运送 mcp-debugger 代理技能
时间 skills/debugging/ (当调试时,会话黄金路径,根-原因纪律,每个语言)
页:1 也是个 毕 编码代理软件包 :
pi install npm:@debugmcp/mcp-debugger 安装技能和扩展
(单位:千美元)extensions/mcp-debugger.js以 pi 内置的 MCP 支持注册服务器( pi 0. 99 或
之后,运行安装在旁边的CLI.
使用量
STIO 模式( 默认)
mcp-debugger stdio
SSE 模式
折旧: SSE运输被贬值,将在未来发行被移除. 使用
mcp-debugger http --port 3001换句话说.
mcp-debugger sse --port 3001
HTTP 模式( 建议)
mcp-debugger http --port 3001
诊断你的设置
mcp-debugger doctor # report every adapter (informational, always exits 0)
mcp-debugger doctor python go # gate the exit code on the named languages
mcp-debugger doctor --json
doctor 探测每个适配器的运行时间,在一次通过中调试后端,然后打印 a
每种语言的判决,加上任何需要注意的补救。 你先来
当一个语言被报告无法使用时, 或者在程序启动前发射失败时
启动。 语言参数退出 1 当任何要求的语言是 broken, (中文(简体) ),
missing, (中文(简体) ), disabled,或未知(和 2 当医生失败的时候
它总是离开 0。 。 。 . --timeout <ms> 盖住每种语言的探测器(默认为1000).
见 诊断指南 用于每种语言的先决条件和失败签名.
电池- 包含的适配器
所有语言适配器被捆绑入CLI包. 不需要单独安装。 包括下列适配器:
- 蟒 (单位:千美元)
@debugmcp/adapter-python) - Python 通过调试调试 - 鲁比 (单位:千美元)
@debugmcp/adapter-ruby- Ruby通过rdbg调试 - Java 脚本 (单位:千美元)
@debugmcp/adapter-javascript) - JavaScript/Node.js 通过js-debug调试 - 锈 (单位:千美元)
@debugmcp/adapter-rust) - 通过代码LDB进行 Rust调试 - 走开 (单位:千美元)
@debugmcp/adapter-go-通过Delve调试 - 爪哇语 (单位:千美元)
@debugmcp/adapter-java- Java通过JDI桥调试 - . NET 网络 (单位:千美元)
@debugmcp/adapter-dotnet) -.NET通过净分数bg调试 - 页:1 (单位:千美元)
@debugmcp/adapter-cpp) - C/C++通过代码LDB调试 - 科波尔 (单位:千美元)
@debugmcp/adapter-cobol- COBOL通过GnuCOBOL + CodeLLDB来调试(一个 DAP shim 添加了 COBOL 形状的瞄准镜和值) - 达特/弗卢特 (单位:千美元)
@debugmcp/adapter-dart- Dart和Flutter通过SDK自己的调试适配器调试(dart debug_adapter, (中文(简体) ),flutter debug-adapter在TCP到Stdio桥后面 - 雾 (单位:千美元)
@debugmcp/adapter-mock- 用于测试的模拟适配器
系统要求: 节点.js 22+需要运行 mcp-debugger. 启动程序还需要该语言在机器上的工具链:
- 蟒: Python 3.7+ 与 :
debugpy(单位:千美元)pip install debugpy(中文(简体) ) - 鲁比: 鲁比与
debug宝石rdbg(中文(简体) ) - Java 脚本/ Type 脚本: 没有额外的 — js- debug 被捆绑
- 锈: Rust工具链(rustc/cargo;Windows上的GNU工具链). 代号LLDB本身是销售商——不需要系统LLDB
- 走开: go + Delve (中文(简体) )
go install github.com/go-delve/delve/cmd/dlv@latest(中文(简体) ) - 爪哇语: JDK 21+(将目标与
javac -g(中文(简体) ) - . NET 网络: netcoredbg + 一个相容的.NET运行时间(便携式 PDB)
- 页:1: 无用于预建的二进制(CodeLLDB sparnered); 仅用于孤源文件启动的编译器(g++/clang++)
- 科波尔: GnuCOBOL 3.1.2+ (中文(简体) )
cobc数字 :apt install gnucobol3, (中文(简体) ),brew install gnucobol, MSYS2 软件mingw-w64-ucrt-x86_64-gnucobol用于源发射和COBOL形状变量;CodelDB销售商 - 达特/弗卢特: 达特SDK(
dart在路径上,或DART_SDK或小蝶( )flutter在路径上,或FLUTTER_ROOT),将达特捆绑;调试适配器船与SDK,没有什么是卖出. 蝶花跑者需要flutter --version一旦运行, 工具缓存将构建
代码LDB 平台注释 : 代码LDB通过每个平台的可选依赖关系调试引擎船(
@debugmcp/codelldb-<platform>) —— npm完全安装了匹配您 os/ cpu的一款,因此Rust, C/C++和COBOL在Windows, macOS,和Linux上调试工作. 安装方式--omit=optional跳过; 点CODELLDB_PATH以美元计 代码LDB 二进制代替,或者使用多克图像.
无工具链附加 : 仅限 蟒 (单位:千美元)debugpy --listen和 鲁比 (单位:千美元)rdbg --open页:1 直接连接 ——调试引擎已经在目标内部运行,因此调试机主机不需要Python或Ruby. JavaScript,Java,.NET,C/C++,COBOL和Dart/Flutter 产下一个局部适配器作为附加(modes.attach: 'spawn'),因此在调试器主机上需要他们的工具链——例如Java JDI桥在主机JDK上局部运行,并在JDWP上连接出,而达特SDK的适配器则连接出目标VM服务URI. list_supported_languages 按模式提供报告并说明理由.
有用的环境变量
| 变量 | 效果 |
|---|---|
DEBUG_MCP_NO_REDACT=1 | 在变量/评价/产出结果中禁用默认的秘密编辑 |
DEBUG_MCP_VARIABLE_ACCESS=explicit | 最小优先模式 : get_variables 需要明确 names: [...] |
DEBUG_MCP_BP_ADDRESSING=line|assert|content | 断点地址模式( 默认) content:声明主播+内容断言) |
CODELLDB_PATH | 当平台软件包不可用时, 代码LDB 二进制路径( 见上文注) |
CPP_MSVC_BEHAVIOR=warn|error|continue | 当一个 C/C++ 目标看起来是 MSVC (部分 PDB 忠诚度) 时怎么办 |
COBC_PATH | Pin the GnuCOBOL 编译器 (cobc当它不在路径或已知安装目录中时 |
DART_SDK | 达特 SDK 根(或它的根) bin/dart当 dart 不在路径上; DART_PATH 是别名 |
FLUTTER_ROOT | 平缓 SDK 根当 flutter 不在路径上——当找不到独立的SDK时,使用其捆绑的达特; FLUTTER_PATH 是别名 |
MCP_HTTP_STALE_SESSION_MS | HTTP 模式: 在此空闲时间( 默认 30 分) 之后收获从未打开 SSE 流的崩溃被忽略的 MCP 会话 |
MCP_HTTP_STREAM_LOST_SESSION_MS | HTTP 模式: 收获一个会话, 其 SSE 流下降, 在此空闲时间( 默认 2分) 后再也没有返回 —— 释放一个已死客户端的暂停附加目标 |
MCP_HTTP_ALLOWED_HOSTS | HTTP 和 (已过期) SSE 模式: 逗号分隔 Host (和浏览器) Origin)除此之外,还要接受主机名 localhost, (中文(简体) ), 127.0.0.1, (中文(简体) ), [::1] – 仅在另一个访问控制前端服务器;与重复相同 --allowed-host |
MCP_HTTP_BIND | HTTP 和 (过期) SSE 模式: 要监听的 IP 地址( 默认) 127.0.0.1,仅回转);与 --bind。多克图像集 0.0.0.0 所以一个出版的端口作品。 拒绝启动空值 |
检查 Rust 二进制兼容性
mcp-debugger check-rust-binary <path-to-binary>
mcp-debugger check-rust-binary --json <path-to-binary>
分析一个 Rust 可执行文件,以确定它是使用 GNU 或 MSVC 工具链构建的,并报告 CodeLLDB 调试兼容性 。 使用 --json 用于机器可读输出.
选项
服务器选项( E)stdio, (中文(简体) ), sse, (中文(简体) ), http(中文(简体) )
-l, --log-level <level>- 设置日志级别(错误、警告、信息、调试;默认:信息)--log-file <path>- 记录文件而不是控制台
SSE 和 HTTP 选项
-p, --port <number>- SSE 或 HTTP 模式的端口( 默认: 3001)--bind <address>- 要监听的IP地址( 默认 ):127.0.0.1,仅回放;或MCP_HTTP_BIND) (中文(简体) ).0.0.0.0收听每个接口,并且可以从其他机器中达到——用配对--allowed-host <name>这些客户端拨打的名称, 在服务器前用另一个访问控制.localhost表示127.0.0.1;拒绝使用主机名称和一个空值.GET /health报告绑定地址和端口listening。 。 。 .
HTTP 选项
--allowed-host <host>- 额外Host编号 :Origin要接受的主机名( 可重复; 或)MCP_HTTP_ALLOWED_HOSTS,逗号分隔). 表示此服务器的另一个访问控制前方 。 无通通相. 默认 :localhost, (中文(简体) ),127.0.0.1, (中文(简体) ),[::1]。堕落者sse命令使用相同的选项.
doctor 选项
[languages...]- 检查和打开退出代码的语言(默认:报告全部,出口0)--json- 发一份机器可读报告--timeout <ms>- 以毫秒计的每个语言探测超时(默认:1000)
check-rust-binary 选项
--json- 发一份机器可读报告
文档
见 主要仓库 用于完整文档.
许可证
麻省理工学院