A.K.A Let Your AI Do It
An MCP (Model Context Protocol) Server specifically designed to help with reverse engineering tasks, majorly focused on Android side.
demo.mp4
- APK Decompilation: Easily decompile APK files using APKEditor/Apktool.
- Radare2 Integration: Utilize Radare2 for advanced binary analysis.
- ADB/Logcat Integration: Use ADB and Logcat for real-time debugging.
- Custom Scripts: Run custom scripts for specific reverse engineering tasks.
- Automation: Automate repetitive tasks to save time and effort.
- Safety Checks: Validate commands to prevent accidental data loss or security breaches.
-
Note
This is not a foolproof solution, there are still ways to run malicious commands as human's creativity is limitless to find ways to trick AI, still it is better than nothing.
... and many more (yet to come)!
Tip
Android: You can find complete detailed setup & usage instructions for Termux on this blog post.
- Clone the repository:
git clone https://github.com/AbhiTheModder/LYADI.git- Navigate to the project directory:
cd LYADI- Install dependencies:
./setup.shInstead of default stdio transport, this server uses sse transport, making it compatible with almost all MCP clients and reducing the need of installing anything extra (like uv, npm, etc.).
- Start the server:
python src/main.pyYou'll see an output like this:
INFO: Started server process [32084]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:51657 - "GET /sse HTTP/1.1" 200 OKIf so then you're good to go!
The server is now running on http://0.0.0.0:8000/sse, you can use it with any MCP client.
Some examples are given below:
- Connect to the server using your preferred MCP client.
- Continue Dev (
~/.continue/config.json):
{
"experimental": {
"modelContextProtocolServers": [
{
"name": "LYADI",
"transport":{
"type": "sse",
"url": "http://0.0.0.0:8000/sse"
}
}
]
}
}- Cursor (
~/.cursor/mcp.json):
{
"mcpServers": {
"LYADI": {
"url": "http://0.0.0.0:8000/sse"
}
}
}- VSCode (
./vscode/mcp.json):
{
"servers": {
"LYADI": {
"type": "sse",
"url": "http://0.0.0.0:8000/sse"
}
}
}- Claude Desktop (
claude_desktop_config.json):
{
"mcpServers": {
"LYADI": {
"command": "npx",
"args": [
"mcp-remote",
"http://0.0.0.0:8000/sse"
]
}
}
}- WindSurf (
~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"LYADI": {
"serverUrl": "http://0.0.0.0:8000/sse"
}
}
}- Cline (
cline_mcp_settings.json):
{
"mcpServers": {
"LYADI": {
"url": "http://0.0.0.0:8000/sse",
"disabled": false,
"autoApprove": []
}
}
}Contributions are welcome! Please submit a pull request or open an issue for any enhancements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for details.