loading…
Search for a command to run...
loading…
An MCP server that enables AI-assisted mobile security testing by exposing Frida functionality for Android application research. It provides tools for hooking J
An MCP server that enables AI-assisted mobile security testing by exposing Frida functionality for Android application research. It provides tools for hooking Java methods, manipulating memory, managing device processes, and executing custom Frida scripts.
MCP server for Frida-based mobile security testing. Exposes Frida functionality as MCP tools for AI-assisted security research.
cd frida-mcp
uv pip install -e .
Build the Frida agent (required):
cd agent
npm install
npm run build
claude mcp add frida-mcp -- frida-mcp
| Tool | Description |
|---|---|
list_devices |
List all available Frida devices (USB, remote, local) |
list_processes |
List running processes on a device |
list_apps |
List installed applications on a device |
connect |
Attach to app by bundle ID, name, or PID. Supports spawn=true for fresh launch. |
disconnect |
Disconnect from the current session |
is_connected |
Check if Frida session is still alive and healthy |
list_sessions |
List all active Frida sessions (multi-device support) |
switch_session |
Switch to a different active session by ID |
| Tool | Description |
|---|---|
get_pid |
Get PID of a running app by package name |
launch_app |
Launch app via ADB and return its PID |
stop_app |
Force stop an app by package name |
spawn_and_attach |
Force stop, launch fresh, and attach Frida in one step |
| Tool | Description |
|---|---|
memory_list_modules |
List all loaded modules (libraries) in the process |
memory_list_exports |
List exports (functions) from a specific module |
memory_search |
Search process memory for hex pattern or string |
memory_read |
Read memory at a specific address |
memory_write |
Write bytes to memory address (for patching) |
get_module_base |
Get base address of a module by name (partial match) |
| Tool | Description |
|---|---|
android_list_classes |
List loaded Java classes, optionally filtered |
android_list_methods |
List methods of a Java class |
android_hook_method |
Hook a Java method to monitor calls |
android_search_classes |
Search for classes matching a pattern |
android_ssl_pinning_disable |
Disable SSL certificate pinning |
android_get_current_activity |
Get the current foreground activity |
dump_class |
Dump all methods, fields, and constructors of a class |
heap_search |
Search Java heap for live instances of a class |
| Tool | Description |
|---|---|
install_hook |
Install a persistent hook script that collects messages |
get_hook_messages |
Retrieve collected messages from persistent hooks |
clear_hook_messages |
Clear the hook message buffer |
uninstall_hooks |
Unload all persistent hook scripts |
list_hooks |
List all installed persistent hooks |
hook_native |
Hook a native function by module+offset |
| Tool | Description |
|---|---|
file_ls |
List files in a directory on the device |
file_read |
Read a text file from the device |
file_download |
Download a file from device to local machine |
| Tool | Description |
|---|---|
run_script |
Execute custom Frida JavaScript code |
run_java |
Run JavaScript within Java.performNow context |
1. list_devices → Find your device
2. connect target=com.example.app spawn=true → Attach to app
3. android_search_classes pattern=crypto → Find crypto classes
4. android_hook_method class_name=... method_name=... → Hook methods
5. get_hook_messages → See captured calls
spawn=true option uses ADB-based launch which is more reliable than Frida's native spawnДобавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"frida-mcp": {
"command": "npx",
"args": []
}
}
}