AI代理调试器

一个基于Chrome DevTools协议的Node.js调试工具,专为AI代理设计,支持断点设置、变量检查和执行控制。

  • by AbianS
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 AbianS/inspector-mcp

使用说明

检查员mcp

用于AI代理的完整Node.js调试器,由Chrome DevTools Protocol提供支持。


你的AI已经可以读写代码了。随着 inspector-mcp 它也可以 运行它,暂停它,看看它的内部.

将任何兼容MCP的AI代理连接到正在运行的Node.js进程。在TypeScript源文件上设置断点,逐行执行,检查作用域中的每个变量,并读取控制台输出——所有这些都是通过自然语言完成的,而无需离开你的人工智能聊天。


目录


特性

  • 源映射感知断点 --使用您的设置断点 .ts 文件路径;服务器将它们解析为已编译的 .js 自动定位
  • 全步骤执行 --跨过、走进、走出、继续
  • 计量检验 --局部、封闭和全局范围;深入嵌套对象
  • 表达式计算 --在暂停帧的上下文中运行任何JS表达式
  • 控制台缓冲 --最后1000个日志条目,可按级别和文本过滤
  • 自动重新连接 --在进程重启后幸存下来,并自动重新注册所有断点
  • 适用于任何MCP客户端 --Claude Desktop、Cursor、VS Code或任何支持MCP stdio传输的客户端

需求


安装

尝试不安装:

npx inspector-mcp

全局安装:

npm install -g inspector-mcp

设置

1.在调试模式下启动应用程序

# Node.js
node --inspect src/server.js

# Next.js
NODE_OPTIONS='--inspect' next dev

# nodemon
nodemon --inspect src/server.js

# Pause on first line (useful for startup bugs)
node --inspect-brk src/server.js

2.在AI客户端注册MCP服务器

克劳德桌面版 (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "inspector": {
      "command": "npx",
      "args": ["inspector-mcp"]
    }
  }
}

光标/VS代码 (.cursor/mcp.json 或 .vscode/mcp.json):

{
  "servers": {
    "inspector": {
      "command": "npx",
      "args": ["inspector-mcp"]
    }
  }
}

克劳德代码 (.mcp.json 在您的项目根目录中):

{
  "mcpServers": {
    "inspector": {
      "type": "stdio",
      "command": "npx",
      "args": ["inspector-mcp"]
    }
  }
}

3.让你的AI进行调试

连接MCP服务器后,用通俗易懂的语言描述问题:

My /api/users endpoint is returning 500. Connect to the process on port 9229,
set a breakpoint at line 34 of src/routes/users.ts, and tell me what the
database query result looks like when the error happens.

代理将连接、设置断点、等待暂停,并返回实际值——不需要额外的工具。


用技能让你的AI更聪明

这 skills/inspector-mcp/SKILL.md 这个仓库中的文件是一种即用型技能,可以教会你的人工智能如何使用这个工具——正确的工作流程顺序、要避免的陷阱和高级提示。

将其添加到您的项目中,以便您的AI代理自动拾取它:

mkdir -p .claude/skills/inspector-mcp
curl -o .claude/skills/inspector-mcp/SKILL.md \
  https://raw.githubusercontent.com/AbianS/inspector-mcp/main/skills/inspector-mcp/SKILL.md

一旦就位,你的人工智能将知道如何正确连接、设置断点和检查变量,而无需你每次都解释。


可用工具

🔌 连接

工具 说明
debug_connect 连接到Node.js进程。接受 host, port,以及 auto_reconnect.
debug_disconnect 关闭会话。
debug_list_sessions 列出活动会话及其状态(connecting / connected / paused / reconnecting).

🔴 断点

工具 说明
debug_set_breakpoint 在上设置断点 .ts 或 .js 文件。支持 condition 对于有条件的休息。
debug_remove_breakpoint 按断点ID删除断点
debug_list_breakpoints 列出所有断点及其是否经过验证(将触发)。

▶️ 执行

工具 说明
debug_continue 继续,直到下一个断点。
debug_pause 在下一句话时暂停。
debug_step_over 下一行--跳到函数体。
debug_step_into 输入下一个函数调用。
debug_step_out 运行直到当前函数返回。

🔍 检查 (需要暂停会话)

工具 说明
debug_stack_trace 带有TypeScript文件路径和行号的当前调用堆栈。
debug_get_variables 作用域中的变量。使用 scope_filter: local, closure, global,或 all.
debug_evaluate 在暂停的帧中计算JS表达式。
debug_get_properties 使用其展开嵌套对象 objectId 从 get_variables.

📋 控制台

工具 说明
debug_read_console 读取缓冲日志。筛选依据 level 和 filter 文本;分页 limit / offset.
debug_clear_console 清空缓冲区。

运作原理

Your AI ──(MCP / stdio)──► inspector-mcp ──(CDP / WebSocket)──► node --inspect
                                  │
                            source maps
                           (.ts ↔ .js)

inspector-mcp 是一个stdio MCP服务器。开 debug_connect 它打开一个指向Chrome DevTools协议端点的WebSocket,Node.js在 --inspect 从编译后的输出中读取源映射,以在TypeScript源位置和实际运行的生成JavaScript之间进行转换。当事件到达时,控制台输出被捕获到环形缓冲区中。


故障排除

ECONNREFUSED 在连接时

进程未运行 --inspect,或位于其他端口上。请使用以下命令重新启动:

node --inspect src/server.js   # port 9229
NODE_OPTIONS='--inspect' next dev  # port 9230

断点为 verified: false 永不触发

缺少源映射或编译的文件不存在。先运行构建,然后检查:

ls build/server.js.map                # external source map
grep sourceMappingURL build/server.js # inline source map

作为后备方案,在 .js 归档 build/ 直接调整行号——TypeScript条带类型注释,使行移动1-3。

get_variables / evaluate 返回错误 -32600

会话未暂停。这些工具仅在进程在断点处停止时才起作用。证实 debug_list_sessions 那 status === "paused".

变量显示为 [Object]

debug_get_variables 返回浅预览。使用 debug_get_properties 随着 objectId 展开嵌套值。


许可证

MIT© 阿比安·苏亚雷斯