Mobile Frida MCP Server - AI-powered mobile app exploration and testing via Frida instrumentation
Connect Runs on your machine
claude mcp add frida-mobile-mcp -e FRIDA_DEVICE_ID=<FRIDA_DEVICE_ID> -e FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS=<FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS> -e FRIDA_MCP_MEMORY_WRITE=<FRIDA_MCP_MEMORY_WRITE> -e FRIDA_MCP_ALLOW_NATIVE_INJECTION=<FRIDA_MCP_ALLOW_NATIVE_INJECTION> -e FRIDA_MCP_ALLOW_ADB_SHELL=<FRIDA_MCP_ALLOW_ADB_SHELL> -e FRIDA_MCP_SNAPSHOTS=<FRIDA_MCP_SNAPSHOTS> -e FRIDA_MCP_EVIDENCE=<FRIDA_MCP_EVIDENCE> -e FRIDA_MCP_EVIDENCE_PATH=<FRIDA_MCP_EVIDENCE_PATH> -e FRIDA_MCP_EVIDENCE_MAX_MB=<FRIDA_MCP_EVIDENCE_MAX_MB> -e FRIDA_MCP_REMOTE=<FRIDA_MCP_REMOTE> -e FRIDA_MCP_REMOTE_TOKEN=<FRIDA_MCP_REMOTE_TOKEN> -e FRIDA_MCP_REMOTE_CERT=<FRIDA_MCP_REMOTE_CERT> -e FRIDA_MCP_SCHEMA_PROFILE=<FRIDA_MCP_SCHEMA_PROFILE> -e FRIDA_MCP_TOOL_PROFILE=<FRIDA_MCP_TOOL_PROFILE> -e FRIDA_MCP_TOOLS_EXCLUDE=<FRIDA_MCP_TOOLS_EXCLUDE> -e FRIDA_MCP_MAX_RESPONSE_CHARS=<FRIDA_MCP_MAX_RESPONSE_CHARS> -e FRIDA_MCP_HTTP_TOKEN=<FRIDA_MCP_HTTP_TOKEN> -e FRIDA_MCP_RUNTIME=<FRIDA_MCP_RUNTIME> -e FRIDA_MCP_DEBUG=<FRIDA_MCP_DEBUG> -e FRIDA_MCP_BRIDGES_DIR=<FRIDA_MCP_BRIDGES_DIR> -e FRIDA_MCP_COMPILER_PROJECT_DIR=<FRIDA_MCP_COMPILER_PROJECT_DIR> -e FRITAP_AGENT_PATH=<FRITAP_AGENT_PATH> -e FRITAP_VERSION=<FRITAP_VERSION> -e FRITAP_AGENT_SHA256=<FRITAP_AGENT_SHA256> -- npx -y [email protected]
{
"mcpServers": {
"frida-mobile-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"FRIDA_DEVICE_ID": "<FRIDA_DEVICE_ID>",
"FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS": "<FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS>",
"FRIDA_MCP_MEMORY_WRITE": "<FRIDA_MCP_MEMORY_WRITE>",
"FRIDA_MCP_ALLOW_NATIVE_INJECTION": "<FRIDA_MCP_ALLOW_NATIVE_INJECTION>",
"FRIDA_MCP_ALLOW_ADB_SHELL": "<FRIDA_MCP_ALLOW_ADB_SHELL>",
"FRIDA_MCP_SNAPSHOTS": "<FRIDA_MCP_SNAPSHOTS>",
"FRIDA_MCP_EVIDENCE": "<FRIDA_MCP_EVIDENCE>",
"FRIDA_MCP_EVIDENCE_PATH": "<FRIDA_MCP_EVIDENCE_PATH>",
"FRIDA_MCP_EVIDENCE_MAX_MB": "<FRIDA_MCP_EVIDENCE_MAX_MB>",
"FRIDA_MCP_REMOTE": "<FRIDA_MCP_REMOTE>",
"FRIDA_MCP_REMOTE_TOKEN": "<FRIDA_MCP_REMOTE_TOKEN>",
"FRIDA_MCP_REMOTE_CERT": "<FRIDA_MCP_REMOTE_CERT>",
"FRIDA_MCP_SCHEMA_PROFILE": "<FRIDA_MCP_SCHEMA_PROFILE>",
"FRIDA_MCP_TOOL_PROFILE": "<FRIDA_MCP_TOOL_PROFILE>",
"FRIDA_MCP_TOOLS_EXCLUDE": "<FRIDA_MCP_TOOLS_EXCLUDE>",
"FRIDA_MCP_MAX_RESPONSE_CHARS": "<FRIDA_MCP_MAX_RESPONSE_CHARS>",
"FRIDA_MCP_HTTP_TOKEN": "<FRIDA_MCP_HTTP_TOKEN>",
"FRIDA_MCP_RUNTIME": "<FRIDA_MCP_RUNTIME>",
"FRIDA_MCP_DEBUG": "<FRIDA_MCP_DEBUG>",
"FRIDA_MCP_BRIDGES_DIR": "<FRIDA_MCP_BRIDGES_DIR>",
"FRIDA_MCP_COMPILER_PROJECT_DIR": "<FRIDA_MCP_COMPILER_PROJECT_DIR>",
"FRITAP_AGENT_PATH": "<FRITAP_AGENT_PATH>",
"FRITAP_VERSION": "<FRITAP_VERSION>",
"FRITAP_AGENT_SHA256": "<FRITAP_AGENT_SHA256>"
}
}
}
}
{
"mcpServers": {
"frida-mobile-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"FRIDA_DEVICE_ID": "<FRIDA_DEVICE_ID>",
"FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS": "<FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS>",
"FRIDA_MCP_MEMORY_WRITE": "<FRIDA_MCP_MEMORY_WRITE>",
"FRIDA_MCP_ALLOW_NATIVE_INJECTION": "<FRIDA_MCP_ALLOW_NATIVE_INJECTION>",
"FRIDA_MCP_ALLOW_ADB_SHELL": "<FRIDA_MCP_ALLOW_ADB_SHELL>",
"FRIDA_MCP_SNAPSHOTS": "<FRIDA_MCP_SNAPSHOTS>",
"FRIDA_MCP_EVIDENCE": "<FRIDA_MCP_EVIDENCE>",
"FRIDA_MCP_EVIDENCE_PATH": "<FRIDA_MCP_EVIDENCE_PATH>",
"FRIDA_MCP_EVIDENCE_MAX_MB": "<FRIDA_MCP_EVIDENCE_MAX_MB>",
"FRIDA_MCP_REMOTE": "<FRIDA_MCP_REMOTE>",
"FRIDA_MCP_REMOTE_TOKEN": "<FRIDA_MCP_REMOTE_TOKEN>",
"FRIDA_MCP_REMOTE_CERT": "<FRIDA_MCP_REMOTE_CERT>",
"FRIDA_MCP_SCHEMA_PROFILE": "<FRIDA_MCP_SCHEMA_PROFILE>",
"FRIDA_MCP_TOOL_PROFILE": "<FRIDA_MCP_TOOL_PROFILE>",
"FRIDA_MCP_TOOLS_EXCLUDE": "<FRIDA_MCP_TOOLS_EXCLUDE>",
"FRIDA_MCP_MAX_RESPONSE_CHARS": "<FRIDA_MCP_MAX_RESPONSE_CHARS>",
"FRIDA_MCP_HTTP_TOKEN": "<FRIDA_MCP_HTTP_TOKEN>",
"FRIDA_MCP_RUNTIME": "<FRIDA_MCP_RUNTIME>",
"FRIDA_MCP_DEBUG": "<FRIDA_MCP_DEBUG>",
"FRIDA_MCP_BRIDGES_DIR": "<FRIDA_MCP_BRIDGES_DIR>",
"FRIDA_MCP_COMPILER_PROJECT_DIR": "<FRIDA_MCP_COMPILER_PROJECT_DIR>",
"FRITAP_AGENT_PATH": "<FRITAP_AGENT_PATH>",
"FRITAP_VERSION": "<FRITAP_VERSION>",
"FRITAP_AGENT_SHA256": "<FRITAP_AGENT_SHA256>"
}
}
}
}
{
"servers": {
"frida-mobile-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"FRIDA_DEVICE_ID": "<FRIDA_DEVICE_ID>",
"FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS": "<FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS>",
"FRIDA_MCP_MEMORY_WRITE": "<FRIDA_MCP_MEMORY_WRITE>",
"FRIDA_MCP_ALLOW_NATIVE_INJECTION": "<FRIDA_MCP_ALLOW_NATIVE_INJECTION>",
"FRIDA_MCP_ALLOW_ADB_SHELL": "<FRIDA_MCP_ALLOW_ADB_SHELL>",
"FRIDA_MCP_SNAPSHOTS": "<FRIDA_MCP_SNAPSHOTS>",
"FRIDA_MCP_EVIDENCE": "<FRIDA_MCP_EVIDENCE>",
"FRIDA_MCP_EVIDENCE_PATH": "<FRIDA_MCP_EVIDENCE_PATH>",
"FRIDA_MCP_EVIDENCE_MAX_MB": "<FRIDA_MCP_EVIDENCE_MAX_MB>",
"FRIDA_MCP_REMOTE": "<FRIDA_MCP_REMOTE>",
"FRIDA_MCP_REMOTE_TOKEN": "<FRIDA_MCP_REMOTE_TOKEN>",
"FRIDA_MCP_REMOTE_CERT": "<FRIDA_MCP_REMOTE_CERT>",
"FRIDA_MCP_SCHEMA_PROFILE": "<FRIDA_MCP_SCHEMA_PROFILE>",
"FRIDA_MCP_TOOL_PROFILE": "<FRIDA_MCP_TOOL_PROFILE>",
"FRIDA_MCP_TOOLS_EXCLUDE": "<FRIDA_MCP_TOOLS_EXCLUDE>",
"FRIDA_MCP_MAX_RESPONSE_CHARS": "<FRIDA_MCP_MAX_RESPONSE_CHARS>",
"FRIDA_MCP_HTTP_TOKEN": "<FRIDA_MCP_HTTP_TOKEN>",
"FRIDA_MCP_RUNTIME": "<FRIDA_MCP_RUNTIME>",
"FRIDA_MCP_DEBUG": "<FRIDA_MCP_DEBUG>",
"FRIDA_MCP_BRIDGES_DIR": "<FRIDA_MCP_BRIDGES_DIR>",
"FRIDA_MCP_COMPILER_PROJECT_DIR": "<FRIDA_MCP_COMPILER_PROJECT_DIR>",
"FRITAP_AGENT_PATH": "<FRITAP_AGENT_PATH>",
"FRITAP_VERSION": "<FRITAP_VERSION>",
"FRITAP_AGENT_SHA256": "<FRITAP_AGENT_SHA256>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
FRIDA_DEVICE_IDOptional | Default Frida device ID to use (e.g. emulator-5554 or a USB serial). Can also be set with --device. |
FRIDA_MCP_ALLOW_CUSTOM_SCRIPTSOptional | Set to "1" to enable execution of custom Frida scripts (execute_script and custom hook_function handlers). Disabled by default. |
FRIDA_MCP_MEMORY_WRITEOptional | Set to "1" to enable the write_memory tool. Disabled by default for safety. |
FRIDA_MCP_ALLOW_NATIVE_INJECTIONOptional | Set to "1" to enable the inject_library tool (loads a native .so/.dylib into the target via Frida's injector). Disabled by default. |
FRIDA_MCP_ALLOW_ADB_SHELLOptional | Set to "1" to enable the adb_shell tool (arbitrary shell commands on an Android device via adb). Disabled by default. |
FRIDA_MCP_SNAPSHOTSOptional | Set to "1" to use V8 script-runtime snapshots to speed up repeated script loads (requires FRIDA_MCP_RUNTIME=v8). Disabled by default. |
FRIDA_MCP_EVIDENCEOptional | Set to "0" to stop persisting every tool result (params, status, structured result) to the evidence store; "1" forces it on. Enabled by default. |
FRIDA_MCP_EVIDENCE_PATHOptional | Directory of the evidence store (records at <path>/YYYY-MM-DD/<evidence_id>.json plus index.jsonl, mode 0600). Defaults to ~/.config/frida-mobile-mcp/evidence. |
FRIDA_MCP_EVIDENCE_MAX_MBOptional | Size cap of the evidence store in MB; oldest records are pruned beyond it. Defaults to 200. |
FRIDA_MCP_REMOTEOptional | host[:port] of a remote frida-server to add as a remote device at startup (port defaults to 27042). |
FRIDA_MCP_REMOTE_TOKENOptional, secret | Auth token of the remote frida-server in FRIDA_MCP_REMOTE (frida-server --token). |
FRIDA_MCP_REMOTE_CERTOptional | Path to the PEM certificate of a TLS remote frida-server in FRIDA_MCP_REMOTE (frida-server --certificate). |
FRIDA_MCP_SCHEMA_PROFILEOptional | Tool schema profile. "compact" shortens tool schemas and descriptions for clients with small context windows. |
FRIDA_MCP_TOOL_PROFILEOptional | Tool exposure profile. "core" registers only 32 core tools to keep the tool catalog small next to other MCP servers. |
FRIDA_MCP_TOOLS_EXCLUDEOptional | Comma-separated tool-name globs that are never registered, e.g. "adb_*,frida_server_*". |
FRIDA_MCP_MAX_RESPONSE_CHARSOptional | Maximum number of characters in a single tool response; longer output is truncated. |
FRIDA_MCP_HTTP_TOKENOptional, secret | Bearer token required by HTTP clients. Only used with --transport http (required when --host is not loopback); unused for the default stdio transport. |
FRIDA_MCP_RUNTIMEOptional | Frida script runtime to use for injected agents. |
FRIDA_MCP_DEBUGOptional | Set to "1" to enable debug logging on stderr. Can also be set with --debug. |
FRIDA_MCP_BRIDGES_DIROptional | Directory with prebuilt Java/ObjC bridge bundles (defaults to dist/bridges inside the package) |
FRIDA_MCP_COMPILER_PROJECT_DIROptional | Cache directory for the frida.Compiler project used to compile ES module scripts |
FRITAP_AGENT_PATHOptional | Path to a friTap fritap_agent.js bundle for capture_tls (otherwise the installed friTap Python package or a pinned download is used) |
FRITAP_VERSIONOptional | friTap release tag to download when no local agent is found (default v2.6.5) |
FRITAP_AGENT_SHA256Optional | Bare sha256 of the downloaded friTap agent for the selected FRITAP_VERSION tag. v2.6.5 is pinned in the package; set this for other tags. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 12 Nov 2026 |
| Last updated | 12 Nov 2026 |
| Registry name | io.github.monkeywave/frida-mobile-mcp |
More developer tools servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
