Frida MCP Server
A comprehensive MCP (Model Context Protocol) server that exposes the full power of Frida's dynamic instrumentation toolkit to AI agents.
Features
55 tools covering all major Frida capabilities:
Device & Process Management
frida_list_devices- List all available Frida devicesfrida_get_device_info- Get detailed device informationfrida_list_processes- List running processesfrida_list_applications- List installed applicationsfrida_get_process- Get process details by name/PIDfrida_spawn- Spawn a new process (suspended)frida_resume- Resume a spawned processfrida_kill- Kill a process
Session Management
frida_attach- Attach to a running processfrida_detach- Detach from a session
Script Injection
frida_inject_script- Inject and run JavaScript in a processfrida_unload_script- Unload an injected scriptfrida_rpc_call- Call RPC functions in scriptsfrida_evaluate- Evaluate arbitrary JavaScript
Function Hooking
frida_hook_function- Hook native functionsfrida_intercept_method- Intercept ObjC/Java methodsfrida_trace- Trace function calls with patterns
Memory Operations
frida_memory_scan- Scan memory for patternsfrida_memory_read- Read bytes from memoryfrida_memory_write- Write bytes to memoryfrida_search_strings- Search for strings in memory
Module Enumeration
frida_list_modules- List loaded modulesfrida_list_exports- List module exportsfrida_list_imports- List module importsfrida_resolve_exports- Find functions by pattern (ApiResolver)
Java (Android)
frida_java_enumerate_classes- List Java classesfrida_java_hook_method- Hook Java methodsfrida_java_find_instances- Find class instances on heapfrida_java_call_method- Call Java methods
Objective-C (iOS/macOS)
frida_objc_enumerate_classes- List ObjC classesfrida_objc_hook_method- Hook ObjC methodsfrida_objc_find_instances- Find class instances on heap
Advanced
frida_stalker_trace- Instruction-level tracingfrida_inject_library- Inject shared librariesfrida_enable_spawn_gating- Intercept new processesfrida_disable_spawn_gating- Disable spawn gatingfrida_get_pending_spawn- Get pending spawned processesfrida_get_process_info- Detailed process information
File Operations
frida_pull_file- Download file from devicefrida_push_file- Upload file to device
Installation
# Install dependencies
pip3 install frida frida-tools mcp
# Or with --break-system-packages on newer Ubuntu
pip3 install --break-system-packages frida frida-tools mcp
Usage
As stdio MCP server
python3 server.py
Example MCP configuration
{
"mcpServers": {
"frida": {
"command": "python3",
"args": ["/path/to/frida-mcp/server.py"]
}
}
}
Example Workflows
1. List processes and attach
1. Call frida_list_processes to see running processes
2. Call frida_attach with target="processName" or target=1234 (PID)
3. Use the returned session_id for further operations
2. Hook a function
1. frida_attach to the target process
2. frida_hook_function with the session_id, function name, and optional onEnter/onLeave code
3. Observe the script_id and retrieve logs with frida_unload_script when done
3. Trace SSL/crypto calls
1. frida_attach to a network application
2. frida_trace with include=["*SSL*", "*crypto*"] to see all SSL-related calls
4. Android app analysis
1. frida_list_applications on USB device to find the app
2. frida_attach to the app
3. frida_java_enumerate_classes to explore classes
4. frida_java_hook_method to intercept specific methods
5. frida_java_find_instances to find live objects
5. Memory forensics
1. frida_attach to the target process
2. frida_search_strings to find interesting strings
3. frida_memory_read to dump specific memory regions
4. frida_memory_scan for byte patterns
Device Types
local- Local system (default)usb- USB-connected device (Android/iOS with frida-server)remote- Remote frida-server over TCP
Requirements
- Python 3.8+
- Frida 16.0+ (
pip install frida frida-tools) - MCP SDK (
pip install mcp)
For mobile device support:
- Android: Install frida-server on the device
- iOS: Install frida via jailbreak or use frida-gadget
Security Notes
⚠️ Frida is a powerful tool that can be used for both security research and malicious purposes. Only use on systems you own or have explicit permission to test.
License
MIT
Memory Management (NEW)
frida_memory_alloc- Allocate memory in target processfrida_memory_protect- Change memory page permissionsfrida_enumerate_ranges- List memory ranges/maps
Thread Operations (NEW)
frida_enumerate_threads- List all threads with statefrida_backtrace- Get stack backtrace
Symbol Resolution (NEW)
frida_debug_symbol- Resolve symbols from address/namefrida_list_symbols- List debug symbols from module
Native Calling (NEW)
frida_native_function- Call native functions directlyfrida_cmodule- Compile and load inline C code
ObjC Extended (NEW)
frida_objc_call_method- Call ObjC methods on class/instance
Java Extended (NEW)
frida_java_load_dex- Load DEX files dynamically
Network (NEW)
frida_socket_connect- Create socket connections from process