jadx-ai-mcp:把 JADX 反编译结果直接喂给 Claude 的 MCP 插件
Plugin for JADX to integrate MCP server
秒懂
- 它是什么?
- jadx-ai-mcp 是一个 JADX 插件,通过 Model Context Protocol 把反编译后的代码暴露给 LLM,让 Claude 之类的模型能直接查询类、方法和调用关系。本文拆解它的工作方式、安装路径和适用边界。
- 适合谁用?
- jadx-ai-mcp 适合已经熟悉 JADX、并且愿意把 APK 分析流程交给 LLM 驱动的安全研究员和逆向工程师。它把反编译结果变成 MCP 工具,省去复制粘贴代码的步骤,但前提是你接受代码被发送到外部模型服务这一事实。
- 能商用吗?
- 可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 17 天前。
- 用什么语言写的?
- 主要是 Java(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决的是逆向工作流里的粘贴复制问题
它解决的是逆向工作流里的粘贴复制问题。做 Android APK 静态分析时,常规路径是在 JADX 里反编译,找到可疑方法,再把代码复制给 ChatGPT 或 Claude 让它解释。来回切换窗口、粘贴长代码、上下文丢失,这套流程很消耗精力。jadx-ai-mcp 想把这个环节自动化。它作为一个 JADX 插件运行,同时启动一个 MCP 服务器,让 LLM 客户端直接调用工具来查询当前打开的项目。文档描述为 live reverse engineering support with LLMs,意思是模型不需要你手动喂代码,它可以自己按需拉取。目标用户很明确:做 VAPT、渗透测试、移动应用安全审计的人,他们需要快速理解未知 APK 的逻辑,而不是手工翻每一个方法。
MCP 服务器与 JADX 插件如何协作
MCP 服务器与 JADX 插件如何协作。仓库结构显示它分两部分:一个是 JADX 插件,另一个是独立的 MCP 服务器。插件负责与 JADX 的反编译结果交互,MCP 服务器则对外提供标准化的工具接口。工作流程大致是:你在 JADX 中打开一个 APK,插件把反编译后的类、方法、字段和调用关系暴露给 MCP 服务器,LLM 客户端(比如 Claude Desktop)通过 MCP 协议调用这些工具。模型可以请求某个类的源码、搜索特定字符串、查看方法调用链,而不需要你把整个文件贴进对话。v6.4.0 的发布标题是 Search Infrastructure Overhauled,说明搜索相关的能力在近期被重写过,这暗示搜索是核心功能之一,也是迭代最频繁的部分。v6.3.0 加入 Remote Host Support,意味着 MCP 服务器不一定跑在本机,可以连接到远程主机,这对分析大型 APK 或者团队共享分析环境有意义。
安装与启动:从 JADX 插件到 MCP 配置
安装与启动:从 JADX 插件到 MCP 配置。根据 README,项目要求 Java 11 以上,Python 3.10 以上。Java 是 JADX 插件运行的基础,Python 则用于 MCP 服务器部分。安装方式是先构建或下载插件 jar,放入 JADX 的 plugins 目录,然后启动 JADX。MCP 服务器需要单独配置,让 LLM 客户端能够发现它。具体配置命令在 README 中被截断,但可以推断它遵循 MCP 的标准配置格式,即在客户端配置文件中指定服务器的启动命令和参数。一个典型的做法是在 Claude Desktop 的配置里添加一个 mcpServers 条目,指向 jadx-mcp-server 的可执行文件。由于 README 没有给出完整命令,实际配置时你需要参考 readthedocs 上的文档,地址是 https://jadx-ai-mcp.readthedocs.io/en/latest/。建议先确认你的 JADX 版本与插件兼容,因为 JADX 本身更新频繁,插件可能滞后。
搜索基础设施重写意味着什么
搜索基础设施重写意味着什么。v6.4.0 的发布说明只有一句话:Search Infrastructure Overhauled。没有细节,但结合项目定位,搜索是 LLM 查询代码的关键路径。如果搜索慢或者结果不准确,模型会拿到错误的方法或类,分析结论就不可信。重写可能涉及索引结构、查询方式或缓存策略。对于使用者来说,这意味着升级到 v6.4.0 后,搜索行为可能有变化,之前依赖的某些查询语法可能失效。发布间隔大约三个月,v6.3.0 在三月底,v6.4.0 在五月底,v6.4.1 在八月初,节奏稳定但不算慢。如果你在生产环境使用,建议锁版本,不要追最新。另一个观察是,项目默认分支叫 jadx-ai,而不是 main 或 master,这暗示开发主线与 JADX 官方分支保持同步,需要关注与上游 JADX 的兼容性。
远程主机支持:协作场景的加分项,也是安全边界
远程主机支持:协作场景的加分项,也是安全边界。v6.3.0 加入 Remote Host Support,允许 MCP 服务器运行在与 JADX 不同的机器上。这对处理超大 APK 有用,你可以把反编译和分析放在一台高性能服务器上,本地只跑 LLM 客户端。但这也引入一个风险:MCP 服务器暴露的接口如果没做鉴权,远程主机上的任何进程都可能调用它来读取反编译代码。APK 本身可能包含敏感逻辑,比如硬编码密钥或私有 API 端点。文档没有提及认证机制,所以如果你启用远程模式,需要自己用防火墙或 VPN 限制访问。相比之下,本机模式更安全,因为 MCP 服务器只监听 localhost。项目标记里有 pentesting 和 vapt,说明作者预期用户会分析有攻击价值的应用,这类应用的反编译结果本身就是敏感数据。
与替代方案对比:JADX 自带脚本与独立 MCP 桥接
与替代方案对比:JADX 自带脚本与独立 MCP 桥接。JADX 本身支持插件和脚本,你可以用 Java 或 Python 写一个自定义插件,把反编译结果导出成 JSON,再喂给 LLM。这种方式的好处是完全控制数据流,不依赖 MCP 协议,坏处是每次 JADX 升级都可能要改代码。另一个替代是使用独立的 MCP 服务器,比如 jadx-mcp-server,它不要求你打开 JADX GUI,而是直接解析 APK 文件并暴露相同的 MCP 工具。区别在于:jadx-ai-mcp 是插件,需要 JADX 运行,适合交互式分析,你能看到 GUI 里的高亮和跳转;独立服务器适合批处理或 CI 环境,不需要图形界面。从仓库名看,作者维护了 jadx-mcp-server 这个独立项目,所以两者是互补关系。如果你只想要一个无头分析流程,独立服务器可能更合适;如果你需要在 GUI 里边看边让 LLM 解释,这个插件是正路。
维护状态与许可证的实际情况
维护状态与许可证的实际情况。项目使用 Apache-2.0 许可证,这是宽松许可证,你可以自由使用、修改和分发,但要注意保留版权声明。仓库没有被归档,最后一次推送是 2026 年 8 月 30 日,v6.4.1 发布于 8 月 6 日,说明项目还在活跃维护。但活跃维护不等于稳定,发布历史显示功能迭代频繁,搜索基础设施在 v6.4.0 被整体重写,这意味着 API 可能不向后兼容。升级成本取决于你依赖多少自定义配置。如果你只是用默认设置,升级通常只需替换 jar 文件。但如果你写了依赖特定工具名称的自动化脚本,重写后可能需要调整。文档托管在 readthedocs,说明作者投入了精力写文档,但 README 本身被截断,很多细节需要去 readthedocs 查。建议在升级前查看 release notes,特别是 v6.4.0 的搜索变更说明,确认没有破坏你的工作流。
编辑结论
jadx-ai-mcp 适合已经熟悉 JADX、并且愿意把 APK 分析流程交给 LLM 驱动的安全研究员和逆向工程师。它把反编译结果变成 MCP 工具,省去复制粘贴代码的步骤,但前提是你接受代码被发送到外部模型服务这一事实。不适合对代码出域有严格要求、或者只做一次性简单反编译的人,那种场景直接用 JADX 的 GUI 更省事。决定采用前,先确认你的 JADX 版本与插件兼容,检查 v6.4.1 的发布说明里是否修复了你依赖的搜索功能,并明确你的 LLM 提供商的数据保留策略。这个项目迭代很快,从 v6.3.0 的远程主机支持到 v6.4.0 的搜索基础设施重写,说明 API 可能随版本变动,升级前要读变更日志。
社区笔记