NestDaddy

Frida Mobile MCP

io.github.monkeywave/frida-mobile-mcp ยท v0.7.3

Mobile Frida MCP Server - AI-powered mobile app exploration and testing via Frida instrumentation

Connect Runs on your machine

Terminal
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]
claude_desktop_config.json
{
  "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>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "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>"
      }
    }
  }
}
.vscode/mcp.json
{
  "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

NameDescription
FRIDA_DEVICE_ID
Optional
Default Frida device ID to use (e.g. emulator-5554 or a USB serial). Can also be set with --device.
FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS
Optional
Set to "1" to enable execution of custom Frida scripts (execute_script and custom hook_function handlers). Disabled by default.
FRIDA_MCP_MEMORY_WRITE
Optional
Set to "1" to enable the write_memory tool. Disabled by default for safety.
FRIDA_MCP_ALLOW_NATIVE_INJECTION
Optional
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_SHELL
Optional
Set to "1" to enable the adb_shell tool (arbitrary shell commands on an Android device via adb). Disabled by default.
FRIDA_MCP_SNAPSHOTS
Optional
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_EVIDENCE
Optional
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_PATH
Optional
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_MB
Optional
Size cap of the evidence store in MB; oldest records are pruned beyond it. Defaults to 200.
FRIDA_MCP_REMOTE
Optional
host[:port] of a remote frida-server to add as a remote device at startup (port defaults to 27042).
FRIDA_MCP_REMOTE_TOKEN
Optional, secret
Auth token of the remote frida-server in FRIDA_MCP_REMOTE (frida-server --token).
FRIDA_MCP_REMOTE_CERT
Optional
Path to the PEM certificate of a TLS remote frida-server in FRIDA_MCP_REMOTE (frida-server --certificate).
FRIDA_MCP_SCHEMA_PROFILE
Optional
Tool schema profile. "compact" shortens tool schemas and descriptions for clients with small context windows.
FRIDA_MCP_TOOL_PROFILE
Optional
Tool exposure profile. "core" registers only 32 core tools to keep the tool catalog small next to other MCP servers.
FRIDA_MCP_TOOLS_EXCLUDE
Optional
Comma-separated tool-name globs that are never registered, e.g. "adb_*,frida_server_*".
FRIDA_MCP_MAX_RESPONSE_CHARS
Optional
Maximum number of characters in a single tool response; longer output is truncated.
FRIDA_MCP_HTTP_TOKEN
Optional, 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_RUNTIME
Optional
Frida script runtime to use for injected agents.
FRIDA_MCP_DEBUG
Optional
Set to "1" to enable debug logging on stderr. Can also be set with --debug.
FRIDA_MCP_BRIDGES_DIR
Optional
Directory with prebuilt Java/ObjC bridge bundles (defaults to dist/bridges inside the package)
FRIDA_MCP_COMPILER_PROJECT_DIR
Optional
Cache directory for the frida.Compiler project used to compile ES module scripts
FRITAP_AGENT_PATH
Optional
Path to a friTap fritap_agent.js bundle for capture_tls (otherwise the installed friTap Python package or a pinned download is used)
FRITAP_VERSION
Optional
friTap release tag to download when no local agent is found (default v2.6.5)
FRITAP_AGENT_SHA256
Optional
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 published12 Nov 2026
Last updated12 Nov 2026
Registry nameio.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.