MCP Hub
Back to servers

frida-mcp

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.

Updated
Jan 24, 2026

frida-mcp

MCP server for Frida-based mobile security testing. Exposes Frida functionality as MCP tools for AI-assisted security research.

Requirements

  • Python 3.11+
  • Frida server running on target device
  • ADB access for Android devices
  • Rooted device (for most operations)

Install

cd frida-mcp
uv pip install -e .

Build the Frida agent (required):

cd agent
npm install
npm run build

Add to Claude Code

claude mcp add frida-mcp -- frida-mcp

Tools

Connection & Session Management

ToolDescription
list_devicesList all available Frida devices (USB, remote, local)
list_processesList running processes on a device
list_appsList installed applications on a device
connectAttach to app by bundle ID, name, or PID. Supports spawn=true for fresh launch.
disconnectDisconnect from the current session
is_connectedCheck if Frida session is still alive and healthy
list_sessionsList all active Frida sessions (multi-device support)
switch_sessionSwitch to a different active session by ID

App Lifecycle (ADB-based)

ToolDescription
get_pidGet PID of a running app by package name
launch_appLaunch app via ADB and return its PID
stop_appForce stop an app by package name
spawn_and_attachForce stop, launch fresh, and attach Frida in one step

Memory Operations

ToolDescription
memory_list_modulesList all loaded modules (libraries) in the process
memory_list_exportsList exports (functions) from a specific module
memory_searchSearch process memory for hex pattern or string
memory_readRead memory at a specific address
memory_writeWrite bytes to memory address (for patching)
get_module_baseGet base address of a module by name (partial match)

Android Java Hooking

ToolDescription
android_list_classesList loaded Java classes, optionally filtered
android_list_methodsList methods of a Java class
android_hook_methodHook a Java method to monitor calls
android_search_classesSearch for classes matching a pattern
android_ssl_pinning_disableDisable SSL certificate pinning
android_get_current_activityGet the current foreground activity
dump_classDump all methods, fields, and constructors of a class
heap_searchSearch Java heap for live instances of a class

Persistent Hooks

ToolDescription
install_hookInstall a persistent hook script that collects messages
get_hook_messagesRetrieve collected messages from persistent hooks
clear_hook_messagesClear the hook message buffer
uninstall_hooksUnload all persistent hook scripts
list_hooksList all installed persistent hooks
hook_nativeHook a native function by module+offset

File Operations

ToolDescription
file_lsList files in a directory on the device
file_readRead a text file from the device
file_downloadDownload a file from device to local machine

Custom Scripting

ToolDescription
run_scriptExecute custom Frida JavaScript code
run_javaRun JavaScript within Java.performNow context

Usage Example

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

Notes

  • SELinux is automatically set to permissive mode when connecting (required for Frida injection on many devices)
  • The spawn=true option uses ADB-based launch which is more reliable than Frida's native spawn
  • Multi-session support allows attaching to multiple apps/devices simultaneously

Reviews

No reviews yet

Sign in to write a review