apktool-mcp-server (Part of Zinβs Reverse Engineering MCP Suite)
Image generated using AI tools.
π€ What is apktool-mcp-server?
apktool-mcp-server is a MCP server for the Apk Tool that integrates directly with Model Context Protocol (MCP) to provide live reverse engineering support with LLMs like Claude.
Think: βDecompile β Context-Aware Code Review β AI Recommendationsβ β all in real time.
Watch the demo!

Other MCP Servers For Android Reverse Engineering
- JADX-MCP-SERVER
Current MCP Tools
The following MCP tools are available:
build_apk()β Build an APK from a decoded APKTool Project.list_workspace_projects()β List all APKTool project direcotries in workspace.get_manifest()β Get the AndroidManifest.xml content from a decoded APK project.get_apktool_yml()β Get apktool.yml information from a decoded APK project.list_smali_directories()β List all smali directories in a project.list_smali_files()β List smali files in a specific smali directory, optinally filtered by package prefix.get_smali_file()β Get content of a specific smali file by class name.modify_smali_file()β Modify the content of a specific smali file.list_resources()β List resources in a project, optionally filtered by resource type.get_resource_file()β Get Content of a specific resource file.modify_resource_file()β Modify the content of a specific resource file.search_in_file()β Search for a pattern in files with specified extensions.check_apktool_version()β Check the installed APKTool version.sign_apk()β Sign an APK file.install_apk()β Install and APK on a connected device using ADB. // to be migrated to upcoming ADB MCP Serverextract_dex()β Extract DEX files from original APK (if available in project).list_packages()β List installed packages on a connected Android device using ADB. // to be migrated to upcoming ADB MCP Serveranalyze_permissions()β Analyze permissions declared in AndroidManifest.xml.clean_project()β Clean a project directory to prepare for rebuilding.create_project()β Create a new empty APKTool project structure.delete_project()β Delete an APKTool project directorycompare_smali_files()β Compare two smali files and show differences.get_available_devices()β Get list of available Android devices connected via ADB // to be migrated to upcoming ADB MCP Serverdecode_apk()β Decode an APK file using APKTool, extracting resources and smali code.
ποΈ Sample Prompts
π Basic Code Understanding
βList all smali directories for the dvac project.β
βShow me all the smali files under the package prefix com.vulnerable.component in the dvac project.β
βGet the smali code for the class com.vulnerable.component.MainActivity.β
βCompare MainActivity.smali with its previous version and show differences.β
βSearch for usage of startActivity in smali files of dvac project.β
π‘οΈ Vulnerability Detection
βAnalyze declared permissions in the dvac AndroidManifest.xml and flag dangerous ones.β
βSearch for hardcoded URLs or IPs in all .xml and .smali files in the project.β
βFind all uses of PendingIntent.getActivity in smali files.β
βCheck for exported activities or receivers in dvacβs AndroidManifest.xml.β
βList all smali files that access android.permission.SEND_SMS or READ_CONTACTS.β
π οΈ Reverse Engineering Helpers
βDecode this APK: dvac.apk and create a project called dvac.β
βCreate a new APKTool project called test-harness.β
βClean the dvac project before rebuild.β
βExtract DEX files from dvac project for external analysis.β
βModify MainActivity.smali to insert a log line at the beginning of onCreate().β
π¦ Static Analysis
βGet the complete AndroidManifest.xml from dvac project.β
βShow the contents of apktool.yml for the dvac project.β
βList all resource files of type layout.β
βSearch for the word password in all resource and smali files.β
βCheck which permissions are used and compare them against typical over-permissioning risks.β
π€ AI Code Modification
βModify the onCreate() method in MainActivity.smali to add a toast message.β
βReplace all http:// links with https:// in strings.xml.β
βAdd the android:exported=false attribute to all activities in the AndroidManifest.xml.β
βPatch the method validateLogin in LoginManager.smali to always return true.β
βAdd logging statements to every method in MainActivity.smali.β
π Documentation & Metadata
βList all decoded APKTool projects in the workspace.β
βShow me the apktool.yml config to review the version, original APK metadata, and compression settings.β
βGet all available Android devices connected via ADB. (To be migrated to ADB MCP Server.)β
βGet metadata about the project dvac from its apktool.yml.β
βCheck which APKTool version is currently installed on the server.β
π οΈ Getting Started
1. Downlaod from Releases: https://github.com/zinja-coder/apktool-mcp-server/releases
# 0. Download the apktool-mcp-server-<version>.zip
https://github.com/zinja-coder/apktool-mcp-server/releases
# 1.
unzip apktool-mcp-server-<version>.zip
βapktool-mcp-server/
βββ apktool_mcp_server.py
βββ requirements.txt
βββ README.md
βββ LICENSE
```bash
# 2. Navigate to apktool-mcp-server directory
cd apktool-mcp-server
# 3. This project uses uv - https://github.com/astral-sh/uv instead of pip for dependency management.
## a. Install uv (if you dont have it yet)
curl -LsSf https://astral.sh/uv/install.sh | sh
## b. OPTIONAL, if for any reasons, you get dependecy errors in apktool-mcp-server, Set up the environment
uv venv
source .venv/bin/activate # or .venvScriptsactivate on Windows
## c. OPTIONAL Install dependencies
uv pip install httpx fastmcp
# The setup for apktool-mcp-server is done.
π€ 2. Claude Desktop Setup
Make sure Claude Desktop is running with MCP enabled.
For instance, I have used following for Kali Linux: https://github.com/aaddrick/claude-desktop-debian
Configure and add MCP server to LLM file:
nano ~/.config/Claude/claude_desktop_config.json
And following content in it:
{
"mcpServers": {
"apktool-mcp-server": {
"command": "/<path>/<to>/uv",
"args": [
"--directory",
"</PATH/TO/>apktool-mcp-server/",
"run",
"apktool_mcp_server.py"
]
}
}
}
Then, navigate code and interact via real-time code review prompts using the built-in integration.
To report bugs, issues, feature suggestion, Performance issue, general question, Documentation issue.
Kindly open an issue with respective template.
Tested on Claude Desktop Client, support for other AI will be tested soon!
π Credits
This project is a MCP Server for Apktool, an amazing open-source Android reverse engineering tool created and maintained by @iBotPeaches. All core APK decoding and resource processing logic belongs to them. I have only extended it to support my MCP server with AI capabilities.
π Original README (Apktool)
The original README.md from Apktool is included here in this repository for reference and credit.
Also huge thanks to @aaddrick for developing Claude desktop for Debian based Linux.
And in last, thanks to @anthropics for developing the Model Context Protocol and @FastMCP team.
π License
apktool-mcp-server and all related projects inherits the Apache 2.0
βοΈ Legal Warning
Disclaimer
The tools apktool-mcp-server and all related tools under this project are intended strictly for educational, research, and ethical security assessment purposes. They are provided βas-isβ without any warranties, expressed or implied. Users are solely responsible for ensuring that their use of these tools complies with all applicable laws, regulations, and ethical guidelines.
By using apktool-mcp-server, you agree to use them only in environments you are authorized to test, such as applications you own or have explicit permission to analyze. Any misuse of these tools for unauthorized reverse engineering, infringement of intellectual property rights, or malicious activity is strictly prohibited.
The developers of apktool-mcp-server shall not be held liable for any damage, data loss, legal consequences, or other consequences resulting from the use or misuse of these tools. Users assume full responsibility for their actions and any impact caused by their usage.
Use responsibly. Respect intellectual property. Follow ethical hacking practices.
Built with β€οΈ for the reverse engineering and AI communities.
Apktool MCP Server
Project Details
- zinja-coder/apktool-mcp-server
- Apache License 2.0
- Last Updated: 4/22/2025
Recomended MCP Servers
MCP server for working with 3rd party library documentation
Model Context Protocol server for DeepSeek's advanced language models
Providing real-time and historical Crypto Fear & Greed Index data
The MCP server for interacting with Blockchain, Swaps, Strategic Planning and more.
A Model Context Protocol (MCP) server that provides basic mathematical and statistical functions to Large Language Models (LLMs)....
A MCP server for Vertex AI Search
Model Context Protocol (MCP) server for Alpaca trading API
MCP Server for Chronulus AI Forecasting and Prediction Agents





