Skip to content

Releases: zinja-coder/jadx-ai-mcp

v5.0.0 The Xrefs Update

05 Dec 00:26
4a36539

Choose a tag to compare

New MCP Tools:

  • xrefs-to-class - Find all references to a class
    Returns method-level references: { class, method }
    Returns class-level references: { class, method: "" }
    Supports pagination via offset and limit parameters

  • /xrefs-to-method - Find all references to a method
    Includes override-related methods for polymorphic support
    Matches JADX GUI's "Find Usage" behavior
    Supports pagination

  • /xrefs-to-field - Find all references to a field
    Returns methods that access the field
    Method field is always non-empty (field access always occurs within a method)
    Supports pagination

Bug Fix:

  • There was a bug in get_main_application_classes_code(), implmentation was missing on plugin side and on the jadx_mcp_server.py side, the json key name was mismatch, the plugin is sending the data in 'classes' but jadx_mcp_server.py was looking for some other key.

What's Changed

  • add xref feature implements by @ljt270864457 in #59
  • feat: added pagination support in get_all_resource_file_names() mcp tool by @zinja-coder in #61
  • optimize: separated pagination utils class from main jadx ai mcp file… by @zinja-coder in #62
  • Code Improvements
    • Separated PaginationUtils class to progress towards modular design.
    • **BELOW CONTRIBUTIONS ARE MADE BY @ljt270864457 **
    • Refactoring: Extracted common helper methods to reduce code duplication:
    • validateRequiredParam() - Parameter validation
    • findClassByName() - Class lookup
    • findMethodsByName() - Method lookup (supports constructors)
    • findFieldByName() - Field lookup
    • collectMethodNodeReferences() - Reference collection with deduplication
    • sendXrefsResponse() - Paginated response handling

Checksum SHA256:

  • jadx-ai-mcp-5.0.0.jar: a071a47587dc0810ecfe013f505eb893f1807e2a54573637dfbaabd1fb957f23
  • jadx-mcp-server-v5.0.0.zip: 5e7d4a4773c125d754f6d9e5a4c457116b29ac54c0ea97fc8187a187cacf4e85

Full Changelog: v4.2.0...v5.0.0

v4.2.0 Rename Package

27 Nov 18:20
f6701db

Choose a tag to compare

New MCP tool

  • rename_package() : Renames a package and all its classes.
    - Args:
    1. old_package_name: The current package path to be renamed (e.g., "com.abc.def")
    2. new_package_name: The target package path (e.g., "com.example.newpkg")
    - Returns: The response from the JADX server with rename results.

Full Changelog: v4.1.0...v4.2.0

Checksum SHA256:

  • jadx-ai-mcp-4.2.0.jar: 1d78aef061cd90b7de164603d8c7e023b9e62e2c8307a425a936dd2d86c01d48
  • jadx-mcp-server-v4.2.0.zip: 5bf6a92e862f08ef92c6e37c8c1c8767f2af9e4bb4a5493348c1132462908bee

v4.1.0 Search Classes By Keyword

21 Nov 11:46
3914674

Choose a tag to compare

New MCP Tool

  • search_classes_by_keyword() : Search for classes whose source code contains a specific keyword (supports pagination)
    • During Android APK reverse engineering and security analysis, analysts often need to quickly locate classes that contain specific keywords (e.g., "encrypt", "password", "API_KEY", etc.). The existing get_all_classes() tool only lists class names, and manually searching through decompiled code is time-consuming. This feature provides a powerful search capability that scans the actual source code of all classes.

Changes

New Contributors

Checksum SHA256:

  • jadx-ai-mcp-4.1.0.jar: 76ac405e2cdddb4d7af48b4bee3fa046be65a63addddcdf506430130a0c0448e
  • jadx-mcp-server-4.1.0.zip: 11d3e4096cb1a3d7e2ec503293fea1d2210816499ee3d23d5d1f2947188c58a6

v4.0.0 DEBUGGER MCP TOOLS

04 Nov 23:31
3c64aaa

Choose a tag to compare

New MCP Tools

  1. debug_get_stack_frames() : returns stack frame from Jadx Debugger, can be used to analyze the execution flow of the APK..
  2. debug_get_threads() : returns threads insights from Jadx Debugger
  3. debug_get_variables() : returns variables insights from jJadx Debugger

Demo:

adx-ai-mcp-debug-demo-1.2.mp4

What's Changed

  • feat: improved message for class not found error, now this error will plrint class name as well to tell which calss is not found
  • refactor: removed .idea folder
  • fix: fixed following build error -> JadxAIMCP.java:[56,24] package jadx.gui.plugins does not exist
  • refactor: migrated to com.zin.jadxaimcp package name

Full Changelog: v3.3.5...v4.0.0

