Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/nitrogent7/jadx-mcp-multisession/agents-mdgit clone --depth 1 https://github.com/NitrogenT7/jadx-mcp-multisessionWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/nitrogent7/jadx-mcp-multisession/agents-md)<a href="https://agentmods.dev/instructions/nitrogent7/jadx-mcp-multisession/agents-md"><img src="https://agentmods.dev/badge/instructions/nitrogent7/jadx-mcp-multisession/agents-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.02209 | $0.02209 |
| Opus 5 | $0.01104 | $0.01104 |
| Sonnet 5 | $0.00442 | $0.00442 |
| Haiku 4.5 | $0.00221 | $0.00221 |
Grade A, and why
jadx-mcp-multisession AGENTS.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
# 集成测试(HTTP 模式,curl 可调) How it starts
The opening of the file, as written. The whole thing — 139 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md — jadx-mcp-multisession 项目文档
给后来者(人 or AI)的速览:先读本文,再动手。完整功能说明见 README.md,
多会话改造与实测问题修复的详细记录见 MULTI_SESSION.md。
1. 项目是什么
Kimi Code / 任意 MCP 客户端与 jadx-gui 之间的桥接 server。上游是
zinja-coder/jadx-mcp-server v3.3.5,本项目在其上做了三件事:
- 多会话管理:AI 可自主启动/切换/关闭多个 jadx-gui 窗口(对齐 IDA-MCP)
- 插件版本兼容:jadx-ai-mcp 插件 3.3.x 与 6.x 参数名/端点差异自动适配
- 错误降级:
main-activity、strings在上游插件失败时的 server 侧兜底
架构一句话:每个 jadx-gui 窗口 = 一个独立 HTTP 服务(插件端口)+ 独立
JADX_CONFIG_DIR/user.home;server 维护会话注册表,所有分析工具请求
路由到 active 会话。
2. 关键设计决策(改代码前必读)
2.1 多实例端口隔离 — FilePrefsFactory
jadx-ai-mcp 插件把端口存在 Java Preferences(Windows 注册表),所有实例
共享且无运行时改端口 API。解法:session-prefs-factory(Java)把 Preferences
落到文件。Windows JDK 没有 FileSystemPreferencesFactory,必须用这个自定义
实现(已实测 ClassNotFoundException)。
⚠️ 双节点预写:插件版本不同,Preferences 节点路径不同:
- 3.3.x → 包
jadx.gui.plugins→ 文件<prefs>/jadx/gui/plugins.properties - 6.x → 包
com.zin.jadxaimcp→ 文件<prefs>/com/zin/jadxaimcp.properties
session_manager.open_session 必须两个都写,漏一个会导致对应版本插件
读默认 8650 → 多实例端口冲突 → 启动失败(已踩坑,勿回退)。
2.2 路由 — 单一改造点
所有分析工具最终都走 src/server/config.py 的 get_from_jadx()。
current_base()返回 active 会话 URL,无会话时回退旧JADX_HTTP_BASEset_active_session()切换会话时必须重置参数风格缓存(_PARAM_STYLE=None)- 新工具若直接构造 URL 而不走
get_from_jadx,将不跟随会话切换(已踩坑)
2.3 参数风格自适应
插件参数名矩阵(实测确认):
| 端点 | 3.3.x | 6.3.0 | 6.4.0 |
|---|---|---|---|
| class-source / methods-of-class 等 | class |
class_name |
class_name |
| search-method | method |
method_name |
method_name |
| get-resource-file | name |
file_name |
file_name |
_detect_param_style():向/class-source?class_name=x.Y发探测请求,400 且 报 "Missing 'class'" → legacy(3.3.x),否则 new_adapt_params():legacy 时按_LEGACY_RENAME映射(class_name→class 等)- dropins 插件默认选版本号最高的 jar(
_find_plugin_jar用 max 版本解析), 3.3.x 缺 search-classes-by-keyword / xrefs-* / rename-package / debug 端点
2.4 会话生命周期
- 注册表:
<sessions-dir>/sessions.json(含 active 指针),全部经_mutate_registry加锁读-改-写 - 启动:建目录 → 双节点预写端口 → 复制插件 jar 到
config/plugins/dropins/(jadx 无条件加载机制,无需 plugins.json)→jre/bin/java.exe带-Djava.util.prefs.PreferencesFactory/-Dfile.prefs.root/-Duser.home→ 等/health(150s)→ 等/all-classestotal>0(180s,大 APK 首次反编译) → 能力探测probe_plugin()→ 注册 - 关闭:
taskkill /F /T /PID→ 删注册 → active 自动转移 → 清理目录
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 139 lines · 2,209 tokens per session scan A 14c792ca93db
jadx-mcp-multisession AGENTS.md is an instructions file published in the GitHub repository NitrogenT7/jadx-mcp-multisession (1 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 2,209 tokens to every session, about $0.0110 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
MobiAI-Core CLAUDE.md
Claude Code instructions for ArisGuimera/MobiAI-Core, covering mobiai — mobile development ai ecosystem, bootstrap and principles.
freetube CLAUDE.md
Instructions for leshkodev/freetube, covering claude.md, 1. what this project is, 2. non-negotiable constraints, 3. tech stack (locked) and 4. project structure.
ConsultMe CLAUDE.md
Claude Code instructions for Tarek-Bohdima/ConsultMe, covering claude.md, project context, common commands, module graph and conventions enforced by tooling.
phone-mcp CLAUDE.md
Claude Code instructions for premex-ab/phone-mcp, covering claude.md, project overview, build commands, architecture and module layout.
dev-challenge CLAUDE.md
Claude Code instructions for micheltlutz/dev-challenge, covering claude.md, the one rule to internalise, slash commands, subagents and skills.
android-media-pack CLAUDE.md
Instructions for sunnat629/android-media-pack, covering claude.md, what this repository is, commands, markdown lint (config in .markdownlint-cli2.jsonc) and shell script lint.