ScriptX 内置 MCP 工具总览
ScriptX 内置 MCP 工具总览
当前应用启动时共注册 501 个内置 MCP 工具。这套工具面向外部 MCP 客户端和 AI Agent,覆盖脚本工作区、APK/DEX/DexKit、Native 分析、Root Chroot Ubuntu,以及浏览器/WebView 逆向、网络分析、JS/WASM 分析、爬虫和研究任务。
七类工具
| 分类 | 数量 | 主要用途 | 详细文档 |
|---|---|---|---|
| 工作区与运行时 | 15 | 项目读写、App Script、Hook 状态、运行日志、截图、无障碍快照和无宿主脚本 | 查看全部工具 |
| APK、资源与 Smali | 18 | APK 工作区、Manifest、Smali、原始资源、resources.arsc、安全检查和版本比较 | 查看全部工具 |
| DEX 反编译与图分析 | 9 | JADX 后端、类/方法反编译、控制流图、调用图和调用路径 | 查看全部工具 |
| DexKit 调试 | 8 | 类、方法、字段、批量字符串搜索和连续筛选作用域 | 查看全部工具 |
| Native 分析 | 68 | ELF、符号、JNI、反汇编、反编译、图分析、运行时内存、跟踪和 unidbg | 查看全部工具 |
| Ubuntu 环境 | 19 | Root Chroot Ubuntu 的安装、命令、SSH、挂载、任务、备份和恢复 | 查看全部工具 |
| Web 逆向与浏览器工作台 | 364 | 浏览器会话、CDP、Network、DOM、Debugger、Hook、JS/JSVMP/WASM、爬虫、Research、目标 WebView、证据与调查工作流 | 查看全部工具 |
| 合计 | 501 | 当前应用启动时注册的内置工具总数 | - |
先分清两个 MCP
- ScriptX 内置 MCP 工具:由应用设置页中的 MCP 服务对外暴露,本节 501 个工具都属于这一类。外部客户端通过工具名和 JSON 参数调用。Web 逆向工具的完整清单见 Web 逆向与浏览器工作台 MCP 工具。
- 脚本侧
mcpServer:由你的 JavaScript 创建自定义 MCP 服务、资源、提示词和工具。它的 API 在 mcpServer MCP 服务,不要把两套名字混在一起。
通用调用规则
- 工具名必须完全匹配注册名。工作区工具常用
camelCase,分析工具大多使用snake_case。 - 参数必须放在
arguments对象中。布尔值、数字和数组应使用真正的 JSON 类型,不要把true、100或数组写成字符串。 - 每个工具页列出的枚举值、最小值、最大值和必填状态来自当前源码 input schema;客户端实时读取到的 schema 与本文不一致时,以正在运行的 ScriptX 版本为准。
- 统一返回结构至少包含
ok、message和result。失败时先读message,再根据result中的状态、任务 ID 或准备进度决定下一步。 projectDir不是 APK 路径,也不是 ScriptX 项目名。它是 APK 缓存工作区 ID,通常类似project_7ab93c1022c1d4ef。
{"name":"get_analysis_state","arguments":{}}
推荐工作流
修改并调试 ScriptX 脚本
listProjects -> listProjectFiles -> readCode -> writeCode / replaceCode -> launchTargetApp -> getHookState -> getRuntimeLogs
分析 APK Java / DEX 代码
get_analysis_state -> list_apk_workspaces -> search_code / search_apk_resources -> get_class_by_descriptor -> decompile_dex_class / decompile_dex_method -> 调用图或控制流工具
分析 SO 与 JNI
list_native_libraries -> prepare_native_library -> native_survey / analyze_native -> find_native_jni_bindings -> lookup_native_function -> disassemble_native / decompile_native_function
使用 Ubuntu 后端
linux_get_state -> linux_install(未安装时)-> linux_runtime_start -> linux_exec;异步任务使用返回的 jobId 继续调用 linux_get_job。
分析浏览器页面或目标 App WebView
普通浏览器会话使用 web.browser.open / web.session.list 获得 sessionId,再进入 web.network.*、web.dom.*、web.debugger.* 和 web.hook.*。目标 Android 应用中的 WebView 必须先使用 web.target.list / web.target.webviews 获得 relaySessionId,不能把两种会话 ID 混用。
完整工具名、provider 分组和推荐调用顺序见 Web 逆向与浏览器工作台 MCP 工具。
