
Плагин для JADX для интеграции MCP-сервера
<div align="center">
# JADX-AI-MCP (часть Zin MCP Suite)
⚡ Полностью автоматизированный MCP-сервер + плагин JADX, созданный для взаимодействия с LLM через MCP для анализа Android APK с помощью LLM, таких как Claude — выявляйте уязвимости, анализируйте APK и выполняйте обратную разработку без лишних усилий.







[](http://www.apache.org/licenses/LICENSE-2.0.html)
#### ⭐ Участники
Спасибо этим замечательным людям за их вклад ⭐
<table>
<tr align="center">
<td>
<a href="https://github.com/ljt270864457">
<img src="https://assets.kitploit.com/production/public/readmes/6657/a21f05ae54dafc25c40b8b86dd848ae6cc62a165c11d1aaa484a2971191c04c0.jpg" width="30px;" alt=""/>
<br /><sub><b>ljt270864457</b></sub>
</a>
</td>
<td>
<a href="https://github.com/p0px">
<img src="https://assets.kitploit.com/production/public/readmes/6657/87812519c4f48c0cb45aa6e7605ed82ba5cb0f0a410c7bec0c031b407330d683.png" width="30px;" alt=""/>
<br /><sub><b>p0px</b></sub>
</a>
</td>
<td>
<a href="https://github.com/bx33661">
<img src="https://assets.kitploit.com/production/public/readmes/6657/cc055bf866f36cc8ba4680bb158f91d2a459559a0ea31ce3525f2024e81d9d1b.png" width="30px;" alt=""/>
<br /><sub><b>bx33661</b></sub>
</a>
</td>
<td>
<a href="https://github.com/Haicaji">
<img src="https://assets.kitploit.com/production/public/readmes/6657/70bd2a092000ef110c6ef9a177ae39889c5fa12af384165218ecdc65ab87cca2.png" width="30px;" alt=""/>
<br /><sub><b>Haicaji</b></sub>
</a>
</td>
<td>
<a href="https://github.com/mostafaNazari702">
<img src="https://assets.kitploit.com/production/public/readmes/6657/c15b7582722221365f89b5900f1e2d53a5de4bfe888f1f4cf3c24a09ca74553b.jpg" width="30px;" alt=""/>
<br /><sub><b>Mostafa Nazari</b></sub>
</a>
</td>
<td>
<a href="https://github.com/ChineseAStar">
<img src="https://assets.kitploit.com/production/public/readmes/6657/69e2a4cd0bbb7228e06fd1ccc32a37c30d1406fc6b06cfce0a6e2d22f5bbf6b0.png" width="30px;" alt=""/>
<br /><sub><b>ChineseAStar</b></sub>
</a>
</td>
<td>
<a href="https://github.com/cyal1r">
<img src="https://assets.kitploit.com/production/public/readmes/6657/f81a8c01f47c36dbf03f4117810d43075e3ca85f2d2d3c5d70cfb6ea20f45290.jpg" width="30px;" alt=""/>
<br /><sub><b>cyal1</b></sub>
</a>
</td>
<td>
<a href="https://github.com/badmonkey7">
<img src="https://assets.kitploit.com/production/public/readmes/6657/07d2eb4e3cd4cc09c5dca57d877c4d816247baab606e7848af7a0ab7d23c040d.jpg" width="30px;" alt=""/>
<br /><sub><b>badmonkey7</b></sub>
</a>
</td>
<td>
<a href="https://github.com/tiann">
<img src="https://assets.kitploit.com/production/public/readmes/6657/73dc97b271331bb2711fc80543636b25ec03cb523b985af1af05ea9ab6f40cfd.jpg" width="30px;" alt=""/>
<br /><sub><b>tiann</b></sub>
</a>
</td>
<td>
<a href="https://github.com/ZERO-A-ONE">
<img src="https://assets.kitploit.com/production/public/readmes/6657/73c55a088226d05d6fbf5ff1d14caee34ef98224c00e463acd07d6f4bb65e655.png" width="30px;" alt=""/>
<br /><sub><b>ZERO-A-ONE</b></sub>
</a>
</td>
<td>
<a href="https://github.com/neoz">
<img src="https://assets.kitploit.com/production/public/readmes/6657/77a4659904d1ba9253e77f8ff592547b305b3a1a9f46e289d1a900c5a7983d68.jpg" width="30px;" alt=""/>
<br /><sub><b>neoz</b></sub>
</a>
</td>
<td>
<a href="https://github.com/SamadiPour">
<img src="https://assets.kitploit.com/production/public/readmes/6657/4a39a74e2cd9e53f1ef326afc4a7d177d8689e7238dce567aa7dede879ce8f9f.jpg" width="30px;" alt=""/>
<br /><sub><b>SamadiPour</b></sub>
</a>
</td>
<td>
<a href="https://github.com/wuseluosi">
<img src="https://assets.kitploit.com/production/public/readmes/6657/3ada2b6e2ed063020ca3b0ce57bd5cd5c1cba2416454d2d038f630a667b88e8c.png" width="30px;" alt=""/>
<br /><sub><b>wuseluosi</b></sub>
</a>
</td>
<td>
<a href="https://github.com/CainYzb">
<img src="https://assets.kitploit.com/production/public/readmes/6657/b6bdcfb4162b1366cb4850ba880ab59e42f705ddd91fbf25dd8912ddfa7dd2bf.png" width="30px;" alt=""/>
<br /><sub><b>CainYzb</b></sub>
</a>
</td>
<td>
<a href="https://github.com/tbodt">
<img src="https://assets.kitploit.com/production/public/readmes/6657/bb6b73635bffe086662106c496032717f4cfeee9d0341799d0afaf5f9d009e92.jpg" width="30px;" alt=""/>
<br /><sub><b>tbodt</b></sub>
</a>
</td>
<td>
<a href="https://github.com/LilNick0101">
<img src="https://assets.kitploit.com/production/public/readmes/6657/628dc1638821f28b99dbfe9a971259713d16e0bcfc5718783f91eb09acebd64f.png" width="30px;" alt=""/>
<br /><sub><b>LilNick0101</b></sub>
</a>
</td>
<td>
<a href="https://github.com/lwsinclair">
<img src="https://assets.kitploit.com/production/public/readmes/6657/e3169690505f7a2b7fd0968057af5807f29830292553cbaa6eaf0ad418521b59.jpg" width="30px;" alt=""/>
<br /><sub><b>lwsinclair</b></sub>
</a>
</td>
</tr>
<tr align="center">
<td>
<a href="https://github.com/LYC-Android">
<img src="https://assets.kitploit.com/production/public/readmes/6657/6f0596bf4a8146f7b79a95baa7704b130d61c0852890ef3e0aa3fc8f898d0a35.jpg" width="30px;" alt=""/>
<br /><sub><b>LYC-Android</b></sub>
</a>
</td>
<td>
<a href="https://github.com/zbhello">
<img src="https://assets.kitploit.com/production/public/readmes/6657/03a9374ed3b190d5b659fd30d28202aeebc237753bced41b02be84efed36a24e.jpg" width="30px;" alt=""/>
<br /><sub><b>zbhello</b></sub>
</a>
</td>
<td>
<a href="https://github.com/1yearning1">
<img src="https://assets.kitploit.com/production/public/readmes/6657/903595003df5d7eab06f7e32897f8e34a15fe9f677485f7c8e3939ddd895bffd.png" width="30px;" alt=""/>
<br /><sub><b>1yearning1</b></sub>
</a>
</td>
<td>
<a href="https://github.com/mhsjzsq">
<img src="https://assets.kitploit.com/production/public/readmes/6657/dadd027e0da3b8c59babf87a66dd50985c6815676c75677523148ea640b1926a.png" width="30px;" alt=""/>
<br /><sub><b>mhsjzsq</b></sub>
</a>
</td>
<td>
<a href="https://github.com/darkblack1234">
<img src="https://assets.kitploit.com/production/public/readmes/6657/02fd1704e19e0fd764f024e440eef0f47afe420baa415e24227a020b3f9f21c8.png" width="30px;" alt=""/>
<br /><sub><b>darkblack1234</b></sub>
</a>
</td>
<td>
<a href="https://github.com/Merrg1n">
<img src="https://assets.kitploit.com/production/public/readmes/6657/43cdc3b100677e85f4e063711c59fe487d994fb66a8e57ba68444f6d9fb0dfd3.png" width="30px;" alt=""/>
<br /><sub><b>Merrg1n</b></sub>
</a>
</td>
</tr>
</table>
</div>
<!-- Это всё ещё ранняя стадия разработки, поэтому возможны баги, падения и логические ошибки.-->
<!-- Автономный плагин для [JADX](https://github.com/skylot/jadx) (начинался как форк) с интеграцией Model Context Protocol (MCP) для статического анализа кода с помощью ИИ, а также для проверки кода и задач обратной разработки в реальном времени с использованием Claude.-->
<div align="center">
<img alt="banner" height="480px" widht="620px" src="https://assets.kitploit.com/production/public/readmes/6657/54d557a38e17d9886d933b2e480910702f245c4cf62dc720a842cfe40994efe2.png">
</div>
<!--  Изображение сгенерировано с помощью инструментов ИИ. -->
#### Read The Docs
- Read The Docs теперь доступен: https://jadx-ai-mcp.readthedocs.io/en/latest/
---
## 🤖 Что такое JADX-AI-MCP?
**JADX-AI-MCP** — это плагин для [декомпилятора JADX](https://github.com/skylot/jadx), который напрямую интегрируется с [Model Context Protocol (MCP)](https://github.com/anthropic/mcp), обеспечивая **поддержку обратной разработки в реальном времени с помощью LLM, таких как Claude**.
Представьте: «Декомпиляция → Контекстно-зависимая проверка кода → Рекомендации ИИ» — всё в реальном времени.
#### Диаграмма последовательности верхнего уровня
```mermaid
sequenceDiagram
LLM CLIENT->>JADX MCP SERVER: INVOKE MCP TOOL
JADX MCP SERVER->>JADX AI MCP PLUGIN: INVOKE HTTP REQUEST
JADX AI MCP PLUGIN->>REQUEST HANDLERS: INVOKE HTTP REQUEST HANDLER
REQUEST HANDLERS->>JADX GUI: PERFORM ACTION/GATHER DATA
JADX GUI->>REQUEST HANDLERS: ACTION PERFORMED/DATA GATHERED
REQUEST HANDLERS->>JADX AI MCP PLUGIN: CRAFT HTTP RESPONSE
JADX AI MCP PLUGIN->>JADX MCP SERVER:HTTP RESPONSE
JADX MCP SERVER->>LLM CLIENT: MCP TOOL RESULT
```
### Посмотрите демонстрации!
- **Быстрый анализ**
https://github.com/user-attachments/assets/b65c3041-fde3-4803-8d99-45ca77dbe30a
- **Быстрый поиск уязвимостей**
https://github.com/user-attachments/assets/c184afae-3713-4bc0-a1d0-546c1f4eb57f
- **Поддержка нескольких AI-агентов**
https://github.com/user-attachments/assets/6342ea0f-fa8f-44e6-9b3a-4ceb8919a5b0
- **Работа с вашим любимым LLM-клиентом**
https://github.com/user-attachments/assets/b4a6b280-5aa9-4e76-ac72-a0abec73b809
- **Анализ ресурсов APK**
https://github.com/user-attachments/assets/f42d8072-0e3e-4f03-93ea-121af4e66eb1
- **Ваш AI-помощник при отладке APK с помощью JADX**
https://github.com/user-attachments/assets/2b0bd9b1-95c1-4f32-9b0c-38b864dd6aec
Это комбинация двух инструментов:
1. JADX-AI-MCP
2. [JADX MCP SERVER](https://github.com/zinja-coder/jadx-mcp-server)
## 🤖 Что такое JADX-MCP-SERVER?
**JADX MCP Server** — это автономный Python-сервер, который взаимодействует с плагином `JADX-AI-MCP` (см.: [jadx-ai-mcp](https://github.com/zinja-coder/jadx-ai-mcp)) через MCP (Model Context Protocol). Он позволяет LLM взаимодействовать с контекстом декомпилированного Android-приложения в реальном времени.
---
## Другие проекты в Zin MCP Suite
- **[APKTool-MCP-Server](https://github.com/zinja-coder/apktool-mcp-server)**
- **[JADX-MCP-Server](https://github.com/zinja-coder/jadx-mcp-server)**
- **[ZIN-MCP-Client](https://github.com/zinja-coder/zin-mcp-client)**
## Текущие инструменты MCP
Доступны следующие инструменты MCP:
- `fetch_current_class()` — Получить имя класса и полный исходный код выбранного класса
- `get_selected_text()` — Получить текущий выделенный текст
- `get_all_classes()` — Список всех классов в проекте
- `get_class_source()` — Получить полный исходный код заданного класса
- `get_method_by_name()` — Получить исходный код метода
- `search_method_by_name()` — Поиск метода по классам
- `search_classes_by_keyword()` — Поиск классов, исходный код которых содержит определённое ключевое слово (поддерживает пагинацию)
- `get_methods_of_class()` — Список методов в классе
- `get_fields_of_class()` — Список полей в классе
- `get_smali_of_class()` — Получить smali класса
- `get_main_activity_class()` — Получить главную activity из jadx, указанную в файле AndroidManifest.xml.
- `get_main_application_classes_code()` — Получить код всех основных классов приложения на основе имени пакета, указанного в AndroidManifest.xml.
- `get_main_application_classes_names()` — Получить имена всех основных классов приложения на основе имени пакета, указанного в AndroidManifest.xml.
- `get_android_manifest()` — Получить и вернуть содержимое AndroidManifest.xml.
- `get_manifest_component` — Получить конкретный компонент манифеста вместо всего файла манифеста
- `get_strings()` : Получает файл strings.xml
- `get_all_resource_file_names()` : Получить имена всех файлов ресурсов, существующих в приложении
- `get_resource_file()` : Получить содержимое файла ресурсов
- `rename_class()` : Переименовывает класс
- `rename_method()` : Переименовывает метод
- `rename_field()` : Переименовывает поле
- `rename_package()` : Переименовывает весь пакет
- `rename_variable()` : Переименовывает переменную внутри метода
- `add_comment()` : Добавляет комментарий к классу, методу, полю или отдельной строке кода (`line=`, номер строки декомпилированного исходного кода, начиная с 1), отображается в JADX-GUI и сохраняется вместе с проектом (повторное комментирование той же цели обновляет его, пустой комментарий удаляет его)
- `list_comments()` : Список комментариев, сохранённых в проекте, с возможностью фильтрации по одному классу
- `debug_get_stack_frames()` : Получить кадры стека из отладчика jadx
- `debug_get_threads()` : Получить сведения о потоках из отладчика jadx
- `debug_get_variables()` : Получить переменные из отладчика jadx
- `xrefs_to_class()` : Найти все ссылки на класс (возвращает ссылки на уровне методов и на уровне классов, поддерживает пагинацию)
- `xrefs_to_method()` : Найти все ссылки на метод (включает методы, связанные с переопределением, поддерживает пагинацию)
- `xrefs_to_field()` : Найти все ссылки на поле (возвращает методы, обращающиеся к полю, поддерживает пагинацию)
---
## 🗒️ Примеры промптов
🔍 Базовое понимание кода
"Объясни, что делает этот класс, в одном абзаце."
"Кратко опиши обязанности этого метода."
"Есть ли в этом классе какая-либо обфускация?"
"Перечисли все разрешения Android, которые могут потребоваться этому классу."
🛡️ Обнаружение уязвимостей
"Есть ли в этом методе небезопасные варианты использования API?"
"Проверь этот класс на наличие жёстко закодированных секретов или учётных данных."
"Очищает ли этот метод пользовательский ввод перед его использованием?"
"Какие уязвимости безопасности может внести этот код?"
🛠️ Помощники для обратной разработки
"Деобфусцируй и переименуй классы и методы во что-то читаемое."
"Можешь ли ты определить исходное назначение этого smali-метода?"
"Частью каких библиотек или SDK, судя по всему, является этот класс?"
"Скажи, какие классы содержат код, связанный с 'шифрованием'?"
📦 Статический анализ
"Перечисли все сетевые вызовы API в этом классе."
"Определи операции файлового ввода-вывода и их потенциальные риски."
"Утекает ли этот метод информацию об устройстве или PII?"
🤖 Модификация кода с помощью ИИ
"Отрефактори этот метод для улучшения читаемости."
"Добавь комментарии к этому коду, объясняющие каждый шаг."
"Перепиши этот Java-метод на Python для анализа."
📄 Документация и метаданные
"Сгенерируй комментарии в стиле Javadoc для всех методов."
"К какому пакету или компоненту приложения, вероятно, относится этот класс?"
"Можешь ли ты определить тип компонента Android (Activity, Service и т. д.)?"
🐞 Помощник отладчика
```
"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?"
```
## 🛠️ Начало работы
### 1. Скачайте из раздела Releases: https://github.com/zinja-coder/jadx-ai-mcp/releases
> [!NOTE]
>
> Скачайте оба файла: `jadx-ai-mcp-<version>.jar` и `jadx-mcp-server-<version>.zip`.
```bash
# 0. Download the jadx-ai-mcp-<version>.jar and jadx-mcp-server-<version>.zip
https://github.com/zinja-coder/jadx-ai-mcp/releases
# 1.
unzip jadx-mcp-server-<version>.zip
├jadx-mcp-server/
├── jadx_mcp_server.py
├── requirements.txt
├── README.md
├── LICENSE
├── src/
├── static/
├── examples/
└── test.sh
├jadx-ai-mcp-<version>.jar
# 2. Install the plugin
# For this you can follow two approaches:
## 1. One liner - execute below command in your shell
jadx plugins --install "github:zinja-coder:jadx-ai-mcp"
## The above one line code will install the latest version of the plugin directly into the jadx, no need to download the jadx-ai-mcp's .jar file.
## 2. Or you can use JADX-GUI to install it by following images as shown below:
```
<div align="center">
<img alt="баннер" height="480px" widht="620px" src="https://assets.kitploit.com/production/public/readmes/6657/1c2660639daf7352d2bdeafeb7b5e0846e3c0bed45846ee52256b7bf3d316386.png">
</div>
<div align="center">
<img alt="баннер" height="480px" widht="620px" src="https://assets.kitploit.com/production/public/readmes/6657/ccc2cc3566566517abad1097711afad3c668a999dc105d82686c4ffb791eba3b.png">
</div>
<div align="center">
<img alt="баннер" height="480px" widht="620px" src="https://assets.kitploit.com/production/public/readmes/6657/0f9770bc38f4234826a661e6d37bc205a801ad38380363fd4394a903bd35ff94.png">
</div>
```bash
## 3. GUI method, download the .jar file and follow below steps shown in images
```




```bash
# 3. Navigate to jadx-mcp-server directory
cd jadx-mcp-server
# 4. This project uses uv - https://github.com/astral-sh/uv instead of pip for dependency management.
## 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
# The setup for jadx-ai-mcp and jadx_mcp_server is done.
```
## 🤖 2. Использование Claude Desktop
Убедитесь, что Claude Desktop запущен с включённым MCP.
Например, для Kali Linux я использовал следующее: https://github.com/aaddrick/claude-desktop-debian
Настройте и добавьте MCP-сервер в файл LLM:
```bash
nano ~/.config/Claude/claude_desktop_config.json
```
Для:
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
И следующее содержимое в нём:
```json
{
"mcpServers": {
"jadx-mcp-server": {
"command": "/<path>/<to>/uv",
"args": [
"--directory",
"</PATH/TO/>jadx-mcp-server/",
"run",
"jadx_mcp_server.py"
]
}
}
}
```
Замените:
- `path/to/uv` на фактический путь к вашему исполняемому файлу `uv`
- `path/to/jadx-mcp-server` на абсолютный путь к месту, куда вы клонировали этот
репозиторий
Затем перемещайтесь по коду и взаимодействуйте с помощью запросов на проверку кода в реальном времени, используя встроенную интеграцию.
**ИЛИ**
или вы можете установить jadx_mcp_server напрямую как исполняемый файл с помощью приведённой ниже команды:
```
uv tool install git+https://github.com/zinja-coder/jadx-mcp-server
```
а затем вы можете просто указать `jadx_mcp_server` в разделе `command` конфигурации mcp.
## 3. Использование Cherry Studio
Если вы хотите настроить инструмент MCP в Cherry Studio, вы можете обратиться к следующей конфигурации.
- Тип: stdio
- команда: uv
- аргумент:
```bash
--directory
path/to/jadx-mcp-server
run
jadx_mcp_server.py
```
- `path/to/jadx-mcp-server` с абсолютным путём к месту, куда вы клонировали этот репозиторий
## 4. Использование LMStudio
Вы также можете использовать JADX AI MCP Server с LM Studio, настроив его файл mcp.json. Вот видеоинструкция.
https://github.com/user-attachments/assets/b4a6b280-5aa9-4e76-ac72-a0abec73b809
## 5. Запуск в режиме HTTP Stream
Вы также можете использовать Jadx в режиме HTTP Stream, указав опцию `--http` с `jadx_mcp_server.py`, как показано ниже:
```bash
uv run jadx_mcp_server.py --http
OR
uv run jadx_mcp_server.py --http --port 9999
```
### Расширенные параметры CLI — понимание флагов
Существуют **два отдельных соединения**, и каждое имеет собственный хост/порт:
```
┌─────────────┐ --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 │ │
└─────────────┘ └──────────────────┘ └──────────────────┘
```
| Флаг | По умолчанию | Управляет |
|------|---------|----------|
| `--http` | выкл. | Использовать HTTP-транспорт вместо stdio |
| `--host` | `127.0.0.1` | **Где прослушивает MCP-сервер** (адрес привязки для LLM-клиентов) |
| `--port` | `8651` | **На каком порту прослушивает MCP-сервер** |
| `--jadx-host` | `127.0.0.1` | **Где найти плагин JADX** (целевая машина с JADX-GUI) |
| `--jadx-port` | `8650` | **На каком порту находится плагин JADX** |
### Примеры использования
**Сценарий 1 — Всё на одной машине (наиболее распространённый):**
```bash
# Default: MCP server on localhost:8651, connects to JADX plugin on localhost:8650
uv run jadx_mcp_server.py --http
```
**Сценарий 2 — Docker-контейнер или WSL (MCP-сервер доступен из сети хоста):**
```bash
# MCP server listens on ALL interfaces so the host can reach it
# JADX plugin is still on the same machine
uv run jadx_mcp_server.py --http --host 0.0.0.0
```
**Сценарий 3 — JADX-GUI, запущенный на другой машине (например, на удалённой виртуальной машине):**
```bash
# MCP server runs locally, but connects to JADX plugin on a remote machine
uv run jadx_mcp_server.py --http --jadx-host 192.168.1.100
```
**Сценарий 4 — Полная удалённая установка (всё на разных машинах):**
```bash
# MCP server listens on all interfaces on port 9999
# JADX plugin is on a different machine at 192.168.1.100:8652
uv run jadx_mcp_server.py --http --host 0.0.0.0 --port 9999 --jadx-host 192.168.1.100 --jadx-port 8652
```
> [!CAUTION]
> ### ⚠️ Предупреждение о безопасности — удалённое связывание
>
> При использовании `--host 0.0.0.0` (или любого адреса, отличного от localhost) MCP-сервер привязывается ко **всем сетевым интерфейсам** по **обычному HTTP без аутентификации**. Это означает:
>
> - **Любой в сети** может подключиться и вызвать все инструменты MCP
> - **Шифрование TLS отсутствует** — трафик может быть перехвачен
> - Злоумышленник может использовать сервер для **чтения декомпилированного кода**, **переименования классов/методов** и **доступа к отладочной информации**
>
> **Меры защиты:**
> - Привязывайтесь к `0.0.0.0` только в **доверенных изолированных сетях** (например, Docker bridge, локальная ВМ)
> - Используйте **брандмауэр** для ограничения доступа к порту MCP
> - Рассмотрите вместо этого **SSH-туннель**: `ssh -L 8651:127.0.0.1:8651 remote-host`
### Совместимость с режимом Stdio
> [!NOTE]
> При работе в режиме **stdio** (по умолчанию, без `--http`) весь человекочитаемый вывод (баннер, проверка работоспособности) записывается в **stderr**, чтобы **stdout** оставался зарезервированным для потока JSON-RPC MCP. Это обеспечивает совместимость с Codex, Claude Desktop и другими MCP-клиентами на основе stdio.
## 6. Настройка пользовательского порта и хоста для JADX AI MCP Plugin
<img width="800" height="335" alt="image" src="https://assets.kitploit.com/production/public/readmes/6657/34e13964afba1fa722733838892491b2ec9ea2d11f2dfd4e8612aa62817dfa41.png" />
1. Configure Port: настройка порта, на котором будет прослушивать JADX AI MCP Plugin.
2. Default Port: откат изменений и прослушивание порта по умолчанию.
3. Restart Server: принудительный перезапуск сервера JADX AI MCP Plugin.
4. Server Status: проверка состояния сервера JADX AI MCP Plugin.
Для подключения к JADX AI MCP Plugin, работающему на пользовательском порту, используется опция `--jadx-port`, как показано ниже:
```
uv run jadx_mcp_server.py --jadx-port 8652
```
Если плагин JADX AI MCP запущен на **другой машине** (например, JADX на удалённой виртуальной машине, а MCP-сервер на вашем локальном хосте), используйте опцию `--jadx-host`:
```bash
# Connect to JADX plugin on a remote host
uv run jadx_mcp_server.py --jadx-host 192.168.1.100 --jadx-port 8650
```
### Справочник по CLI — понимание флагов
Здесь **два отдельных соединения**, и у каждого свой собственный хост/порт:
```
┌─────────────┐ --host / --port ┌──────────────────┐ --jadx-host / --jadx-port ┌──────────────────┐
│ LLM Client │ ◄──────────────────► │ jadx-mcp-server │ ──────────────────────────► │ JADX-GUI Plugin │
```
---
[Read more](https://github.com/zinja-coder/jadx-ai-mcp)