← 返回目录
J

JS Reverse MCP

社区
面向 AI Agent 的 JavaScript 逆向调试 MCP Server。
GitHub 源仓库 ↗
★ 2.3k Stars 分类 · 浏览器自动化 非常热门
59FMRS · C
可靠性
10/20
安全与权限
9/20
维护活跃度
11/20
文档质量
15/20
安装易用性
14/20

来源显示该项目是 Apache-2.0 许可、运行于仓库根目录的 stdio MCP Server,提供 24 个面向 JavaScript 逆向与浏览器调试的工具。README 未提供服务器 manifest;项目也不是其上游浏览器或协议维护者的官方服务器。

查看 FMRS 评分方法 →

JS Reverse MCP 将有头 Chrome 调试、JavaScript 脚本分析、断点与调用帧执行、网络和 WebSocket 分析、浏览器状态重放及本地文件 I/O 组织为适合 AI Agent 连续推理的工具。默认使用 Patchright 协议层 stealth,并可选使用 CloakBrowser 源码层指纹模式。

工具能力

select_page
列出打开的页面或选择调试上下文。
new_page
创建页面并导航到 URL。
navigate_page
导航、后退、前进或刷新页面。
select_frame
列出或选择 iframe 执行上下文。
click_element
严格匹配并点击当前 frame 中的单个可见元素。
take_screenshot
截取页面截图。
list_scripts
列出页面中加载的 JavaScript 脚本。
get_script_source
按行范围或字符偏移获取脚本源码片段。
save_script_source
将完整脚本源码保存到本地文件。
search_in_sources
在所有脚本中搜索字符串或正则表达式。
set_breakpoint_on_text
通过搜索代码文本设置断点,适用于压缩代码。
break_on_xhr
按 URL 模式设置 XHR/Fetch 断点。
remove_breakpoint
按 ID、URL 或全部移除断点。
list_breakpoints
列出活动断点。
get_paused_info
获取暂停状态、调用栈和作用域变量。
pause_or_resume
暂停或恢复执行。
step
执行单步调试并返回位置和源码上下文。
list_network_requests
列出网络请求、查看详情或导出原始请求材料。
clear_network_requests
经显式确认后清空当前页面收集的请求和 body 缓存。
get_request_initiator
获取网络请求的 JavaScript 调用栈。
get_websocket_messages
列出 WebSocket 连接、分析消息模式或获取消息详情。
clear_site_data
清理当前站点 cookies、origin storage 和 sessionStorage,可选清理全局 HTTP cache。
evaluate_script
在页面或断点上下文执行 JavaScript,支持保存结果和读取本地输入文件。
list_console_messages
列出控制台消息或获取单条消息详情。

安装接入

要求 Node.js v20.19 或更新版本及稳定版 Chrome。在 MCP 客户端配置中使用 npx 配置;也可克隆仓库后运行 npm install 和 npm run build,再以 node 启动 build/src/index.js。涉及本地文件时建议配置 --allowedRoots。

claude_desktop_config.json
{"mcpServers":{"js-reverse":{"command":"npx","args":["js-reverse-mcp"]}}}

选型与风险

适合谁

  • 需要 AI Agent 持续完成真实 JavaScript 逆向调试流程的开发者。
  • 需要有头浏览器、持久化登录态和可复盘本地材料的分析任务。
  • 需要检查脚本、断点、网络与 WebSocket 之间关系的研究工作。

不适合谁

  • 只需要通用网页浏览或简单自动化而不需要逆向调试的任务。
  • 希望获得泛用爬虫框架或绕过所有站点防护的用户。
  • 不愿让 MCP 客户端接触浏览器内容或宿主机文件的敏感环境。

所需权限

  • 可检查、调试和修改浏览器中的页面数据。
  • evaluate_script.localFilePath 以及 outputFile/filePath 参数可使 MCP 读取或写入宿主机文件。
  • 未配置 --allowedRoots 时,本地文件访问不受目录限制;配置后可限定允许读写的目录。
  • 默认 profile 会持久化 cookies 和 localStorage;--isolated 使用临时 profile。

风险与副作用

  • 浏览器内容会暴露给 MCP 客户端,不应在含敏感信息的页面上使用。
  • 不受限制的本地文件访问可能暴露或改写宿主机文件。
  • 详细调试日志可能泄露页面、Cookie、脚本和凭据;README 建议避免使用 DEBUG=*。
  • --cloak 首次启动可能静默下载约 200MB 二进制,且其 profile 与默认 profile 隔离。

常见排障

  1. 首次进入页面后先调用 list_network_requests 激活收集器,再 reload 并重新查看请求。
  2. 遇到反爬拦截时先尝试 --isolated,再考虑 --cloak。
  3. 使用 --cloak 前可运行 npx cloakbrowser install 预下载二进制。
  4. --browserUrl 必须是能响应 /json/version 的 CDP HTTP 端点,不是厂商私有 Local API。
  5. 本地文件读写问题可检查 --allowedRoots;连接问题可确认 Node.js、Chrome 和 CDP 端点。

使用场景

定位和分析网页中的 JavaScript 函数。
通过断点、调用栈、作用域变量和单步执行调查运行时行为。
捕获、检查和导出网络请求、Cookie、响应内容及 WebSocket 消息。
清理站点状态并重放 Cookie 或风控初始化流程。
在页面、浏览器网络数据与本地分析文件之间传递材料。

支持客户端

Claude Code完整支持
Cursor完整支持
VS Code Copilot完整支持
Codex完整支持