js-reverse-mcp
为AI Agent设计的Chrome逆向MCP Server,三层反检测体系让AI像真人一样操控浏览
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
为AI Agent设计的Chrome逆向MCP Server,三层反检测体系让AI像真人一样操控浏览
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你的 AI 助手需要帮你研究竞品价格、分析竞争对手的营销策略、或者抓取某个只有登录后才能看到的页面数据。传统方案是让 AI 写爬虫脚本、调试接口,但这条路的代价是——你永远绕不开那些越来越聪明的反爬系统。
Cloudflare 的挑战、FingerprintJS 的浏览器指纹、DataDome 的行为检测……每一家大厂都在用越来越复杂的手段区分机器和人。更糟糕的是,很多 AI Agent 使用的浏览器自动化工具(Puppeteer、Playwright)本身就自带"我是机器人"的指纹——navigator.webdriver = true、CDP 流量特征、不当的启动参数,样样都在暴露身份。
js-reverse-mcp 做的事,就是给 AI Agent 提供一个真正隐身的浏览器逆向工具。它基于 Chrome DevTools Protocol(CDP),提供 22 个精心设计的 MCP 工具,让 Agent 能够像真人一样"看"网页——不是靠猜测接口,而是直接操控浏览器、用调试工具分析 JS 代码。
这个项目最初是 Google 团队维护的 chrome-devtools-mcp 的一个分支。原始项目于 2024 年发布,但随着 AI Agent 场景的兴起,开发者 zhizhuodemao 发现了根本性问题:原始工具的每一个操作都在告诉反爬系统"我是机器人"。
作者从零开始重构,在三个正交层面建立了完整的隐身体系:
协议层(Patchright):默认模式下,项目使用 Patchright(Playwright 的反检测分支)替代标准 Playwright。这一层解决了最经典的 CDP 检测问题——不调用 Runtime.enable、不调用 Console.enable、在 isolated execution context 中执行 evaluate、移除 --enable-automation 等可探测启动参数。
源码层(CloakBrowser):对于 Cloudflare Turnstile、FingerprintJS 这类强防护站点,项目支持 --cloak 模式,调用 CloakBrowser 定制的 Chromium 二进制。这个二进制包含 49 个 C++ 层面的指纹 patch,涵盖 canvas / WebGL / audio / fonts / GPU / 屏幕 / WebRTC / TLS JA3/JA4 指纹等,在源码级别模拟真实 Chrome 的所有可检测特征。
包装层(MCP Server):在导航阶段,项目采取 CDP 静默策略——页面加载期间完全不激活任何 CDP 域(Network.enable / Debugger.enable 等全部延后),直到用户主动发起第一个非导航工具调用才初始化。这让反爬脚本在页面加载阶段无法探测到调试流量。
js-reverse-mcp 提供了一套围绕 CDP 设计的工具集,分四大类:
导航自动化:navigate_page、new_page、select_page,让 Agent 像人一样点击链接、打开新标签。
网络抓取:list_network_requests——完整记录页面发出的所有请求,包括 XHR、Fetch、WebSocket,可以按 URL 过滤、按请求 ID 深入查看请求体和响应体。特别设计了 break_on_xhr 断点工具,在特定 XHR 发出时自动暂停,方便追踪加密参数的来源。
JS 逆向:这是核心能力集。Agent 可以:
set_breakpoint_on_text)step)或进入函数(step_into)list_scripts、get_script_source、save_script_source)get_paused_info)evaluate_script)并在真实浏览器上下文中验证结果get_request_initiator)——找出是哪个 JS 调用了某个 API浏览器状态:clear_site_data、take_screenshot、list_console_messages、select_frame。
这套工具的设计哲学是**"工具即原语"**——每个工具做一件事,组合起来可以完成复杂的逆向任务。例如,分析某个加密参数从哪里来:先 list_network_requests 找到可疑的 API 调用 → break_on_xhr 在该请求发出时暂停 → get_paused_info 查看调用栈 → get_script_source 查看加密逻辑源码 → evaluate_script 在浏览器中执行解密代码验证。
项目采用纯 TypeScript 开发,依赖清晰:
@modelcontextprotocol/sdk(v1.21.1):MCP 协议实现,负责 Server 与 AI Agent 之间的 JSON-RPC 通信。patchright(^1.51.1):核心浏览器引擎,提供反检测的 Playwright 兼容 API。chrome-devtools-frontend(v1.0.1547571):Chrome DevTools 前端协议定义,确保 MCP 工具与 Chrome CDP 版本严格对齐。devtools-protocol(^0.0.1425554):CDP 类型定义,辅助开发。yargs(v18.0.0):CLI 参数解析。zod:通过 Google 的 third_party/index.ts 引入,用于所有工具的参数 schema 校验。代码结构模块化:40 个 TypeScript 源文件分布在 src/tools/(各工具实现)、src/formatters/(网络/控制台/WS 消息格式化)、src/ 核心(CDP Session 管理、Page 收集、调试上下文、MCP 协议适配)三层。其中 CdpSessionProvider.ts 解决了一个关键兼容性问题——Playwright 和 Puppeteer 的 CDP Session 创建方式不同,该类做了统一抽象。
构建系统使用 TypeScript Compiler(tsc)编译为 JS,配合 Rollup 做 bundle,生成可直接发布的 npm 包。Node.js 引擎要求 ^20.19.0 || ^22.12.0 || >=23,即 Node 20 以上。
安装方式非常简单,两种选择:
npx 方式(无需安装,直接运行):
npx js-reverse-mcp --help
全局安装:
npm install -g js-reverse-mcp
js-reverse-mcp
在 Claude Desktop / Cursor 等 MCP 客户端中配置:
{
"mcpServers": {
"js-reverse": {
"command": "npx",
"args": ["js-reverse-mcp"]
}
}
}
如果需要 --cloak 模式(高强度反爬绕过),强烈建议先用 npx cloakbrowser install 单独下载 CloakBrowser 二进制(约 200MB),否则 MCP 启动时可能静默等待 30-60 秒。
硬件需求极低:不需要 GPU、不需要大内存,普通的 Chrome 能跑就能用。磁盘占用约 500MB(含依赖)。唯一要求是系统已安装 Google Chrome,且版本与 Patchright 支持的版本匹配。
macOS 的 --cloak 降级问题:CloakBrowser 的 macOS build 只包含 26 个 C++ patch,而 Linux/Windows 有 57 个。这意味着在 Mac 上使用 --cloak,实际防护水平低于 Linux/Windows 用户。这是一个已知的平台差异,项目文档如实告知,而非隐藏。
不是通用浏览器:js-reverse-mcp 是一个调试/逆向工具,不是普通用户的浏览器替代品。它需要配合 AI Agent 使用,普通人不会直接"打开它上网"。
法律边界:在未授权网站上进行 JS 逆向可能涉及法律风险。项目本身是技术工具,但使用场景由用户决定。
js-reverse-mcp 的出现,折射出一个更大的趋势:AI Agent 正在从"调用 API"进化到"操控浏览器"。当 Agent 需要操作那些没有开放 API 的系统时,最通用的方式就是用浏览器模拟人类操作。
这个项目解决的不仅是技术问题——它重新定义了"隐身"的含义。不是靠某种"神奇的反检测技术"骗过所有系统,而是在三个层面(协议/源码/包装)各自做好自己该做的事,形成正交互补的防护体系。没有银弹,但有完整的系统工程。
从 star 增长来看,项目于 2025 年 11 月创建,到 2026 年 6 月已达 1964 star,8 个 open issues,活跃度高,说明这个工具解决了真实痛点。
| 项目 | 值 |
|---|---|
| GitHub | zhizhuodemao/js-reverse-mcp |
| 最新版本 | v3.0.0(2026-06-21) |
| 语言 | TypeScript |
| 许可证 | Apache-2.0 |
| 核心依赖 | @modelcontextprotocol/sdk、patchright、chrome-devtools-frontend |
| 工具数量 | 22 个 MCP 工具 |
| 安装方式 | npm 全局安装或 npx 直接运行 |
| Node.js 要求 | >= 20.19.0 |
| 硬件需求 | 无 GPU 要求,Chrome 可用即可 |