frida-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connectA | Connect to the Frida gadget on the device. Performs adb port forwarding (tcp:14725) and connects to the zygisk-gadget. Call this before any other operation. |
| list_appsA | List running applications on the connected device. Returns application identifier, name, and PID. |
| executeA | Inject a Frida JavaScript script into the frontmost application. The script is automatically wrapped with try-catch for safety. Returns immediately after injection - use get_messages() to retrieve results after the user has triggered the target functionality. Args: script: Frida JavaScript code to inject. Use send() to return data. script_file: Path to a .js file to inject. Use this for large scripts instead of script parameter. |
| get_messagesB | Get messages collected from the injected script's send() calls. Call this after the user has triggered the target functionality. Args: limit: Maximum number of messages to return (default 50). offset: Skip first N messages for pagination. save_to_file: If True, save all messages to a JSON file and return the path. |
| logcatA | Get Android logcat output. Useful for debugging crashes after script injection. Args: filter: Optional filter string (case-insensitive match on each line). lines: Number of recent lines to fetch (default 100). clear: If True, clear logcat buffer before fetching. |
| spawn_and_injectA | Kill app, relaunch, connect, and inject script in one step. Use this when you need to hook early initialization (e.g. onCreate, static initializers). Equivalent to: kill_app -> launch_app -> connect -> execute. Args: package: The app package name (e.g. com.taobao.taobao). script: Frida JavaScript code to inject at startup. Use send() to return data. script_file: Path to a .js file to inject. Use this for large scripts. |
| launch_appB | Launch an Android app by package name. Args: package: The app package name (e.g. com.example.app). |
| kill_appB | Force stop an Android app by package name. Args: package: The app package name (e.g. com.example.app). |
| reconnectA | Reconnect to the gadget after an app crash. Detaches current session, re-establishes adb forwarding, and reconnects. After reconnect, restart the target app and call execute() again. |
| detachA | Detach from the current session and unload any injected scripts. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool has a distinct purpose: lifecycle management (connect, detach, reconnect), script injection and retrieval (execute, get_messages), app control (kill_app, launch_app, list_apps), logging (logcat), and a composite workflow (spawn_and_inject). No overlapping functionality.
All tool names use lowercase snake_case with a verb_noun pattern (e.g., kill_app, launch_app, get_messages). The composite tool spawn_and_inject deviates slightly but remains intuitive and consistent with the overall style.
10 tools is well-scoped for a Frida interaction server. It covers connection management, app lifecycle, script injection, message retrieval, and debugging without unnecessary clutter.
Core workflows are covered: connect/disconnect, app start/stop/list, script injection with message retrieval, and logcat. Missing advanced features like listing active hooks or managing multiple scripts, but the set is complete for typical Frida use cases.