js-reverse-mcp
Enables email/password login via Firebase Auth and automatic extraction/saving of Firebase tokens for authenticated API requests.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@js-reverse-mcpHook fetch and log all API calls"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
JS Reverse MCP
基于 Chrome DevTools Protocol (CDP) 的 MCP 服务器,让 AI 编码助手(Claude、Cursor、Windsurf 等)能够直接控制浏览器进行 JavaScript 调试、逆向分析、网页抓取和 API 调试。
基于 google-deepmind/chrome-devtools-mcp v0.10.2,添加了逆向工程相关工具增强。
功能特点
JS 调试: 断点、单步执行、调用栈、作用域变量检查
脚本分析: 搜索/获取所有加载的 JS 脚本源码,精确定位压缩文件中的位置
函数 Hook: Hook 任意函数(包括 webpack/rollup 模块内部函数),记录调用和返回值
反混淆: 基于 AST(Babel)的
deobfuscate——作用域安全的变量重命名、常量折叠、死代码/不可达代码消除、字符串/数字规范化加密检测: 自动识别 CryptoJS、WebCrypto 等加密库,Hook 加密调用
网络分析: 请求拦截/修改/Mock、XHR 断点、WebSocket 监控、请求调用栈追踪
网页抓取: CSS 选择器提取、表格/链接/结构化数据/元数据提取
API 调试: 在浏览器上下文中发送 HTTP 请求,管理多账号 Token,Firebase 登录
Protobuf: 编解码 Protobuf 消息,解析 gRPC-Connect API 响应
DOM 调试: DOM 断点、表单监控、输入框变化追踪
全局变量: 监控全局变量变化,快照对比找出差异
代码覆盖率: 分析 JS 代码执行覆盖率,识别未使用的代码
Related MCP server: Kaboom Browser AI Devtools MCP
系统要求
安装
git clone https://github.com/1600822305/js-reverse-mcp.git
cd js-reverse-mcp
npm install
npm run buildMCP 客户端配置
方式一:自动启动 Chrome(推荐新手)
{
"mcpServers": {
"js-reverse": {
"command": "node",
"args": ["/你的路径/js-reverse-mcp/build/src/index.js"]
}
}
}方式二:连接已运行的 Chrome(推荐逆向场景)
第一步:以调试模式启动 Chrome(需先关闭所有 Chrome 窗口)
Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="%TEMP%\chrome-debug"macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug第二步:配置 MCP 连接
{
"mcpServers": {
"js-reverse": {
"command": "node",
"args": [
"/你的路径/js-reverse-mcp/build/src/index.js",
"--browser-url=http://127.0.0.1:9222"
]
}
}
}方式三:WebSocket 连接(支持自定义 Header)
{
"mcpServers": {
"js-reverse": {
"command": "node",
"args": [
"/你的路径/js-reverse-mcp/build/src/index.js",
"--ws-endpoint=ws://127.0.0.1:9222/devtools/browser/<id>",
"--ws-headers={\"Authorization\":\"Bearer token\"}"
]
}
}
}Claude Code
claude mcp add js-reverse node /你的路径/js-reverse-mcp/build/src/index.jsCursor / Windsurf
进入 MCP 设置,添加上述 JSON 配置。
完整工具列表
脚本分析
工具 | 描述 |
| 列出页面中所有加载的 JS 脚本(含 URL、sourceMap 信息) |
| 获取脚本源码,支持行范围或字符偏移(适用于压缩文件) |
| 在脚本中查找文本,返回精确行号和列号及上下文 |
| 在所有已加载脚本中搜索字符串或正则表达式 |
断点管理
工具 | 描述 |
| 在指定 URL 和行号设置断点,支持条件断点 |
| 通过搜索代码文本自动定位并设置断点(适用于压缩代码) |
| 移除断点 |
| 列出所有活动断点 |
调试控制
工具 | 描述 |
| 获取暂停状态、调用栈和作用域变量 |
| 恢复执行 |
| 暂停执行 |
| 单步跳过(不进入函数体) |
| 单步进入函数 |
| 单步跳出当前函数 |
| 在暂停的调用帧上下文中求值表达式 |
函数 Hook 与追踪
工具 | 描述 |
| Hook 全局函数或对象方法(如 |
| 移除函数 Hook |
| 列出所有活动的 Hook |
| 追踪任意函数调用(包括 webpack/rollup 打包的模块内部函数),使用条件断点实现,不暂停执行 |
网络调试
工具 | 描述 |
| 列出页面所有网络请求(基于 DevTools 面板) |
| 设置 XHR/Fetch URL 断点 |
| 移除 XHR 断点 |
| 在 CDP 抓包仓库中按 URL/方法/状态/资源类型检索,支持跨请求/响应体全文搜索(导航后仍保留) |
| 按数字 id 获取抓到的完整响应体(二进制返回 base64) |
| 将抓到的网络流量导出为 HAR 1.2 文件(可含响应体) |
| 在页面上下文用 |
| 新增拦截规则(替代旧 |
| 列出活动拦截规则及命中统计 |
| 按 id 移除拦截规则(移除最后一条后自动关闭 Fetch 拦截) |
| 通过 CDP 原生事件捕获 WebSocket 帧(含导航前/二进制帧,不可被页面探测) |
| 停止 WebSocket 捕获(已抓数据保留) |
| 列出追踪的 WebSocket 连接及收发计数 |
| 列出抓到的 WebSocket 帧,可按连接/方向/URL/内容过滤(二进制显示为 base64) |
| 通过 CDP 捕获 Server-Sent Events (EventSource) 消息 |
| 停止 SSE 捕获 |
| 列出抓到的 SSE 消息,可按 URL/内容过滤 |
| 模拟网络条件(离线/限速/延迟)并可覆盖 User-Agent(CDP Network 域) |
| 为后续所有请求设置额外 HTTP 头(传空对象清除) |
| 重置网络模拟、UA 覆盖与额外头 |
API 调试与 Token 管理
工具 | 描述 |
| 在浏览器上下文中发送 HTTP 请求(共享 Cookie 和 Origin),支持自动注入 Token |
| 保存认证 Token(支持 Firebase/JWT/API Key/Bearer 等类型) |
| 列出所有已保存的 Token |
| 设置当前活动 Token |
| 删除已保存的 Token |
Protobuf / gRPC
工具 | 描述 |
| 将字段编码为 Protobuf 二进制(无需 .proto 文件) |
| 解码 Protobuf 二进制:传入 |
网页抓取
工具 | 描述 |
| 统一抽取工具,用 |
| 提取页面元数据(JSON-LD、Open Graph、Twitter Card、标准 meta) |
| 提取表单结构和当前值(含隐藏字段;默认返回所有表单、密码打码) |
加密检测与分析
工具 | 描述 |
| 检测加密库/算法/编码: |
| 分析字符串的编码类型(Base64/Hex/JWT/URL 编码等)并解码 |
| 自动 Hook CryptoJS、JSEncrypt、Web Crypto API 等常见加密库 |
反混淆
工具 | 描述 |
| 美化压缩/混淆的 JavaScript 代码 |
| 基于 AST(Babel)的反混淆:作用域安全的变量重命名、常量折叠、死代码/不可达代码消除、字符串/数字规范化 |
代码覆盖率
工具 | 描述 |
| 开始收集 JavaScript 代码覆盖率(若已在收集会提示) |
| 停止收集并生成报告,可按覆盖率阈值过滤 |
全局变量监控
工具 | 描述 |
| 列出页面上所有自定义全局变量(排除浏览器内置) |
| 监控全局变量变化,记录修改时的调用栈 |
| 停止监控全局变量 |
| 列出所有活动的变量监控器 |
| 创建全局变量快照 |
| 对比快照找出新增/修改的全局变量 |
DOM 断点与表单
工具 | 描述 |
| DOM 子树修改时触发断点 |
| 元素属性修改时触发断点 |
| 元素被删除时触发断点 |
| 移除 DOM 断点 |
| 监控表单提交,捕获所有字段值 |
| 停止表单监控 |
| 实时监控输入框变化(包括密码框) |
| 停止输入监控 |
检查工具
工具 | 描述 |
| 深度检查 JavaScript 对象结构、原型链和方法 |
| 获取 Cookie、localStorage、sessionStorage |
| 监控元素或 window 上的 DOM 事件 |
| 停止事件监控 |
页面导航
工具 | 描述 |
| 列出浏览器中所有打开的页面 |
| 选择一个页面作为调试上下文 |
| 创建新页面并导航到 URL |
| 导航当前页面(支持前进/后退/刷新) |
页面交互
工具 | 描述 |
| 截取页面截图(支持全页面/元素) |
| 获取页面无障碍树快照 |
| 在页面中执行 JavaScript |
| 获取控制台消息 |
使用示例
逆向加密参数
1. list_pages → 选择目标页面
2. search_in_sources "encrypt" → 找到加密函数位置
3. set_breakpoint_on_text "encryptData(" → 在加密函数入口设断点
4. 触发页面操作 → 断点命中
5. get_paused_info → 查看参数和调用栈
6. evaluate_on_callframe "arguments[0]" → 查看明文数据Hook 所有网络请求
hook_function "fetch" → 记录所有 fetch 调用的 URL、参数和响应
hook_function "XMLHttpRequest.prototype.open" → 同时监控 XHR分析 Protobuf API
1. list_network_requests → 找到 content-type: application/proto 的请求
2. decode_protobuf url="https://..." → 直接请求并解码响应代码覆盖率分析
1. start_js_coverage
2. 与页面交互,触发业务流程
3. stop_js_coverage minCoverage=30 → 只显示覆盖率低于30%的脚本(找死代码)反混淆流程
1. list_scripts → 找到混淆脚本的 scriptId
2. deobfuscate scriptId="..." → AST 反混淆(变量重命名 + 常量折叠 + 死代码消除 + 字符串/数字规范化)
3. deobfuscate scriptId="..." aggressive=true → 更激进地重命名短名/_0x 前缀名
4. (仅需美化时)beautify_script scriptId="..." → 纯格式化CLI 配置选项
选项 | 描述 | 默认值 |
| 连接到已运行的 Chrome(HTTP URL) | — |
| 连接到已运行的 Chrome(WebSocket URL) | — |
| WebSocket 连接的自定义 Header(JSON 格式) | — |
| 无头模式运行 |
|
| 自定义 Chrome 可执行文件路径 | — |
| 使用临时用户数据目录,关闭后自动清理 |
|
| Chrome 通道: |
|
| 初始视口大小,如 | — |
| Chrome 代理服务器配置 | — |
| 忽略 SSL 证书错误(自签名/过期证书) |
|
| 调试日志输出路径 | — |
| 禁用所有网络相关工具 | — |
| 传递额外参数给 Chrome(可多次指定) | — |
安全提示
此工具将浏览器内容完整暴露给 MCP 客户端,允许检查、调试和修改浏览器中的任何数据(包括 Cookie、Token、请求内容)。请勿在含有敏感信息的页面上使用,并确保 MCP 客户端来源可信。
许可证
Apache-2.0 — Copyright 2025 Google LLC
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceAn MCP server that provides AI models with full browser automation capabilities through Chrome. It enables navigation, interaction, screenshots, and complete DevTools access by bridging AI clients with a companion Chrome extension.Last updated99322Apache 2.0
- Alicense-qualityBmaintenanceMCP server for browser debugging, inspection, and verification that streams console logs, network errors, and user actions into AI coding assistants.Last updated65AGPL 3.0
- Alicense-qualityFmaintenanceA powerful MCP server for browser debugging and reverse engineering, providing AI coding assistants with comprehensive browser automation, JavaScript debugging, and network analysis capabilities.Last updated438Apache 2.0
- AlicenseBqualityBmaintenanceAn MCP server that connects AI agents to a running Chrome tab via the Chrome DevTools Protocol (CDP), enabling runtime debugging and page inspection.Last updated20211ISC
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/1600822305/js-reverse-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server