mcpField
S
super-trouper

super-trouper

ローカル
github.com/crissyfieldセキュリティ621 週間前に更新

super-trouper について

Super Trouperは、コーディングエージェントにFridaによるアプリやプロセスの調査・計測機能を提供するMCPサーバーです。MCPツールでデバイス接続、セッション、スクリプトを管理し、Frida CodeShareの検索にも対応します。

主な機能

  1. 01ローカル・USB・リモートデバイスへの接続
  2. 02アプリ・プロセス・モジュール・スレッドの調査
  3. 03プロセスへのアタッチとセッション管理
  4. 04JavaScriptまたはTypeScriptスクリプトの作成と実行
  5. 05対象プロセスのメモリ読み書き
  6. 06Frida CodeShareスクリプトの検索と取得

活用シーン

  1. 01Fridaデバイス上のアプリを調査
  2. 02JavaScriptスクリプトでプロセスを計測
  3. 03実行中のスクリプトとメッセージを交換
  4. 04対象向けのコミュニティスクリプトを検索

MCP 対応

STDIOでMCPサーバーを実行し、Fridaのデバイス、プロセス、セッション、メモリ、スクリプト機能をツールとして公開します。Frida CodeShareプロジェクトの検索・取得ツールも提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"crissyfield-super-trouper": {
"command": "npx",
"args": [
"-y",
"@crissyfield/super-trouper"
]
}
}
}
起動コマンドnpx -y @crissyfield/super-trouper

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@crissyfield/super-trouper0.5.1

ツール

30

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
namestringいいえ検索するアプリケーションの名前
devicestringはい検索対象のデバイスハンドル
identifierstringいいえ検索するアプリケーションのバンドル識別子

詳細

super-trouper のロゴ

Super Trouper

Frida リバースエンジニアリングツールキット用の MCP サーバーです。

Super Trouper は、コーディングエージェント向けのツールとして Frida の機能を公開する MCP サーバーを STDIO 経由で実行します。ローカル、USB、リモートのデバイスに接続し、アプリケーションやプロセスを調査し、プロセスセッションを管理できます。また、JavaScript の計装スクリプトを読み込み、評価し、メッセージをやり取りできます。Frida CodeShare を検索して、コミュニティのスクリプトを見つけ、スクリプト用ツールで使用するために取得することもできます。デバイス接続、セッション、スクリプトはツール自体を通じて管理し、不透明なハンドルで参照します。

super-trouper

機能

  • 単一の Go バイナリ — ホストに Python、Node、Frida CLI ツールをインストールする必要はありません
  • Frida 17.x を搭載 — Frida Core DevKit v17.23.3 に静的リンクされています
  • あらゆるデバイスに対応 — ローカル、USB、リモートのデバイスを一覧表示して接続し、アプリやプロセスにアタッチできます
  • TypeScript と JavaScript の計装 — Frida スクリプトを作成して読み込み、ターゲット内で直接評価できます
  • Frida CodeShare との統合 — コミュニティスクリプトの CodeShare カタログを検索、閲覧、取得できます
  • どこでも実行可能 — macOS と Linux 向けのビルド済みバイナリがあり、Docker、Homebrew、npm 経由でインストールできます

インストール

Homebrew

プロジェクトの Homebrew tap 経由で macOS 版をインストールします。

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

npm 経由でランチャーパッケージをインストールします。オプションの依存関係を通じて、プラットフォーム固有のバイナリが取得されます。

npm install -g @crissyfield/super-trouper
リリースバイナリ

お使いのプラットフォーム用のバイナリをリリースページ からダウンロードします。

ソースからのビルド

まず、ビルドホストに適合する Frida Core DevKit をインストールします。その後、以下のコマンドで Super Trouper をビルドしてインストールします。

# 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

使い方

コーディングエージェントで MCP サーバーを使用します。以下では Claude Code を例にしていますが、Codex、OpenCode、Pi、Crush などでも設定方法は同様です。

バイナリを使用する場合

Super Trouper バイナリが PATH にない場合は、MCP サーバーの設定でフルパスを指定します。

{
  "mcpServers": {
    "super-trouper": {
      "command": "super-trouper"
    }
  }
}
npx を使用する場合

npm ユーザーは、グローバルインストールせずに npx 経由で Super Trouper を直接実行できます。

{
  "mcpServers": {
    "super-trouper": {
      "command": "npx",
      "args": ["-y", "@crissyfield/super-trouper"]
    }
  }
}
Docker を使用する場合

Docker を使えば、ホストにインストールせずに Super Trouper を簡単に実行できます。

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

MCP ツール

Super Trouper は、以下の MCP ツールを公開します。

ツール説明
app_listFrida デバイスにインストールされているアプリケーションの一覧を表示します。
app_find識別子または名前を指定して、Frida デバイス上のアプリケーションを検索します。
app_frontmostFrida デバイスで最前面に表示されているアプリケーションを返します。
codeshare_searchFrida CodeShare で、指定したクエリに一致するプロジェクトを検索します。
codeshare_popularFrida CodeShare の人気プロジェクトの一覧を表示します。
codeshare_projectFrida CodeShare から、他のスクリプトツールで実行できる JavaScript ソースを含むプロジェクトを返します。
device_listホストが検出した Frida デバイスの一覧を表示します。
device_connectdevice_list が報告した ID、リモート Frida サーバーのアドレス、または種類を指定して Frida デバイスに接続します。他のデバイスツールで使用するデバイスハンドルを返します。同じデバイスに再接続すると、既存のハンドルが返されます。
device_disconnectFrida デバイスとの接続を解除します。デバイスにアタッチされたセッションが残っている場合は失敗します。
device_paramsFrida デバイスのパラメーターを返します。
device_spawnFrida デバイス上でプロセスを一時停止状態で起動します。起動するには device_resume を使用します。
device_resumeFrida デバイス上の一時停止中のプロセスを再開します。
device_killプロセスを終了します。
memory_readアタッチされたプロセスのメモリを最大 4096 バイト読み取り、16 進数、base64、UTF-8、または NUL 終端の C 文字列として返します。範囲内のいずれかのバイトを読み取れない場合は失敗します。
memory_writeエンコーディングパラメーターで選択した形式(デフォルトは 16 進数、または base64)で、アタッチされたプロセスのメモリに最大 4096 バイトを書き込みます。メモリに書き込めない場合は失敗します。コードのパッチ適用は対象外です。
module_listアタッチされたプロセスにロードされているモジュールの一覧を表示します。名前またはパスで照合でき、ページネーションにも対応しています。
package_installscript_create のソースからインポートするために、共有 Frida ワークスペースに npm パッケージをインストールします。
package_listSuper Trouper の共有 Frida ワークスペースにインストールされている直接依存の npm パッケージの一覧を表示します。
pattern_create.hexpat または .pat ソースファイルから、管理対象の Frida Pattern プロジェクトを作成します。
pattern_read管理対象の Frida Pattern プロジェクトからソースファイルを返します。
pattern_list管理対象の Frida Pattern プロジェクトの一覧を表示します。
pattern_delete管理対象の Frida Pattern プロジェクトを削除します。
pattern_describeアタッチされたターゲット用に Pattern プロジェクトをコンパイルし、診断情報、型、入力を返します。
pattern_decode管理対象の Frida Pattern プロジェクトを使用して、範囲を限定したターゲットメモリのスナップショットを読み取り、デコードします。
process_listFrida デバイス上で実行中のプロセスの一覧を表示します。
script_createアタッチされたセッションで TypeScript ソースを使用する Frida スクリプトを作成します。スクリプトは未ロードの状態で作成されます。ロードするには script_load を使用します。
script_loadFrida スクリプトを対象プロセスにロードします。
script_unload対象プロセスから Frida スクリプトをアンロードします。
script_closeFrida スクリプトがロード済みの場合はアンロードし、そのリソースを解放します。
script_postFrida スクリプトに JSON メッセージを送信します。
script_messagesFrida スクリプトから送信されたメッセージを返します。メッセージは最大 256 件バッファーされるため、定期的に取り出してください。
script_bridge_listscript_create で作成したスクリプト内でグローバルとして公開できる言語ブリッジの一覧を返します。
session_attachPID または名前を指定して、Frida デバイス上のプロセスにアタッチします。セッションツールで使用するセッションハンドルを返します。
session_detachプロセスからデタッチし、そのすべてのスクリプトとセッションを終了します。
session_evalアタッチされたプロセス内で JavaScript 文を評価し、その JSON 結果を返します。最初の呼び出し時に、セッション内に永続的な評価器をセットアップします。
frida_versionリンクされた Frida Core ライブラリのバージョンを返します。
frida_documentationFrida JavaScript API のドキュメントリンクを返します。
thread_listアタッチされたプロセスで実行中のスレッドについて、ID、状態、プログラムカウンターとともに一覧を表示します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。