Recaf MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Recaf MCPList all classes in the workspace"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Recaf MCP
「"Turn Recaf into an API that LLMs can call"」
Recaf 4 MCP bridge — operate a Recaf workspace via MCP protocol for JVM bytecode analysis and editing.
A Java plugin runs inside Recaf exposing a local HTTP API; a Python MCP server turns that API into MCP tools consumable by LLM clients.
Tools · Quick Start · Bytecode Editing · Install
Tools
Workspace
get_workspace_info open_workspace close_workspace add_supporting_resource list_supporting_resources fetch_current_class get_selected_text
Classes
get_all_classes get_class_info get_class_source get_bytecode_of_class get_methods_of_class get_fields_of_class get_inner_classes get_annotations_of_class get_raw_class_bytes
Methods
get_method_by_name get_method_bytecode get_method_info
Search
search_classes_by_name search_members_by_name search_strings search_numbers search_instructions
Cross References
get_xrefs_to_class get_xrefs_to_method get_xrefs_to_field get_callers_of_method get_callees_of_method get_overrides_of_method
Refactor
rename_class rename_method rename_field rename_package rename_local_variable apply_mappings
Decompilers
list_decompilers set_active_decompiler decompile_class_with
Inheritance
get_superclasses get_interfaces get_direct_subclasses get_all_subclasses get_implementors
Resources & Export
get_all_file_names get_file_content get_manifest get_strings_from_resources export_workspace get_modified_classes revert_class
Related MCP server: ffdecmcp
Bytecode Editing
Full bytecode read/write: instruction-level editing, JASM text assembly, access flag editing, method/field CRUD, try-catch blocks, class byte replacement, workspace export.
Instructions
list_method_instructions get_method_bytecode replace_instruction insert_instruction remove_instruction
Method Body
assemble_method replace_method_body
Access Flags
edit_class_access edit_method_access edit_field_access
Method / Field CRUD
add_method remove_method add_field remove_field
Other
set_try_catch_blocks replace_class_bytes save_workspace
Requirements
Java 25
Python 3.10+
recaf.jar
Quick Start
1. Provide recaf.jar
The build looks for Recaf in this order:
RECAF_JARenv varlibs/recaf.jar../recaf/recaf.jar
$env:RECAF_JAR="D:\deobf\recaf\recaf.jar"2. Build the Plugin
.\gradlew.bat jarOutput: build/libs/recaf-mcp-plugin-0.1.0.jar
3. Install Plugin
Copy the jar to Recaf's plugin cache directory %APPDATA%/Recaf/plugins/ and launch Recaf.
On successful load:
Recaf MCP plugin listening on http://127.0.0.1:87504. Install Python Dependencies
pip install -r requirements.txt5. Start the MCP Server
python recaf_mcp_server.py --http --port 8751Or use the launcher script:
.\start_recaf_mcp_http.ps1MCP Config
{
"mcpServers": {
"recaf-mcp": {
"url": "http://127.0.0.1:8751/mcp"
}
}
}Ports
Component | Address |
Plugin HTTP |
|
MCP HTTP |
|
Health check:
Invoke-WebRequest http://127.0.0.1:8750/healthRepository Structure
.
├── src/ # Java plugin source
├── mcp-server/ # Python MCP server
├── libs/ # recaf.jar goes here
├── recaf_mcp_server.py # MCP server entry point
├── requirements.txt # Python dependencies
├── .mcp.json # Project MCP config
└── README.mdSecurity
Binding to all interfaces exposes the MCP server with no authentication:
python recaf_mcp_server.py --http --host 0.0.0.0Use localhost by default, or place it behind a firewall / VPN.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/619-owen/Recaf_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server