fetch_current_classLABSCO SUMMARY
Reverse-engineer an Android app by talking to the decompiler you already have open.
Instead of copying decompiled classes into a chat, the agent reads them from your live JADX session — and can rename classes, methods and fields back, so the deobfuscation survives in the project rather than in the transcript.
What it is
A plugin that runs inside JADX-GUI plus a companion Python server that speaks MCP. Every call is forwarded over HTTP into the running GUI, so answers come from the project you actually have open rather than from a copy you pasted somewhere.
What you get
- The class you have selected right now with its full source, or just the text you highlighted, via
fetch_current_classandget_selected_text - Whole-project navigation:
get_all_classes,get_class_source,get_methods_of_class,get_fields_of_class,get_smali_of_class,get_method_by_name - Search across the decompiled code with
search_method_by_nameandsearch_classes_by_keyword, both paginated - The manifest and resources:
get_android_manifest,get_manifest_component,get_strings,get_all_resource_file_names,get_resource_file, plusget_main_activity_class,get_main_application_classes_namesandget_main_application_classes_code - Deobfuscation in place —
rename_class,rename_method,rename_field,rename_packageandrename_variablewrite back into the open project - Cross-references with
get_xrefs_to_class,get_xrefs_to_methodandget_xrefs_to_field, including override-related methods - Live debugger state through
debug_get_stack_frames,debug_get_threadsanddebug_get_variables
Requirements
Java 11+ and Python 3.10+, with uv for the server. Install the plugin with jadx plugins --install "github:zinja-coder:jadx-ai-mcp", then run uv run jadx_mcp_server.py. Two connections are involved: the server listens for your client on 8651 and looks for the JADX plugin on 8650, both on 127.0.0.1 by default, and --jadx-host / --jadx-port point it elsewhere. Add --http for HTTP transport instead of stdio. Binding with --host 0.0.0.0 puts every tool on the network over plain HTTP with no authentication, so keep it to a trusted network or tunnel over SSH.
Setup effort
Follow the published steps — jadx plugins --install "github:zinja-coder:jadx-ai-mcp"
USE CASES
Reviewing a class you just selected
Highlight something in JADX-GUI and ask about it. The agent pulls the same class you are looking at, plus its methods and fields, without you pasting anything.
Finding where an app talks to the network
Search the decompiled source by keyword, then walk cross-references from the hit back to its callers to see which components reach it.
Making obfuscated code readable
Rename classes, methods, fields, packages and local variables from the chat. The changes land in the open JADX project, so the next question is asked against readable names.
Reading the manifest and resources alongside the code
Pull AndroidManifest.xml or a single component from it, list resource files, and read strings.xml — useful when a permission or an exported activity is the thing you are actually chasing.
Explaining what the app is doing right now
With the JADX debugger attached, read stack frames, threads and variables and ask for the execution flow they imply.
32 tools
Listed in project docs. Your client may show a different list.
get_selected_textget_all_classesget_class_sourceget_methods_of_classget_fields_of_classget_smali_of_classget_main_application_classes_namesget_main_application_classes_codeget_main_activity_classget_package_treeget_cache_statsclear_cacheget_method_by_namesearch_method_by_namesearch_classes_by_keywordget_android_manifestget_manifest_componentget_stringsget_all_resource_file_namesget_resource_fileget_xrefs_to_classget_xrefs_to_methodget_xrefs_to_fieldrename_classrename_methodrename_fieldrename_packagerename_variabledebug_get_stack_framesdebug_get_threadsdebug_get_variablesBEFORE YOU INSTALL
What to know first
Tools you get
32 tools named in the project's documentation. The cross-reference tools are get_xrefs_to_class, get_xrefs_to_method and get_xrefs_to_field — the README's list drops the get_ prefix.
INSTALLATION
Connect your client
Server setup
jadx plugins --install "github:zinja-coder:jadx-ai-mcp"
git clone https://github.com/zinja-coder/jadx-mcp-server.git
cd jadx-mcp-serverAdd the mcpServers block below to your MCP client config, using absolute paths
MCP Clients
Claude Desktop
{
"mcpServers": {
"jadx-mcp-server": {
"command": "<YOUR_PATH_TO_UV>",
"args": [
"--directory",
"<YOUR_PATH_TO_JADX_MCP_SERVER>/",
"run",
"jadx_mcp_server.py"
]
}
}
}Cherry Studio
Type: stdio
Command:
uvArguments, one per line:
--directory
<YOUR_PATH_TO_JADX_MCP_SERVER>
run
jadx_mcp_server.py<YOUR_PATH_TO_JADX_MCP_SERVER> is the absolute path to your jadx-mcp-server clone.
Any MCP client — packaged install
uv tool install git+https://github.com/zinja-coder/jadx-mcp-server{
"mcpServers": {
"jadx-mcp-server": {
"command": "jadx_mcp_server"
}
}
}