使用说明
检查员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传输的客户端
需求
- Node.js≥18
- 您的应用程序正在运行
--inspect或--inspect-brk - 一 MCP兼容AI客户端
安装
尝试不安装:
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© 阿比安·苏亚雷斯