Skip to main content
Glama

Super Trouper

An MCP server for the Frida reverse engineering toolkit.

Super Trouper runs an MCP server over STDIO that exposes Frida capabilities as tools for coding agents. It can connect to local, USB, and remote devices; inspect applications and processes; manage process sessions; and load, evaluate, and exchange messages with JavaScript instrumentation scripts. It can also search Frida CodeShare to discover community scripts and fetch them for use with the scripting tools. Device connections, sessions, and scripts are managed through the tools themselves and referenced by opaque handles.

Features

  • Single Go binary — no Python, Node, or Frida CLI tooling required on your host

  • Powered by Frida 17.x — statically linked against Frida Core DevKit v17.22.1

  • Full device support — list and connect to local, USB, and remote devices, attach to apps and processes

  • TypeScript and JavaScript instrumentation — create and load Frida scripts, evaluate directly in a target

  • Frida CodeShare integration — search, browse, and fetch the CodeShare catalog of community scripts

  • Runs anywhere — prebuilt binaries for macOS and Linux, install via Docker, Homebrew, or npm

Related MCP server: Frida MCP Server

Install

Homebrew

Install the macOS release through the project’s Homebrew tap:

brew install --cask crissyfield/tap/super-trouper

npm

Install the launcher package through npm. It pulls in the platform-specific binary via optional dependencies:

npm install -g @crissyfield/super-trouper

Release Binary

Download a binary for your platform from the Releases page.

From Source

Install a Frida Core DevKit matching your build host first. Then build and install Super Trouper with the following commands:

# Set flags if the Frida devkit is not in a standard location
export CGO_CFLAGS="-I/path/to/frida-core-devkit/include"
export CGO_LDFLAGS="-L/path/to/frida-core-devkit/lib"

# Build and install
export CGO_ENABLED=1
go install github.com/crissyfield/super-trouper@latest

Usage

Use the MCP server in your coding agent. Claude Code is the example below, but configuration is similar in Codex, OpenCode, Pi, Crush, and others.

Using the Binary

If the Super Trouper binary is not in your PATH, specify the full path in your MCP server configuration.

{
  "mcpServers": {
    "super-trouper": {
      "command": "super-trouper"
    }
  }
}

Using npx

npm users can run Super Trouper directly through npx without a global installation:

{
  "mcpServers": {
    "super-trouper": {
      "command": "npx",
      "args": ["-y", "@crissyfield/super-trouper"]
    }
  }
}

Using Docker

Docker is a convenient way to run Super Trouper without installing it on your host.

{
  "mcpServers": {
    "super-trouper": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/crissyfield/super-trouper"]
    }
  }
}

MCP Tools

Super Trouper exposes the following MCP tools:

Tool

Description

app_list

Lists the applications installed on a Frida device.

app_find

Finds an application on a Frida device by identifier or name.

app_frontmost

Returns the frontmost application on a Frida device.

codeshare_search

Searches Frida CodeShare for projects matching the given query.

codeshare_popular

Lists the most popular projects on Frida CodeShare.

codeshare_project

Returns a project from Frida CodeShare, including its JavaScript source, which can be run with the other scripting tools.

device_list

Lists the Frida devices detected by the host.

device_connect

Connects to a Frida device by ID reported by device_list, by a remote Frida server address, or by type. Returns a device handle used by the other device tools; reconnecting to the same device returns the existing handle.

device_disconnect

Disconnects from a Frida device. Fails while the device still has attached sessions.

device_params

Returns the parameters of a Frida device.

device_spawn

Spawns a process on a Frida device in a suspended state. Use device_resume to start it.

device_resume

Resumes a suspended process on a Frida device.

device_kill

Kills a process on a Frida device.

memory_read

Reads up to 4096 bytes of memory in an attached process and returns it as hex, base64, UTF-8, or a NUL-terminated C string. Fails if any byte of the range cannot be read.

memory_write

Writes up to 4096 bytes of memory in an attached process as hex (default) or base64, selected with the encoding parameter. Fails if memory cannot be written; patching code is out of scope.

module_list

Lists the modules loaded in an attached process. Results can be matched by name or path and paginated.

package_install

Installs an npm package in the shared Frida workspace for import from script_create source.

package_list

Lists direct npm packages installed in Super Trouper's shared Frida workspace.

process_list

Lists the processes running on a Frida device.

script_create

Creates a Frida script with TypeScript source in an attached session. The script is created unloaded; use script_load to load it.

script_load

Loads a Frida script into its target process.

script_unload

Unloads a Frida script from its target process.

script_close

Unloads a Frida script if loaded and releases its resources.

script_post

Posts a JSON message to a Frida script.

script_messages

Returns messages sent by a Frida script. Messages are buffered (up to 256) and should be drained regularly.

script_bridge_list

Returns the language bridges that can be exposed as globals in scripts created with script_create.

session_attach

Attaches to a process on a Frida device by PID or name. Returns a session handle used by the session tools.

session_detach

Detaches from a process, closing all of its scripts and its session.

session_eval

Evaluates a JavaScript statement in an attached process and returns its JSON result. The first call sets up a persistent evaluator in the session.

frida_version

Returns the version of the linked Frida Core library.

frida_documentation

Returns documentation links for the Frida JavaScript API.

thread_list

Lists the threads running in an attached process with their ID, state, and program counter.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    Not graded
    maintenance
    Enables AI systems to interact with mobile and desktop applications through Frida's dynamic instrumentation capabilities. Provides process management, device control, JavaScript REPL execution, and script injection for runtime analysis and reverse engineering.
    14
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables dynamic instrumentation of running processes through Frida, allowing users to hook functions, inspect memory, modify process behavior, and execute JavaScript code for debugging and reverse engineering.
    3
    -
  • F
    license
    A
    quality
    C
    maintenance
    Enables dynamic instrumentation of processes by attaching Frida, loading JavaScript scripts, calling RPC methods, and retrieving script output through MCP.
    6
    2
    -
  • A
    license
    C
    quality
    C
    maintenance
    A Frida MCP server for authorized dynamic analysis and application security research, exposing device/session management, script injection, process and memory inspection, and platform-specific workflows.
    100
    3
    MIT