AI Skill Hub 强烈推荐:jadx-ai-mcp MCP工具 是一款优质的MCP工具。已获得 2.0k 颗 GitHub Star,AI 综合评分 8.0 分,在同类工具中表现稳健。如果你正在寻找可靠的MCP工具解决方案,这是一个值得深入了解的选择。
为JADX反编译工具集成MCP服务器的开源插件。支持Java代码分析和AI模型对接,帮助开发者、安全研究员通过大语言模型增强代码理解和逆向分析能力。
jadx-ai-mcp MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
为JADX反编译工具集成MCP服务器的开源插件。支持Java代码分析和AI模型对接,帮助开发者、安全研究员通过大语言模型增强代码理解和逆向分析能力。
jadx-ai-mcp MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/zinja-coder/jadx-ai-mcp
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"jadx-ai-mcp-mcp--": {
"command": "npx",
"args": ["-y", "jadx-ai-mcp"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 jadx-ai-mcp MCP工具 执行以下任务... Claude: [自动调用 jadx-ai-mcp MCP工具 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"jadx-ai-mcp_mcp__": {
"command": "npx",
"args": ["-y", "jadx-ai-mcp"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
## a. Install uv (if you dont have it yet) curl -LsSf https://astral.sh/uv/install.sh | sh ## b. OPTIONAL, if for any reasons, you get dependecy errors in jadx-mcp-server, Set up the environment uv venv source .venv/bin/activate # or .venv\Scripts\activate on Windows ## c. OPTIONAL Install dependencies uv pip install httpx fastmcp
This project uses following awesome libraries.
<div align="center">
<img alt="banner" height="480px" widht="620px" src="docs/assets/img_1231.png">
</div>
<div align="center">
<img alt="banner" height="480px" widht="620px" src="docs/assets/img_1123.png">
</div>
<div align="center">
<img alt="banner" height="480px" widht="620px" src="docs/assets/img_2122.png">
</div>
bash
```
Scenario 1 — Everything on the same machine (most common): ```bash
Scenario 1 — Everything on the same machine (most common): ```bash
- Perform quick analysis https://github.com/user-attachments/assets/b65c3041-fde3-4803-8d99-45ca77dbe30a
https://github.com/user-attachments/assets/c184afae-3713-4bc0-a1d0-546c1f4eb57f
https://github.com/user-attachments/assets/6342ea0f-fa8f-44e6-9b3a-4ceb8919a5b0
https://github.com/user-attachments/assets/b4a6b280-5aa9-4e76-ac72-a0abec73b809
https://github.com/user-attachments/assets/f42d8072-0e3e-4f03-93ea-121af4e66eb1
https://github.com/user-attachments/assets/2b0bd9b1-95c1-4f32-9b0c-38b864dd6aec
It is combination of two tools: 1. JADX-AI-MCP 2. JADX MCP SERVER
🔍 Basic Code Understanding
"Explain what this class does in one paragraph."
"Summarize the responsibilities of this method."
"Is there any obfuscation in this class?"
"List all Android permissions this class might require."
🛡️ Vulnerability Detection
"Are there any insecure API usages in this method?"
"Check this class for hardcoded secrets or credentials."
"Does this method sanitize user input before using it?"
"What security vulnerabilities might be introduced by this code?"
🛠️ Reverse Engineering Helpers
"Deobfuscate and rename the classes and methods to something readable."
"Can you infer the original purpose of this smali method?"
"What libraries or SDKs does this class appear to be part of?"
"Tell me which classes contains code related to 'encryption'?"
📦 Static Analysis
"List all network-related API calls in this class."
"Identify file I/O operations and their potential risks."
"Does this method leak device info or PII?"
🤖 AI Code Modification
"Refactor this method to improve readability."
"Add comments to this code explaining each step."
"Rewrite this Java method in Python for analysis."
📄 Documentation & Metadata
"Generate Javadoc-style comments for all methods."
"What package or app component does this class likely belong to?"
"Can you identify the Android component type (Activity, Service, etc.)?"
🐞 Debugger Assistant
"Fetch stack frames, varirables and threads from debugger and provide summary"
"Based the stack frames from debugger, explain the execution flow of the application"
"Based on the state of variables, is there security threat?"
---
There are two separate connections and each has its own host/port:
┌─────────────┐ --host / --port ┌──────────────────┐ --jadx-host / --jadx-port ┌──────────────────┐
│ LLM Client │ ◄──────────────────► │ jadx-mcp-server │ ──────────────────────────► │ JADX-GUI Plugin │
│ (Claude, │ Where the MCP server │ │ Where the MCP server looks │ (jadx-ai-mcp) │
│ Codex..) │ LISTENS for clients │ │ for the JADX plugin │ │
└─────────────┘ └──────────────────┘ └──────────────────┘
| Flag | Default | Controls |
|---|---|---|
--http | off | Use HTTP transport instead of stdio |
--host | 127.0.0.1 | **Where the MCP server listens** (bind address for LLM clients) |
--port | 8651 | **Which port the MCP server listens on** |
--jadx-host | 127.0.0.1 | **Where to find the JADX plugin** (the target JADX-GUI machine) |
--jadx-port | 8650 | **Which port the JADX plugin is on** |
<img width="800" height="335" alt="image" src="https://github.com/user-attachments/assets/6243adc5-5be4-4e2d-aa16-bdaf78a28e36" />
To connect with JADX AI MCP Plugin running on custom port, the --jadx-port option will be used as shown in following:
uv run jadx_mcp_server.py --jadx-port 8652
If the JADX AI MCP Plugin is running on a different machine (e.g., JADX on a remote VM, MCP server on your local host), use the --jadx-host option: ```bash
There are two separate connections and each has its own host/port:
┌─────────────┐ --host / --port ┌──────────────────┐ --jadx-host / --jadx-port ┌──────────────────┐
│ LLM Client │ ◄──────────────────► │ jadx-mcp-server │ ──────────────────────────► │ JADX-GUI Plugin │
│ (Claude, │ Where the MCP server │ │ Where the MCP server looks │ (jadx-ai-mcp) │
│ Codex..) │ LISTENS for clients │ │ for the JADX plugin │ │
└─────────────┘ └──────────────────┘ └──────────────────┘
| Flag | Default | Controls |
|---|---|---|
--http | off | Use HTTP transport instead of stdio |
--host | 127.0.0.1 | **Where the MCP server listens** (bind address for LLM clients) |
--port | 8651 | **Which port the MCP server listens on** |
--jadx-host | 127.0.0.1 | **Where to find the JADX plugin** (the target JADX-GUI machine) |
--jadx-port | 8650 | **Which port the JADX plugin is on** |
uv run jadx_mcp_server.py --http
**Scenario 2 — Docker container or WSL (MCP server accessible from host network):**bash
uv run jadx_mcp_server.py --http --host 0.0.0.0
**Scenario 3 — JADX-GUI running on a different machine (e.g., remote VM):**bash
uv run jadx_mcp_server.py --http --jadx-host 192.168.1.100
**Scenario 4 — Full remote setup (everything on different machines):**bash
uv run jadx_mcp_server.py --http --host 0.0.0.0 --port 9999 --jadx-host 192.168.1.100 --jadx-port 8652 ```
[!CAUTION] ### ⚠️ Security Warning — Remote Binding When using--host 0.0.0.0(or any non-localhost address), the MCP server binds to all network interfaces over plain HTTP with no authentication. This means: - Anyone on the network can connect and invoke all MCP tools - There is no TLS encryption — traffic can be intercepted - An attacker can use the server to read decompiled code, rename classes/methods, and access debug info Mitigations: - Only bind to0.0.0.0on trusted, isolated networks (e.g., Docker bridge, local VM) - Use a firewall to restrict access to the MCP port - Consider an SSH tunnel instead:ssh -L 8651:127.0.0.1:8651 remote-host
uv run jadx_mcp_server.py --jadx-host 192.168.1.100 --jadx-port 8650 ```
uv run jadx_mcp_server.py --http
**Scenario 2 — Docker container or WSL (MCP server accessible from host network):**bash
uv run jadx_mcp_server.py --http --host 0.0.0.0
**Scenario 3 — JADX-GUI running on a different machine (e.g., remote VM):**bash
uv run jadx_mcp_server.py --http --jadx-host 192.168.1.100
**Scenario 4 — Full remote setup (everything on different machines):**bash
uv run jadx_mcp_server.py --http --host 0.0.0.0 --port 9999 --jadx-host 192.168.1.100 --jadx-port 8652
The MCP Configuration for custom jadx port will be as follows for claude:
{ "mcpServers": { "jadx-mcp-server": { "command": "/path/to/uv", "args": [ "--directory", "/path/to/jadx-mcp-server/", "run", "jadx_mcp_server.py", "--jadx-port", "8652" ] } } } ```
jadx-ai-mcp 是一个将 JADX 反编译能力与 AI 能力深度结合的工具。通过实现 MCP (Model Context Protocol) 协议,它允许 Claude 等 LLM 客户端直接调用 JADX 的功能,实现智能化的代码分析与逆向工程工作流。
本项目依赖 uv 进行包管理,请确保系统中已安装 uv。如果在使用 jadx-mcp-server 时遇到依赖错误,建议使用 uv venv 创建独立的虚拟环境进行隔离运行,以确保开发环境的稳定性。
安装过程非常简单,您可以通过提供的单行命令快速安装最新版本的插件。对于开发者,建议通过 uv 环境进行部署,以确保所有 Python 依赖项(如 Javalin 等)能够正确加载。
本项目支持多种运行场景:最常见的是本地单机运行;如果您在 Docker 或 WSL 环境下使用,需通过 --host 0.0.0.0 暴露网络;若 JADX-GUI 运行在远程虚拟机上,则需通过 --jadx-host 指定远程 IP 进行连接。
项目提供了灵活的 CLI 参数配置。通过 --host/--port 控制 LLM 客户端与 MCP server 的连接,通过 --jadx-host/--jadx-port 控制 MCP server 与 JADX-GUI Plugin 的通信。您也可以在 JADX 插件界面中手动配置监听端口或重启服务。
MCP server 默认监听所有网络接口(All interfaces),以便外部 Host 能够通过指定端口进行访问。其通信逻辑遵循 MCP 协议规范,确保了 LLM 客户端与 JADX 插件之间的数据交互安全与高效。
项目的工作流设计分为三个核心层级:LLM Client (如 Claude) 通过 MCP 协议连接到 jadx-mcp-server,随后由 server 转发指令至 JADX-GUI Plugin。您可以根据部署环境(本地、Docker 或远程 VM)灵活调整 host 与 port 的指向。
如果遇到问题,请优先查阅专门的 TROUBLESHOOTING 文档。目前项目已在 Claude Desktop Client 上完成测试,并计划在未来支持更多 AI 客户端。如需反馈 Bug 或功能建议,请使用指定的 Issue 模板。
创新性地将MCP与JADX结合,填补反编译+AI分析空白。社区活跃,维护及时,适合安全研究和高级代码分析。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
总体来看,jadx-ai-mcp MCP工具 是一款质量优秀的MCP工具,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | jadx-ai-mcp |
| 原始描述 | 开源MCP工具:Plugin for JADX to integrate MCP server。⭐2.0k · Java |
| Topics | 反编译代码分析MCP服务Java工具 |
| GitHub | https://github.com/zinja-coder/jadx-ai-mcp |
| License | Apache-2.0 |
| 语言 | Java |
收录时间:2026-05-14 · 更新时间:2026-05-16 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端