Java JAR Decompiler & Reverse Engineering MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| decompile_jarA | Decompiles a Java .jar file into a target directory and returns comprehensive decompilation analytics, tree output, and logs. |
| list_decompilersB | Lists all Java decompiler files (.jar or executables) currently found in the decompiler folder. |
| analyze_decompilation_outputA | Analyzes an existing directory containing decompiled source code to count Java files, detect decompilation warnings/errors, and produce a directory tree. |
| evaluate_and_mavenize_sourcesA | Evaluates decompiled outputs (comparing AST structure, line count, compiler warning count), chooses the best candidate with minimal code loss, and structures it into a clean Maven project with pom.xml. |
| compile_maven_projectA | Compiles a Maven project using mvn clean compile, parses any compilation errors into a human-readable format, and writes the log file. |
| compare_bytecode_and_analyzeA | Performs ASM bytecode analysis comparing the original JAR against the recompiled mavenized source, outputting percentage match, business context similarity, and variable readability scores into a text log. |
| generate_ast_and_detect_obfuscationB | Uses GumTree Spoon AST Diff to parse Java source files, generate AST representations, and detect obfuscated or synthetic variable names (e.g., var0, arg1, single-letter, closure captures). |
| rename_obfuscated_variablesA | Copies mavenized source to final output directory, applies obfuscated variable renames with meaningful names, adds changelog comments to modified files, and generates a comprehensive rename log. NEVER modifies business logic. |
| run_ast_deobfuscation_pipelineA | Runs the complete end-to-end AST de-obfuscation pipeline: copies mavenized_merged_source to mavenized_final_output, compiles, parses AST via GumTree Spoon to find obfuscated vars/methods, applies context-aware renames without changing business logic, verifies compilation, re-scans AST, and outputs logs to logs/ast_renamed_variables_methods.txt. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| evaluate_and_mavenize_prompt | Prompt instructions for comparing decompiled AST outputs, selecting the optimal codebase with minimal code loss, and mavenizing it. |
| fix_compilation_errors_prompt | Mandatory system prompt for fixing Java compilation errors without modifying business logic (syntax, generic, and type-cast fixes only). |
| compare_bytecode_prompt | System prompt for running ASM bytecode comparisons between the original JAR and recompiled mavenized project, calculating similarity metrics and debug readability scores. |
| rename_obfuscated_variables_prompt | System prompt for AST-based detection and renaming of obfuscated/synthetic variable names in decompiled Java source, preserving all business logic. |
| ast_deobfuscation_pipeline_prompt | Comprehensive prompt for copying source to final output, compiling, building GumTree Spoon AST, detecting obfuscated vars/methods, applying context-aware renames, verifying build, and writing log files. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct stage of the decompilation workflow (decompile, list, analyze, AST, mavenize, compile, compare, rename, pipeline). Despite some conceptual overlap between standalone tools and the pipeline, the descriptions clearly differentiate their scope and usage.
All tool names follow a consistent snake_case verb_noun pattern (e.g., decompile_jar, list_decompilers, compile_maven_project). The naming style is uniform and predictable across the entire set.
9 tools is well-scoped for a decompilation and reverse engineering server, covering each necessary step without being excessive. The count falls comfortably within the ideal 3-15 range.
The tool surface covers the full reverse engineering lifecycle: decompile, analyze, generate AST, mavenize, compile, compare, and rename. No obvious gaps hinder the core workflow, and the pipeline tool provides an end-to-end path.