Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | 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 | Connect to an app by bundle ID, name, or PID. Must call this before using other tools. When spawn=True, uses reliable adb-based launch instead of Frida spawn. |
| disconnect | Disconnect from the current session |
| is_connected | Check if Frida session is still alive and healthy. Returns connection status, PID, and device info. |
| list_sessions | List all active Frida sessions. Supports multi-device workflows. |
| switch_session | Switch to a different active session by ID. Use list_sessions to see available sessions. |
| get_pid | Get PID of a running app by package name. Useful before attaching with connect(). |
| launch_app | Launch an app via adb and return its PID (smart wait - polls for process). |
| stop_app | Force stop an app by package name |
| spawn_and_attach | Force stop app, launch fresh, and attach Frida. The reliable alternative to connect(spawn=True) which often times out. |
| 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 a pattern |
| memory_read | Read memory at a specific address |
| android_list_classes | List loaded Java classes, optionally filtered by pattern |
| android_list_methods | List methods of a Java class |
| android_hook_method | Hook a Java method to monitor calls. Logs arguments, return values, and optionally backtraces. |
| android_search_classes | Search for Java classes matching a pattern |
| android_ssl_pinning_disable | Disable SSL certificate pinning to allow traffic interception |
| android_get_current_activity | Get the current foreground activity |
| 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 |
| run_script | Execute custom Frida JavaScript code. Java bridge is auto-imported, so Java.perform(), Java.use(), etc. work directly. |
| install_hook | Install a persistent hook script that stays active and collects messages. Use get_hook_messages to retrieve collected output. |
| get_hook_messages | Get collected messages from persistent hooks installed via install_hook |
| clear_hook_messages | Clear the hook message buffer without retrieving |
| uninstall_hooks | Unload all persistent hook scripts |
| list_hooks | List all installed persistent hooks with their names and indices |
| get_module_base | Get base address of a module by name (partial match). Returns {module: {name, base, size, path}} |
| hook_native | Hook a native function by module+offset. Messages collected via get_hook_messages(). |
| heap_search | Search Java heap for live instances of a class |
| memory_write | Write bytes to memory address (for patching) |
| dump_class | Dump all methods, fields, and constructors of a Java class |
| run_java | Run arbitrary Java code within Java.performNow context. Has access to Java.use(), Java.choose(), send(), etc. Return value is the result of the last expression. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |