Super Trouper

io.github.crissyfieldPublished by GitHub account crissyfieldv0.5.1Updated Oct 24, 2026

MCP server for the Frida reverse engineering toolkit.

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

MCP server for the Frida reverse engineering toolkit, letting an assistant inspect devices, processes and memory and run instrumentation scripts.

What you can do
  • List and connect to local, USB and remote Frida devices, and spawn, resume or kill processes
  • List, find and inspect applications, processes, modules and threads on a device
  • Attach to processes and create, load, unload and message TypeScript/JavaScript instrumentation scripts
  • Read and write small memory ranges and evaluate JavaScript inside an attached process
  • Search, browse and fetch community scripts from Frida CodeShare
  • Manage Frida Pattern projects, install npm packages into a shared workspace, and look up Frida version and API docs
When to use it
Useful for reverse engineering, dynamic analysis and debugging work where an assistant should drive Frida on a local, USB-connected or remote target, including pulling community instrumentation scripts and inspecting live process state.
Requirements
Runs as a local stdio process; install via npm package @crissyfield/super-trouper (npx), Homebrew cask, Docker image, or a release binary. Prebuilt binaries for macOS and Linux; building from source needs a Frida Core DevKit. No accounts, API keys or environment variables are declared. Network access is needed for CodeShare lookups and npm package installs.
Before you install
It attaches to and modifies live processes: memory_write changes target memory, device_kill terminates processes, and scripts run arbitrary code inside targets. It can connect to remote Frida servers and fetch third-party CodeShare scripts and npm packages, which execute in the target. Use only on systems and applications you are authorized to analyze.

Installation

In SourceWeft

  1. Open Super Trouper in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[super-trouper logo]
[Build status] [npm version] [Go Reference] [MCP Rush score]

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.

[super-trouper]

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.23.3
  • 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

Install

Homebrew

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

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

npm

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

sh
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:

sh
# Set flags if the Frida devkit is not in a standard locationexport CGO_CFLAGS="-I/path/to/frida-core-devkit/include"export CGO_LDFLAGS="-L/path/to/frida-core-devkit/lib"
# Build and installexport CGO_ENABLED=1go 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.

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

Using npx

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

json
{  "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.

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

MCP Tools

Super Trouper exposes the following MCP tools:

ToolDescription
app_listLists the applications installed on a Frida device.
app_findFinds an application on a Frida device by identifier or name.
app_frontmostReturns the frontmost application on a Frida device.
codeshare_searchSearches Frida CodeShare for projects matching the given query.
codeshare_popularLists the most popular projects on Frida CodeShare.
codeshare_projectReturns a project from Frida CodeShare, including its JavaScript source, which can be run with the other scripting tools.
device_listLists the Frida devices detected by the host.
device_connectConnects 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_disconnectDisconnects from a Frida device. Fails while the device still has attached sessions.
device_paramsReturns the parameters of a Frida device.
device_spawnSpawns a process on a Frida device in a suspended state. Use device_resume to start it.
device_resumeResumes a suspended process on a Frida device.
device_killKills a process on a Frida device.
memory_readReads 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_writeWrites 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_listLists the modules loaded in an attached process. Results can be matched by name or path and paginated.
package_installInstalls an npm package in the shared Frida workspace for import from script_create source.
package_listLists direct npm packages installed in Super Trouper's shared Frida workspace.
pattern_createCreates a managed Frida Pattern project from .hexpat or .pat source files.
pattern_readReturns a source file from a managed Frida Pattern project.
pattern_listLists managed Frida Pattern projects.
pattern_deleteDeletes a managed Frida Pattern project.
pattern_describeCompiles a Pattern project for an attached target and returns diagnostics, types, and inputs.
pattern_decodeReads and decodes a bounded target-memory snapshot with a managed Frida Pattern project.
process_listLists the processes running on a Frida device.
script_createCreates a Frida script with TypeScript source in an attached session. The script is created unloaded; use script_load to load it.
script_loadLoads a Frida script into its target process.
script_unloadUnloads a Frida script from its target process.
script_closeUnloads a Frida script if loaded and releases its resources.
script_postPosts a JSON message to a Frida script.
script_messagesReturns messages sent by a Frida script. Messages are buffered (up to 256) and should be drained regularly.
script_bridge_listReturns the language bridges that can be exposed as globals in scripts created with script_create.
session_attachAttaches to a process on a Frida device by PID or name. Returns a session handle used by the session tools.
session_detachDetaches from a process, closing all of its scripts and its session.
session_evalEvaluates a JavaScript statement in an attached process and returns its JSON result. The first call sets up a persistent evaluator in the session.
frida_versionReturns the version of the linked Frida Core library.
frida_documentationReturns documentation links for the Frida JavaScript API.
thread_listLists the threads running in an attached process with their ID, state, and program counter.

Source: README.md at commit d6dc245

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the server did not start.

Version history

4
  1. v0.5.1LatestOct 21, 2026
  2. v0.5.0Oct 15, 2026
  3. v0.4.0Sep 27, 2026
  4. v0.3.0Sep 18, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts