Frida Mobile MCP
Mobile Frida MCP Server - AI-powered mobile app exploration and testing via Frida instrumentation
Connector by monkeywave · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/monkeywave-frida-mobile-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, security-scanning
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 29 read · 24 write · 15 delete
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 68
Read from the source code; the running server may list different tools.
Read 29 · Look things up without changing anything.
adb_logcatanalyze_native_functiondescribe_classdetect_app_technologiesdiscover_cryptoenumerate_exportsenumerate_importsenumerate_modulesenumerate_symbolsfind_secrets_in_memoryfrida_helpfrida_server_status
Show 17 more tools
generate_memory_patternget_device_infoget_frontmost_applicationget_messagesget_statuslist_applicationslist_deviceslist_processeslist_saved_scriptslist_sessionslist_threadsread_memoryresolve_addressscan_memorysearch_classes_and_methodssearch_recipesvalidate_script
Write 24 · Create, change, send or run things.
adb_pullattach_processcapture_tlschild_gatingdetach_sessiondrive_coveragedump_module_memoryeternalize_scriptexplore_appexport_scripthook_functionhook_method
Show 12 more tools
inject_librarymobile_actionmonitor_cryptoresume_processsave_scriptselect_devicespawn_gatingspawn_processtrace_coveragetrace_methodtrigger_and_waitwatch_loads
Delete 15 · Delete, drop, revoke or wipe things.
adb_forwardadb_pushadb_shellbypass_ssl_pinningexecute_scriptfrida_server_installfrida_server_startfrida_server_stopkill_processrun_prebuilt_scriptrun_saved_scriptstop_instrumentation
Show 3 more tools
unhook_functionunload_scriptwrite_memory
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
FRIDA_MCP_HTTP_TOKEN
Other settings (environment variables or headers).
FRIDA_DEVICE_IDFRIDA_MCP_ALLOW_CUSTOM_SCRIPTSFRIDA_MCP_BRIDGES_DIRFRIDA_MCP_COMPILER_PROJECT_DIRFRIDA_MCP_DEBUGFRIDA_MCP_MAX_RESPONSE_CHARSFRIDA_MCP_MEMORY_WRITEFRIDA_MCP_REMOTEFRIDA_MCP_RUNTIMEFRIDA_MCP_SCHEMA_PROFILEFRITAP_AGENT_PATHFRITAP_VERSION
Network hosts it talks to 2
github.com· found in coderaw.githubusercontent.com· found in code
Files it touches
/etc/apt/Library/MobileSubstrate/Library/MobileSubstrate/MobileSubstrate.dylib/private/preboot/procursus/private/var/lib/apt/private/var/stash/proc/tmp/keys.log/usr/lib/libSystem.B.dylib/usr/libexec/cydia/usr/sbin/sshd/var/checkra1n.dmg/var/jb/var/lib/cydia- Your home directory (~)
- Any path the agent passes to its tools
Tools (68)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
adb_forwardadb forwardManage adb port forwards (`adb forward`): add a local->remote forward, remove one, or list them. Use it to reach a frida-server on a non-default device port (e.g. local "tcp:27042" -> remote "tcp:12345").
adb_logcatadb logcatread-onlyDump the last N lines of the Android logcat (one-shot, `adb logcat -t N`), optionally filtered by tag:priority specs, or clear the buffer. Useful for correlating app log output with instrumentation events.
adb_pulladb pullPull a file from an Android device to the host (`adb pull`). Enforces allowedDevices.
adb_pushadb pushcan change or delete dataPush a file from the host to an Android device (`adb push`). Enforces allowedDevices.
adb_shelladb shellcan change or delete dataRun an arbitrary shell command on an Android device via `adb shell`. DISABLED by default: arbitrary command execution must be enabled with allowAdbShell (config) or FRIDA_MCP_ALLOW_ADB_SHELL=1. Enforces allowedDevices.
analyze_native_functionAnalyze Native Functionread-onlyStatic-style analysis of a native function at runtime: function range (Process.findFunctionRange), basic blocks and edges (Frida 17.12+ ControlFlowGraph; falls back to linear disassembly until the first return and says so in `limitations`), and the first instructions. All addresses are reported as absolute and as module+0xoffset for cross-referencing with Ghidra/IDA.
attach_processAttach to ProcessAttach to an already running process by PID or name.
bypass_ssl_pinningBypass SSL Pinningcan change or delete dataOne-click SSL certificate pinning bypass for the target app. Auto-detects platform (Android/iOS) and applies the appropriate bypass techniques. On Android: hooks TrustManager, OkHttp CertificatePinner, and Conscrypt. On iOS: hooks SecTrust, ATS, and BoringSSL verification. Returns which bypass methods were successfully installed.
capture_tlsCapture TLS (friTap)Capture TLS session keys (NSS key log format) and decrypted plaintext from the target using the friTap agent (OpenSSL/BoringSSL, Conscrypt, NSS, GnuTLS, wolfSSL, mbedTLS, Secure Transport, ...). By default the app is spawned suspended, friTap is loaded, then the app is resumed so early handshakes are caught. Key log lines are written to keylog_path (usable with Wireshark tls.keylog_file) and plaintext records are buffered as fritap_datalog messages for get_messages (requires full_capture). Needs the friTap agent bundle: pip install friTap, FRITAP_AGENT_PATH, or allow_download.
child_gatingChild GatingEnable or disable child gating on an existing session. When enabled, processes forked/exec'd by the instrumented process are held so they can be instrumented too (e.g. an app that moves detection into a child process). Requires device-wide spawn gating to catch the held children; list them with spawn_gating action="list".
describe_classDescribe Classread-onlyReturn the full shape of ONE loaded app class so you can pick an exact method overload before hooking. Android: every declared method with parameter types, return type, modifiers and a ready-to-use `signature` (e.g. "encrypt(byte[], java.lang.String)"), constructors (as "$init(...)"), fields, superclass and interfaces; searches all class loaders. iOS: selectors with Objective-C type encodings, superclass and protocols. Pass a returned signature verbatim to hook_method as evidence: {class, signature} to hook exactly that overload. The class must already be loaded; if it is not, use watch_loads …
detach_sessionDetach SessionDetach from a specific Frida session, unloading all scripts.
detect_app_technologiesDetect App Technologiesread-onlyDetect what libraries, frameworks, and security mechanisms an app uses. Returns structured results with recommended script targets. Run this before choosing which pre-built scripts to use.
discover_cryptoDiscover Crypto / Candidate Hook Targetsread-onlyFind where an app actually performs cryptography (or any API family), without assuming javax.crypto. In one pass it enumerates: Java/ObjC classes whose name matches a pattern (across all class loaders), and native export symbols matching the pattern or a known crypto/TLS symbol (EVP_*, SSL_read/write, CCCrypt, RC4, AES_, mbedtls_, ...). Returns ranked candidates — app-owned classes first, then framework classes, then native symbols. Native candidates hook as-is ("module!symbol"); Java/ObjC candidates are CLASSES — pass "Class.method" to hook_method (method names are in the `java` list), or tra…
drive_coverageDrive Coverage (Autonomous UI Loop)Autonomously drive the UI of an already-instrumented session toward uncovered code and stop the moment a signal fires. This arms NOTHING — first arm monitor_crypto and/or trace_coverage, then call drive_coverage to tap through on-screen elements breadth-first, correlating each tap with new hook output (snapshot → tap → wait → delta, like trigger_and_wait in a loop). It stops on the first delta message that matches `stop_on` (default "crypto_event") or looks like a captured key/secret, when coverage stalls for several steps, when no untried elements remain, or at max_steps / the wall-clock cap.…
Show 53 more tools
dump_module_memoryDump Module MemoryDump a loaded module from process memory to a file on the host (e.g. an unpacked/decrypted library). The file is laid out base-relative: file offset 0 is the module base, readable ranges are copied in 1 MiB chunks, unreadable gaps are zero-filled, so it can be imported into Ghidra/IDA as a raw binary at the returned `base`. out_path must be absolute and inside the current directory, the OS temp directory or ~/.config/frida-mobile-mcp/dumps.
enumerate_exportsEnumerate Module Exportsread-onlyList exports (functions and variables) of a specific module, paginated with offset/limit. Hook results with hook_method using "module!name". Addresses are absolute runtime pointers; subtract the module base to get the Ghidra/IDA offset (or use resolve_address with a "module+0xoff" target).
enumerate_importsEnumerate Module Importsread-onlyList imports of a specific module (functions it calls in other libraries), paginated with offset/limit. Each entry carries the providing `module` when known, so "module!name" can be hooked directly. Addresses are absolute runtime pointers; subtract the module base to get the Ghidra/IDA offset (or use resolve_address with a "module+0xoff" target).
enumerate_modulesEnumerate Modulesread-onlyList loaded modules (shared libraries) in the target process with name, base, end (base+size), size and path. Optional case-insensitive regex `filter` matches against name or path. Use base/end to rebase a Ghidra/IDA project; Addresses are absolute runtime pointers; subtract the module base to get the Ghidra/IDA offset (or use resolve_address with a "module+0xoff" target).
enumerate_symbolsEnumerate Module Symbolsread-onlyList symbols (including non-exported/debug symbols) of a specific module. Only available on Linux, Android, iOS and macOS. Filtering (case-insensitive regex on the symbol name) and offset/limit paging happen inside the agent, so large symbol tables stay cheap. Addresses are absolute runtime pointers; subtract the module base to get the Ghidra/IDA offset (or use resolve_address with a "module+0xoff" target).
eternalize_scriptEternalize ScriptMake a loaded script survive session detach: frida pins it in the target so it keeps running after we detach (or the host exits). Trade-off — once eternalized the script can no longer send messages back, be unloaded, or be inspected; it is fire-and-forget persistence. Use it to leave a bypass/monitor running while you free the session. Give the session_id and the script_id returned by hook_method / execute_script / watch_loads.
execute_scriptExecute Custom Frida Scriptcan change or delete dataExecute a custom Frida JavaScript/TypeScript script in a target process (Frida 17 agent). Provide either inline source code or a file path. Three source kinds are supported and detected automatically (override with `source_kind`): classic (non-module) JavaScript, where the `Java` and `ObjC` globals are auto-injected by platform (Java on Android, ObjC on iOS/macOS; override with `bridges`) so legacy Java.perform()/ObjC scripts keep working with their own line numbers; ES modules (import/export, JS or TS) such as `import Java from "frida-java-bridge"`, which are compiled on the host with the Fri…
explore_appExplore Mobile AppLaunch a mobile app and gather comprehensive initial context including loaded classes, modules, and libraries. This is the recommended starting point for any app analysis. The app will be spawned in suspended mode, instrumented, then resumed. Returns: pid, platform, loaded modules, and filtered class list.
export_scriptExport Standalone Frida ScriptTurn a Frida script into a STANDALONE classic .js file that the plain frida / frida-tools 17 CLI can run with `frida -U -f <package> -l file.js`, without this MCP server. The output is a header comment + the frida-mobile-mcp preamble helpers + the script body. Provide exactly one of source (inline) or name (a saved script). It does NOT bundle the Java/ObjC bridges (the Frida 17 CLI injects those) and does NOT emit TypeScript. With out_path the file is written and its path returned; otherwise the text is returned inline. This tool only transforms text, so it does not require allowCustomScripts.
find_secrets_in_memoryFind Secrets in Memory (Content-Aware)read-onlyScan live process memory for the STRUCTURE of secrets, not just names or byte patterns. Finds keys even when you never reached the code that uses them: an RC4 key schedule (256-byte permutation of 0..255, byte[] or Java int[256] — the rc4demo case), an AES key schedule (aeskeyfind-style verification, AES-128/192/256, both encryption AND decryption schedules — and it is MODE-INDEPENDENT: the same expanded key backs CBC/CTR/GCM/XTS), a ChaCha20/XChaCha20 key (located by the exact "expand 32-byte k" sigma constant, key at +16) and Salsa20 state, high-entropy 16/24/32-byte buffers (candidate symme…
frida_helpFrida Helpread-onlyGet help on how to use frida-mobile-mcp tools. Use this to learn about available capabilities, method hooking patterns, address notation, script kinds (classic/esm/bundle), TLS capture and example workflows. Topics: overview, hooking, tracing, memory, scripts, native, tls, mobile, examples, advanced, evasion, script_catalog, script_api, recipes.
frida_server_installInstall frida-servercan change or delete dataPush a local frida-server binary to an Android device and make it executable (adb push + chmod 755). Download and decompress the correct .xz for the device ABI first (frida_server_status gives the asset URL).
frida_server_startStart frida-servercan change or delete dataStart frida-server detached on an Android device (adb shell, daemonized with -D), optionally via su. Supports a custom listen address/port and a renamed binary path for stealth setups, then confirms the server came up.
frida_server_statusfrida-server Statusread-onlyReport whether frida-server is running on an Android device (via adb): its PIDs, the device CPU ABI, the matching frida release arch, and the exact GitHub .xz asset URL to download for the installed frida-node version.
frida_server_stopStop frida-servercan change or delete dataStop frida-server on an Android device by sending a signal to the matching process (adb shell pkill, optionally via su), then report any remaining PIDs.
generate_memory_patternGenerate Memory Pattern (Anchor + Offset)read-onlyTurn a secret you already located (e.g. from find_secrets_in_memory) into a reusable anchor pattern: a stable byte signature near the key plus the offset from it to the key. Reads a small window around the address, then derives a recognizer-aware anchor (ChaCha sigma constant, PEM/DER/JWT header, or the longest stable run adjacent to the key). Returns a scan_memory pattern to re-locate the secret by shape across restarts, plus a friTap offsets entry and an ms_agent anchor to hand to capture_tls. This finds no new secret — give it one you have.
get_device_infoGet Device Inforead-onlyGet detailed information about a device including OS version, architecture, and system parameters.
get_frontmost_applicationGet Frontmost Applicationread-onlyGet the currently foreground application on the device.
get_messagesGet Script Messagesread-onlyRetrieve buffered messages from active scripts and hooks. Messages include hook invocations, trace hits, script output (send() calls), and errors. Use "since" for pagination to get only new messages.
get_statusGet Frida Statusread-onlyGet an overview of connected devices, active sessions (with platform, script count and last activity), hooks, traces, and the most recent session detaches / process crashes (recent_detaches). Use this first to understand what is available before starting any instrumentation work, and after a session is lost to see why.
hook_functionHook Function (Low-Level)Low-level hook with custom onEnter/onLeave JavaScript handlers. For advanced use when hook_method does not provide enough control. Custom handler bodies require allowCustomScripts: true in config; without them the hook sends default enter/leave events. Handler bodies are compiled as functions (new Function) inside the agent: `this` is the Interceptor invocation context (this.context, this.returnAddress, this.threadId, and any fields you set in on_enter are visible in on_leave). Java/ObjC globals are available (auto-injected by platform). A static-analysis finding can be passed as evidence {mod…
hook_methodHook MethodHook a method to intercept calls with auto device/session management. Provide the app target (or a session_id of an existing session) and method pattern. Supports Java methods (Android: "com.example.Class.method"), Objective-C methods (iOS: "-[NSURLSession dataTaskWithRequest:]"), and native functions in any notation: "libssl.so!SSL_read" (module export), "libfoo.so+0x1234" or "libfoo.so+4660" (module-relative offset, as shown by Ghidra/IDA), "0x7f1234567890" (absolute address), or "!open" (global export searched across all modules). Native backtraces are reported as "module+0xoff (symbol)". J…
inject_libraryInject Native LibraryInject a native agent library (.so/.dylib) from the host into a target process via Frida's injector, independent of the JS engine — the parity path for a prebuilt Frida gadget/agent or a custom .so. Runs arbitrary native code in the target, so it needs allowNativeInjection (a capability separate from allowCustomScripts). The library must match the device architecture (arm64-v8a etc.); its optional exported entrypoint is called with the data string. Returns the frida injectee id.
kill_processKill Processcan change or delete dataKill a process on the target device.
list_applicationsList Applicationsread-onlyList installed and running applications on the target device.
list_devicesList Devicesread-onlyEnumerate all Frida-visible devices including local, USB, and remote devices. Equivalent to frida-ls-devices CLI command.
list_processesList Processesread-onlyList running processes on the target device. Equivalent to frida-ps CLI command.
list_saved_scriptsList Saved Frida Scriptsread-onlyList the Frida scripts saved in the local library (~/.config/frida-mobile-mcp/scripts/) with their description, creation time and size. Returns an empty list when nothing has been saved yet. No device is required.
list_sessionsList Sessionsread-onlyList all active Frida sessions managed by this server.
list_threadsList Threadsread-onlyList the threads of the target process (id, name, state, current pc as module+0xoffset). With backtraces: true each thread also gets a symbolised backtrace (up to 8 frames) captured from its register context.
mobile_actionMobile UI ActionGateway to mobile-mcp UI automation tools. Perform screenshots, taps, swipes, text input, app management and more. Common actions: mobile_take_screenshot, mobile_list_elements_on_screen, mobile_click_on_screen_at_coordinates (params: {x, y}), mobile_swipe_on_screen (params: {direction}), mobile_type_keys (params: {text}), mobile_launch_app (params: {appId}), mobile_list_apps. Call without action to see all available actions.
monitor_cryptoMonitor Crypto (Wide-Net Oracle)Cast a wide net over cryptography instead of hooking one method at a time. In a single persistent script it discovers and hooks ALL likely crypto sinks at once — app-owned Java classes whose name matches a crypto pattern (every overload of every declared method), plus the framework sinks that almost every app funnels through: javax.crypto Cipher (doFinal/init/getInstance), Mac, MessageDigest and SecretKeySpec on Android; CommonCrypto (CCCrypt, CCCryptorCreate, CC_SHA256, CC_MD5) on iOS; and native OpenSSL/BoringSSL (EVP_*Update, RC4, AES_set_encrypt_key). Every call dumps its byte[]/String key…
read_memoryRead Process Memoryread-onlyRead raw memory from a target process. Requires an active session. Address in any notation: "0x7fff12345678" (absolute), "libfoo.so+0x1234" or "libfoo.so+4660" (module-relative offset), "libssl.so!SSL_read" (module export), or "!open" / "open" (global export). Max 4MB per read. Returns hex-encoded bytes plus the resolved absolute address and module+offset (rva).
resolve_addressResolve Native Addressread-onlyTranslate between absolute process addresses and static-analysis coordinates. Give "0x7f..." to get module+0xoffset (+ nearest symbol); give "libfoo.so+0x1234" or "libfoo.so!func" to get the absolute runtime address. Use it to hand addresses between Frida and Ghidra/IDA.
resume_processResume ProcessResume a suspended process (after spawn_process).
run_prebuilt_scriptRun Pre-built ScriptRun a pre-built Frida script from the built-in library. Call without script_name to list all available scripts. Available scripts include: ssl_pinning_bypass, root_jailbreak_bypass, class_enumeration, method_hook, crypto_monitor, network_inspector, keychain_prefs, filesystem_monitor, anti_frida_evasion.
run_saved_scriptRun Saved Frida Scriptcan change or delete dataLoad a script previously saved with save_script into a target process. Resolves (or reuses) a session the same way execute_script does and runs the stored source as a custom agent: classic JavaScript gets the Java/ObjC bridges injected by platform, ES modules are compiled with the Frida Compiler, and frida-compile bundles are loaded as-is. Provide a target (app id, process name or PID) or an existing session_id. Requires allowCustomScripts to be enabled in config.
save_scriptSave Frida ScriptSave a Frida script to the local library (~/.config/frida-mobile-mcp/scripts/) so it can be re-run later with run_saved_script or shared with export_script. Stores the raw source as <name>.js plus a <name>.json metadata file (sha256, size, created timestamp, description). Names are restricted to letters, digits, underscores and hyphens. Refuses to overwrite an existing script unless overwrite is true. Requires allowCustomScripts to be enabled in config.
scan_memoryScan Process Memoryread-onlyScan process memory for a byte pattern. Pattern format: "48 89 5c 24 ?? 57" where ?? is a wildcard. Optionally limit scan to a specific module.
search_classes_and_methodsSearch Classes and Methodsread-onlySearch for classes and their methods by pattern in a running app. Combines class enumeration and method listing. Use regex patterns like "Login", "com\.example\.auth.*", or "NSURLSession". Returns matching classes with their methods when include_methods is true.
search_recipesSearch Recipe Libraryread-onlySearch the purpose-indexed library of ready-to-run classic-JS Frida recipes (custom Java crypto-key capture, standard javax.crypto key/IV, native export hook, JNI RegisterNatives discovery, custom-classloader enumeration, intent/deeplink trace, WebView bridge, iOS Keychain). Returns ranked recipes with their classic-JS source and usage notes; adapt the source and run it with execute_script. An empty query lists the whole library.
select_deviceSelect DeviceExplicitly select the active Frida device for subsequent operations.
spawn_gatingSpawn GatingEnable, disable, or list device-wide spawn gating. When enabled, every newly spawned process (including app-launched child/isolated processes that often run RASP/anti-Frida checks) is held suspended until released. Use "list" to see pending spawns and children, then attach_process + hook_method, and resume_process to release each by PID.
spawn_processSpawn ProcessSpawn a new process in suspended state for early instrumentation. The process will be paused until resume_process is called.
stop_instrumentationStop Instrumentationcan change or delete dataClean up all hooks, scripts, and traces on a target. The "undo everything" tool. Detaches the Frida session and frees all resources. Use when you are done analyzing an app or want to start fresh.
trace_coverageTrace Coverage (Reachability Map)Arm a broad set of cheap entry-hooks over a target set and track which have been REACHED (covered) vs which are still COLD — the reachability signal for a drive loop. Unlike trace_method (time-boxed, logs every call), this is persistent and entry-only: it answers "what code have I NOT exercised yet, so where should I keep driving?". Scope can be a single class (all its methods), a class/package glob ("com.example.*"), a native module glob ("libfoo.so!*"), or an ObjC pattern ("-[MyClass *]"). Workflow: arm it, then alternate trigger_and_wait (drive the UI) with trace_coverage {report_only:true}…
trace_methodTrace Method CallsTrace function calls matching a pattern for a specified duration. Simplified frida-trace equivalent. Supports glob patterns like "com.example.network.*" for Java, "-[NSURL*]" for ObjC, and "libssl.so!SSL_*" for native. Returns all captured invocations after the duration expires.
trigger_and_waitTrigger and Wait for InstrumentationCorrelate a UI action with instrumentation output in one round-trip: optionally perform a mobile_action (tap/launch/type) on the session's device, then block until at least `expect_messages` new messages/hook hits arrive (or timeout). Returns exactly the messages the trigger produced and which hooks fired. This is how you confirm "this tap ran the hooked code" — or learn "nothing fired, the hypothesis is wrong" — instead of tapping blindly and polling get_messages. Install hooks first (hook_method / discover_crypto → hook_method), then trigger_and_wait.
unhook_functionUnhook FunctionRemove a specific hook by its hook ID.
unload_scriptUnload Scriptcan change or delete dataUnload a single script (hook, trace or custom script) from a session while keeping the session attached. Use the script_id returned by hook_method, trace_method, execute_script or run_prebuilt_script. Hooks and traces that belong to the script are removed from the server state. Use stop_instrumentation to tear down a whole session instead.
validate_scriptValidate Frida Scriptread-onlyCheck a Frida script for syntax, type and Frida 17 API problems without a device. Use it before execute_script. Classic (non-module) scripts get a JavaScript syntax check plus a lint for APIs removed in Frida 17 (static Module/Memory helpers, *Sync enumerators); referencing them throws at runtime, so they make the result not ok. ES module scripts (import/export) are compiled with the Frida Compiler: strict (default) runs a full TypeScript type check; plain JavaScript is only syntax-checked unless language is "ts". frida-compile bundles (source starting with the 📦 marker) are accepted as-is. P…
watch_loadsWatch Late Loads and Anti-Instrumentation SignalsInstall a persistent watcher that reports what the app does AFTER attach, straight into the session message buffer. Three signal families, each toggleable: (1) native libraries (.so) loaded late (dlopen/android_dlopen_ext), observed via Frida's loader module-load notifications — no dlopen hook, so it will not destabilize the target — meaning a library that only appears after a UI action is still seen; (2) Java classes loaded late via ClassLoader.loadClass (Android only; the Java.available guard makes it a no-op elsewhere); (3) anti-instrumentation / anti-debug reads of canonical /proc location…
write_memoryWrite Process Memorycan change or delete dataWrite raw bytes to process memory. DISABLED by default for safety - enable via config (memoryWriteEnabled: true). Provide hex-encoded data. Address in any notation: "0x7fff12345678" (absolute), "libfoo.so+0x1234" or "libfoo.so+4660" (module-relative offset), "libssl.so!SSL_read" (module export), or "!open" / "open" (global export).
Signals
- Stars
- 15
- Forks
- 2
- Open issues
- 0
- Last commit
- Oct 23, 2026 (7 days ago)
- Last release
- Oct 23, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.monkeywave/frida-mobile-mcp- Version
- 0.6.0
- Auth
- API key
- Packages
- npm frida-mobile-mcp
- License
- MIT
- Repository
- github.com/monkeywave/frida-mobile-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Frida Mobile MCP. Agent Mart. https://agentmart.dev/connectors/monkeywave-frida-mobile-mcp (last updated 2026-10-24)