Skip to content
VS Code

Frida Mobile MCP for VS Code

io.github.monkeywave/frida-mobile-mcp

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

client:VS Code transport:stdio runtime:npm

Install Frida Mobile MCP in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "frida-device-id",
      "description": "FRIDA_DEVICE_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-allow-custom-scripts",
      "description": "FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-memory-write",
      "description": "FRIDA_MCP_MEMORY_WRITE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-allow-native-injection",
      "description": "FRIDA_MCP_ALLOW_NATIVE_INJECTION",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-allow-adb-shell",
      "description": "FRIDA_MCP_ALLOW_ADB_SHELL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-snapshots",
      "description": "FRIDA_MCP_SNAPSHOTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-evidence",
      "description": "FRIDA_MCP_EVIDENCE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-evidence-path",
      "description": "FRIDA_MCP_EVIDENCE_PATH",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-evidence-max-mb",
      "description": "FRIDA_MCP_EVIDENCE_MAX_MB",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-remote",
      "description": "FRIDA_MCP_REMOTE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-remote-token",
      "description": "FRIDA_MCP_REMOTE_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-remote-cert",
      "description": "FRIDA_MCP_REMOTE_CERT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-schema-profile",
      "description": "FRIDA_MCP_SCHEMA_PROFILE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-tool-profile",
      "description": "FRIDA_MCP_TOOL_PROFILE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-tools-exclude",
      "description": "FRIDA_MCP_TOOLS_EXCLUDE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-max-response-chars",
      "description": "FRIDA_MCP_MAX_RESPONSE_CHARS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-http-token",
      "description": "FRIDA_MCP_HTTP_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-runtime",
      "description": "FRIDA_MCP_RUNTIME",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-debug",
      "description": "FRIDA_MCP_DEBUG",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-bridges-dir",
      "description": "FRIDA_MCP_BRIDGES_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "frida-mcp-compiler-project-dir",
      "description": "FRIDA_MCP_COMPILER_PROJECT_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "fritap-agent-path",
      "description": "FRITAP_AGENT_PATH",
      "password": true
    },
    {
      "type": "promptString",
      "id": "fritap-version",
      "description": "FRITAP_VERSION",
      "password": true
    },
    {
      "type": "promptString",
      "id": "fritap-agent-sha256",
      "description": "FRITAP_AGENT_SHA256",
      "password": true
    }
  ],
  "servers": {
    "frida-mobile-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "frida-mobile-mcp"
      ],
      "env": {
        "FRIDA_DEVICE_ID": "${input:frida-device-id}",
        "FRIDA_MCP_ALLOW_CUSTOM_SCRIPTS": "${input:frida-mcp-allow-custom-scripts}",
        "FRIDA_MCP_MEMORY_WRITE": "${input:frida-mcp-memory-write}",
        "FRIDA_MCP_ALLOW_NATIVE_INJECTION": "${input:frida-mcp-allow-native-injection}",
        "FRIDA_MCP_ALLOW_ADB_SHELL": "${input:frida-mcp-allow-adb-shell}",
        "FRIDA_MCP_SNAPSHOTS": "${input:frida-mcp-snapshots}",
        "FRIDA_MCP_EVIDENCE": "${input:frida-mcp-evidence}",
        "FRIDA_MCP_EVIDENCE_PATH": "${input:frida-mcp-evidence-path}",
        "FRIDA_MCP_EVIDENCE_MAX_MB": "${input:frida-mcp-evidence-max-mb}",
        "FRIDA_MCP_REMOTE": "${input:frida-mcp-remote}",
        "FRIDA_MCP_REMOTE_TOKEN": "${input:frida-mcp-remote-token}",
        "FRIDA_MCP_REMOTE_CERT": "${input:frida-mcp-remote-cert}",
        "FRIDA_MCP_SCHEMA_PROFILE": "${input:frida-mcp-schema-profile}",
        "FRIDA_MCP_TOOL_PROFILE": "${input:frida-mcp-tool-profile}",
        "FRIDA_MCP_TOOLS_EXCLUDE": "${input:frida-mcp-tools-exclude}",
        "FRIDA_MCP_MAX_RESPONSE_CHARS": "${input:frida-mcp-max-response-chars}",
        "FRIDA_MCP_HTTP_TOKEN": "${input:frida-mcp-http-token}",
        "FRIDA_MCP_RUNTIME": "${input:frida-mcp-runtime}",
        "FRIDA_MCP_DEBUG": "${input:frida-mcp-debug}",
        "FRIDA_MCP_BRIDGES_DIR": "${input:frida-mcp-bridges-dir}",
        "FRIDA_MCP_COMPILER_PROJECT_DIR": "${input:frida-mcp-compiler-project-dir}",
        "FRITAP_AGENT_PATH": "${input:fritap-agent-path}",
        "FRITAP_VERSION": "${input:fritap-version}",
        "FRITAP_AGENT_SHA256": "${input:fritap-agent-sha256}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

Frida Mobile MCP in other clients