Checksum SHA256:

  • jadx-mcp-server-v4.0.0.zip : 596d8f74694ff7b14230d5825f1b33f0a35be2d4a76380808708be3a48b60585
  • jadx-ai-mcp-4.0.0.jar: bb225f0eb3db9a0929df88c98a05286e351afc7ca8bd25c2f2bad6f8f70a3634

v3.3.5 fix for encoding error

31 Oct 16:47
4c40c10

Choose a tag to compare

Bug Fix:

  • Fixed the the issue #42 - banner unicode character encoding error by catching UnicodeEncodeError and printing normal message, 2 updated banner to v3.3.5

Checksum SHA256:

  • jadx-ai-mcp-3.3.5.jar: 7c76cb89ab5b6da0b291dccc54c45c03cf2cd44f05d3b61f2f8fc2738e36a0cc
  • jadx-mcp-server-v3.3.5.zip: db3c6b1e096b2c04fe01cfa93e5f91bece9c4edbac303d3f9ad1e93b4a31d91b

v3.3.4

27 Oct 19:24
d3599ef

Choose a tag to compare

Bug Fix:

Checksum SHA256:

  • jadx-ai-mcp-3.3.4.jar: d328c808e933125ed2d427f6f2e4448051e8a16c119be459ff576631495c1922
  • jadx-mcp-server-v3.3.4.zip: 34725fcf948e31f54197ff1e206d750ea33b28c14791b8fa1d75240fa13cd080

v3.3.3 HotFix and Banner

22 Oct 08:51
0a42934

Choose a tag to compare

What's Changed

  • Bugfix37 by @ljt270864457 in #38
  • Test implemented for bug #37 in test.sh
  • feat: implemented banner for ASCII title, version by in #39

New Contributors

Full Changelog: v3.3.2...v3.3.3

Checksum SHA256:

  • jadx-ai-mcp-3.3.3.jar: f6246c51f365f1ab279e3d7dfef44696f4ba9e439166bf7212cc2b125745efe4
  • jadx-mcp-server-v3.3.3.zip: 27accb429681b6f5348d0016dc598e6b1861dbd55a92e387919d76d20267b158

v3.3.2 Bug Fixes

16 Oct 23:47

Choose a tag to compare

Bug Fixes

  • fixed the following error -> ERROR - Error in paginated request to strings: the JSON object must be str, bytes or bytearray, not dict
  • fixed the following error -> "HTTP error 400: {"error":"Missing required parameter 'class'"}." in following mcp tools -> get_fields_of_class, get_methods_of_class
  • fixed the following error -> Unexpected error: Expecting value: line 1 column 1 (char 0).
  • Added dict as a return type in MCP tools to keep up to date with FastMCP -> this solves #33

Optimization

  • Performed heavy code optimization on jadx_mcp_server.py see full changelog for details.
  • Improved the test.sh script to test the both plugin and server thoroughly.

Full Changelog: v3.3.1...v3.3.2

Checksum SHA256:

  • jadx-ai-mcp-3.3.2.jar - f72801d9c666c59b0f0fa9412f8e0de5ec8586544adb508e0b54da5d6902d27c
  • jadx-mcp-server-v3.3.2.zip - 1a99cb568be8bb3fb75c4b3cd584df7a96710a46a3308280168404be261fecce

v3.3.1

11 Sep 07:47

Choose a tag to compare

What's Changed

  • fix(plugin): Fix method renaming logic in JadxAIMCP plugin by @badmonkey7 in #26

New Contributors

Full Changelog: v3.3.0...v3.3.1

Checksum sha256:

  • jadx-mcp-server-v3.3.1.zip : 0ef02846889a20281f0828bac3a06b9d3a50661b2041ebc4695e024b9b59feca
  • jadx-ai-mcp-3.3.1.jar : db7d44f270dbbcee8bf17a41c82d3061379123f0c19d8ba5c797bcb1a0322b78

v3.3.0 Pagination Overhaul

09 Sep 16:44
6c72280

Choose a tag to compare

What's Changed

  • Pagination Overhaul:
    • Completely rewritten better, improved, efficient and reliable pagination logic.
    • Added pagination support in get_main_application_classes_code, get_strings and get_all_classes mcp tools.
    • Removed pagination from all other mcp tools due to redundancy and out of place feature.
    • Migrated to core FastMCP library
    • Moved to up to date FastMCP library
    • HTTP Stream support up to date with FastMCP library

Bug Fixes:

  • N/A

Full Changelog: v3.2.0...v3.3.0

Checksum SHA-256:

  • jadx-ai-mcp-3.3.0.jar: 2f8a1a734090cc8ae960beb2209842f2b06b64a888a065611439fffe928f53de
  • jadx-mcp-server-v3.3.0.zip: 38eb57c29d0e2739a28fda8483d501490a68599c54c5dff9e31c014689de8489