mcpField
C
Coin Scout

Coin Scout

ローカル
github.com/dennisyilmaz金融データ01 週間前に更新

Coin Scout について

Coin Scoutは、ウォレットやトークンの分析、不正調査、資金追跡に使う読み取り専用のSolanaフォレンジックMCPサーバーです。Heliusを利用したデータツールに、再利用可能なローカル案件ファイルと証拠付きレポートを組み合わせています。

主な機能

  1. 01ウォレット分析とトークンリスク評価
  2. 02複数ホップやブリッジをまたぐ資金追跡
  3. 03ウォッシュトレードとウォレットクラスターの検出
  4. 04ウォレット損益と取引相手の分析
  5. 05調査内容の保存とレポート出力
  6. 06読み取り専用のRPC・DASアクセス

活用シーン

  1. 01盗難の疑いがある資金を追跡
  2. 02トークンリスクと不審な取引を評価
  3. 03ウォレットを比較して共通管理の可能性を調査
  4. 04調査結果を案件レポートとして保存

MCP 対応

stdioまたはStreamable HTTP経由で、Solana分析、データアクセス、案件管理ツールをMCPクライアントに提供します。読み取り専用で、ブロックチェーンデータの取得にHeliusを使用します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbcoin-scout.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

coin-scout:AI エージェント向け Solana フォレンジック

AI エージェントに Solana フォレンジックラボを提供しましょう。

盗まれた資金を複数のホップやブリッジをまたいで追跡し、同一の運用者が管理するウォレットクラスターを特定し、トークンのラグリスクをスクリーニングできます。Claude や任意のMCP クライアントとのチャットから直接利用できます。読み取り専用で、Helius を利用しています。

CI 最新リリース OpenSSF Scorecard MIT ライセンス

インストール · できること · 仕組み · ツール · プライバシー

エージェントが coin-scout に BONK がラグリスクかどうかを尋ねています。analyze_token はリスク 5/100 を返します。ミント権限と凍結権限は放棄済み、上位保有者は 9.5%、上位 10 保有者は 39%を保有し、メタデータはまだ変更可能です。

2026年11月5日に BONK で実行した実際の analyze_token の結果です。

## できること
  • 資金の流れを追跡します。 trace_funds は送金を順方向または逆方向に最大5ホップまで追跡し、移動した時点の各送金をUSDで評価します。Wormhole、deBridge、Mayan、Circle CCTPを経由する際には追跡を止め、資金が到着したチェーンとアドレスを知らせます。followEvm を指定すると、EVM側でも追跡を続けます。
  • 送金先を特定します。 OKXが署名したプルーフ・オブ・リザーブのメッセージでそれぞれが検証済みの16,050個のOKXウォレットが組み込まれています。追跡は取引所のウォレットで停止し、その手前のアドレスを入金アドレスの可能性が高いものとしてマークするため、どの取引所に問い合わせるべきかが分かります。
  • 偽の取引量を検出します。 detect_wash_trading はトークンのプールから直接取引を読み込み、自分自身と取引するウォレット、同一スロット内での往復取引、1つのウォレットから資金提供を受けるボット群にフラグを立てます。
  • 運営者を特定します。 find_cluster は手数料の支払者、共同署名者、レンタル料の送金先、共通の資金提供元、同一スロット内のアクティビティを分析し、1人の行為者が管理するウォレットを、各関連付けの根拠となる署名とともに明らかにします。
  • 購入前にリスクを確認します。 analyze_token はMint権限とFreeze権限、メタデータの変更可能性、保有者の集中度を確認し、プールやその他のプログラム管理下の保有者と、実際の大口保有者を見分けます。
  • 誰が利益を得たかを確認します。 wallet_pnl はスワップをすべて発生時点の価格で評価し、ウォレットが購入していないトークンの売却にフラグを立てます。
  • 調査資料を作成します。 追跡結果やクラスターをケースファイルに保存し、確信度と証拠を添えてアドレスにラベルを付け、資金フロー図を含むMarkdownレポートをエクスポートできます。
  • 資金に触れることはありません。 キーも署名も不要です。生のRPCツールが転送するのは読み取りメソッドだけなので、sendTransaction、requestAirdrop などがネットワークに送信されることはありません。書き込まれるのはローカルのケースファイルだけです。

次のように質問してみてください。

  • 「ウォレット <address> をプロファイリングして。資金提供元や資金の流れ、不審な点はある?」
  • 「<mint> はラグのリスクがある?実際に供給量を保有しているのは誰?」
  • 「<address> からの資金を3ホップまで追跡して、ケース exchange-hack に保存してからレポートをエクスポートして」
  • 「この4つのウォレットは同一人物のもの?」
  • 「<wallet> は <mint> で利益を得た?無料でトークンを送ったのは誰?」
  • 「<mint> の取引量は本物?それともボット同士の取引?」

インストール

Helius APIキー(無料プランで利用できます)とNode.js 22.19以降が必要です。coin-scoutはstdioとStreamable HTTPで2026-07-28版のMCP仕様に対応しつつ、2025年版のクライアントにも引き続き対応しています。また、公式MCP Registryには io.github.dennisyilmaz/coin-scout として登録されています。

Claude Desktopおよびその他のMCPBクライアント

coin-scout.mcpbをダウンロード

ダウンロードした coin-scout.mcpb をクライアントで開き、求められたらHelius APIキーを貼り付けてください。キーはバンドルではなく、クライアントに保存されます。

Claude Code
curl -LO https://github.com/dennisyilmaz/coin-scout/releases/latest/download/coin-scout.mjs
node coin-scout.mjs

この単一ファイルだけでサーバー全体が構成されています。対話形式で実行するとHeliusキーを尋ね、ファイルを ~/.coin-scout/ にコピーし、ユーザースコープで claude mcp add を使って登録します。Claude Codeを再起動すると、ツールを利用できるようになります。

ソースから任意のMCPクライアントにインストール
git clone https://github.com/dennisyilmaz/coin-scout.git && cd coin-scout
npm ci && npm run build
{
  "mcpServers": {
    "coin-scout": {
      "command": "node",
      "args": ["/absolute/path/to/coin-scout/build/index.js"],
      "env": { "HELIUS_API_KEY": "your-key" }
    }
  }
}

stdioの代わりにStreamable HTTPを使うには、node build/http.js を実行します。127.0.0.1:8787 のみで待ち受け、外部からの Host ヘッダーを拒否します。また、トランスポートのメトリクスを含む GET /health を提供します。

ダウンロードを検証する

すべてのリリースは、署名付きビルド来歴を用いてGitHub Actionsでビルドされ、SHA256SUMS ファイルとCycloneDX SBOM(coin-scout.cdx.json)が同梱されています。

gh attestation verify coin-scout.mjs --repo dennisyilmaz/coin-scout

仕組み

AI エージェントが coin-scout のツールを呼び出します。coin-scout は RPC 呼び出しをまとめてペース調整とキャッシュを行い、Helius、DefiLlama、ブリッジ API にクエリします

Helius は HTTP リクエスト単位ではなく、RPC 呼び出し単位で課金とレート制限を行うため、単純に並列処理を増やしても 429 エラーが増えるだけです。トランスポート層は、これを踏まえて構築されています。

  • JSON-RPC のマイクロバッチ処理。 4 ms のウィンドウ内に発行された呼び出しをまとめ、1 つの HTTP リクエストにします。getTransaction を 50 回呼び出すファンアウトでの測定結果は、HTTP リクエストが 50 回から 8 回に減り、実時間で 2.2 倍高速でした。
  • バッチサイズの適応的な調整。 429 エラーが返されたバッチは半分にし、未回答の呼び出しは失敗扱いにせず再キューイングします。成功が続くとサイズは元に戻ります。実測では API は 20 件のバッチを受け付けますが、50 件は拒否します。
  • コストを考慮した適応型レート制限。 リクエスト間隔はリクエスト内の呼び出し数に応じて調整されるため、20 件のバッチは 20 件分の呼び出しに相当する間隔を設けます。429 エラーのたびに同時実行数を半減し、間隔を 2 倍にした後、徐々に元に戻します。server_metrics で収束したレートを確認できます。
  • undici プールを使用した HTTP/2 と Keep-Alive により、呼び出しごとの TLS ハンドシェイクをなくします。
  • 2 階層の TTL キャッシュと実行中リクエストの集約。 確定済みのトランザクションとブロックは数時間、残高は数秒間キャッシュします。同一の呼び出しが同時に発生した場合は、1 つの Promise を共有します。
  • 必要最小限のペイロード。 ツールはノードの生レスポンスではなく、コンパクトな JSON ドキュメントを 1 つ返します。エージェントのレイテンシに最も大きく影響するのはミリ秒ではなくトークン数です。

ツール

分析(複合分析。まずはこちらから)
ツールわかること
analyze_walletポートフォリオの価値、保有資産、ウォレットの使用期間、入出金の流れ、主要な取引相手、最初の資金提供者、リスクフラグ
analyze_tokenラグプルのスクリーニング:ミント/凍結権限の状態、メタデータの変更可能性、供給量、FDV、保有者の集中度(上位1/上位10/HHI)。プールや、プログラムによって管理されているその他の保有者にはフラグが付きます。リスクスコアは0~100です
trace_funds最大5ホップの幅優先探索による資金フローグラフ(順方向または逆方向)。各ノードと、各送金時点の米ドル換算額を付けた重み付きエッジ、取引所や入金アドレスのラベル付き終端シンク、循環する資金フローを表示します。ブリッジで追跡を停止し、資金の移動先を報告します。followEvm はEVM上の移動先をさらに2ホップ追跡します
follow_bridgeWormhole、deBridge、Mayan、Circle CCTPを経由してSolanaから流出、またはSolanaに流入した資金を追跡します。別のチェーン、受取人、金額、移動先チェーンのトランザクションを表示します。署名を指定するか、スキャン対象のアドレスを指定します
trace_evmEthereum、Base、Arbitrum、BNB Chain、およびその他9つのEVMチェーン上の資金フローを追跡します。ネイティブトークンとERC-20の送金を各送金時点の米ドル換算額で表示し、コントラクトとラベル付きアドレスで追跡を停止します
identify_addressesアドレスの背後にいる人物や組織を特定します。組み込みの取引所ウォレット、プランに含まれている場合はHeliusのID情報、ケースとプログラムのラベル、入金アドレスの確認結果を表示します。各ラベルには出典と確信度が付与されます
detect_wash_tradingトークンの最も取引量の多いプールを基に、ウォッシュトレードのスコアを算出します。相殺取引を行うウォレット、同一スロット内の取引と短時間での往復取引、取引量の集中度、単一のウォレットから資金提供を受けたトレーダーを検出します。不審なトレーダーにはサンプル署名が付属します
find_cluster1つのウォレットから、同じ管理下にある可能性の高いウォレットを特定します。手数料支払者、共同署名者、レンタル料の送金先、共通または単独の資金提供者、同一スロット内のアクティビティ、作成時刻を調べます。署名の証拠を添えてスコアを算出します
wallet_pnlスワップ時の価格に基づき、トークンごとの実現損益と未実現損益を算出します。一度も購入していないトークンの売却にフラグを付けます。また、1つのミントを指定した場合は、誰がそのトークンを無償で送付したかを表示します
find_counterpartiesウォレットが取引したすべてのアドレスを、順位付けし、取引の方向とミントごとの取引量に分けて表示します
compare_wallets2~10個のウォレットを対象に、シビル攻撃/共同所有を調べます。直接的なつながり、共通の資金提供者、取引相手のJaccard類似度、0~100のリンク強度を表示します
investigate_transaction1つの署名を対象に、詳細解析、各アカウントの残高変動(取引時点の米ドル換算額付き)、関係するすべてのミントのラグプルスクリーニング、手数料支払者のプロファイルを表示します
ケースファイル
ツール機能
case_updateケースを作成するか、要約、アドレスラベル(確信度と証拠となる署名付き)、日付付きのメモを追加します
case_readケースの一覧表示、個別ケースの閲覧、または調査を始める前にすべてのケースからアドレスを検索します
case_exportMermaid図を含む report.md と、保存されたトレースまたはクラスターごとの単独で使用できるSVG資金フロー図を書き出します

trace_funds、find_cluster、または follow_bridge に case: "<name>" を渡すと、結果をそのケースに保存できます。どのケースのラベルも、すべてのツールの label フィールドに表示されるため、後続の調査に以前の結果を活用できます。ケースは ~/.coin-scout/cases/<name>/ にプレーンなJSON形式で保存されます。

case_exportの資金フロー図:攻撃を受けたボールトから1,240 SOLがドレイナーウォレットに送られ、そこから取引所の入金先と、Wormhole経由でEthereumに渡る経路に分割されています

coin-scout独自のレンダラーで描画した case_export の図です。図中のデータは説明用です。

### データアクセス
ツール基盤
chain_statusgetEpochInfo + getPriorityFeeEstimate
get_balancesネイティブ残高と USD 価格を含む DAS getAssetsByOwner
get_accountプログラム名を付与した getMultipleAccounts(jsonParsed)
get_transactionsHelius Enhanced Transactions:人が読みやすい形式のタイプ、送信元、送金、スワップイベント
get_transaction_rawログ、内部命令、計算ユニットを含む getTransaction
get_transfersgetTransfersByAddress:サーバー側での相手先/方向/ミント/時間によるフィルタリング、各送金時点の USD 価格も指定可能
get_transaction_historygetTransactionsForAddress:スロット、時間、ステータスによるフィルタリングとカーソルページング
get_swapsSWAP でフィルタリングした拡張履歴を、売却/購入した資産の組とミントごとの純額サマリーに正規化
get_token_holdersDAS getTokenAccounts
get_assets / search_assets / get_asset_activityDAS の全機能(NFT、cNFT、代替可能トークン、Token-2022)
solana_rpc読み取り専用の RPC と DAS メソッド用の代替手段:get*、is*、search*、minimumLedgerSlot、simulateTransaction
server_metricsバッチ圧縮、キャッシュヒット率、適応型レート制限の状態
プロンプト

investigate_address、screen_token、trace_stolen_funds:それぞれ調査の手順を定義しています。

設定

API キー以外はすべて任意です。.env.example を参照してください。

変数デフォルト用途
HELIUS_API_KEY—必須
ETHERSCAN_API_KEY—任意。設定すると、trace_evm と followEvm で Etherscan のプランが対応するすべてのチェーンを読み取れます。設定しない場合は、Blockscout 経由で Ethereum のみを利用できます
HELIUS_NETWORKmainnetmainnet または devnet
HELIUS_RPC_HOST<network>.helius-rpc.comRPC ホストを上書きします
HELIUS_MAX_CONCURRENCY24同時実行中の HTTP リクエスト数の上限
HELIUS_CONNECTIONS64undici のプールサイズ
HELIUS_MAX_BATCH_SIZE20JSON-RPC バッチ処理の上限
HELIUS_BATCH_WINDOW_MS4リクエストをまとめる時間枠
HELIUS_HTTP2true無効にすると HTTP/1.1 を強制します
HELIUS_TIMEOUT_MS30000リクエストごとのタイムアウト
HELIUS_MAX_RETRIES6単一リクエスト(バッチ処理ではない)の再試行回数
HELIUS_CACHE_ENTRIES20000LRU 容量
COIN_SCOUT_MAX_TRACE_NODES400trace_funds のグラフサイズのハード上限
COIN_SCOUT_MAX_PAGES20ページネーションループのハード上限
COIN_SCOUT_CASES_DIR~/.coin-scout/casesケースファイルの保存先
COIN_SCOUT_ENV_FILE./.env、次にサーバーファイルの1つ上のディレクトリ.env のパスを明示的に指定します
PORT8787HTTP エントリーポイント専用

データとプライバシー

すべての処理はお使いのマシン上で実行されます。外部に送信される情報:

  • Helius は、クエリ対象のアドレス、署名、ミント、および API キーを受け取ります。
  • DefiLlama は、usdAtTime 価格の取得に使用するミントアドレスとタイムスタンプを受け取ります。
  • WormholeScan、deBridge、Mayan、Circle は、ブリッジ間の移動が解決される際にトランザクション署名を受け取ります。
  • DexScreener は、detect_wash_trading がトークンのプールを検索する際にミントアドレスを受け取ります。
  • EVM チェーン上で資金を追跡する際、Blockscout、または ETHERSCAN_API_KEY が設定されている場合は Etherscan が EVM アドレスを受け取ります。

API キーを受け取るのは Helius と Etherscan のみで、それぞれ自社の API キーだけです。ケースファイルはケースディレクトリ内に保存されます。

精度に関する注意事項

  • 分析ツールは直近の履歴をサンプリングします。結果に truncated または sampleTruncated が含まれる場合、件数は下限値です。より広範囲を調べるには transferSample を増やしてください。
  • 現在の USD 値は Helius の価格情報、usdAtTime の値は DefiLlama の過去の価格情報に基づいています。どちらも活発に取引されているトークンのみが対象です。価格がない場合は、不明であり、ゼロではありません。
  • wallet_pnl が把握できるのは、サンプル内のスワップで確認できる内容のみです。転送によって届いたトークンやサンプルより前に届いたトークンには取得原価がないため、売却分は実現損益ではなく unmatchedProceedsUsd として報告されます。
  • find_cluster は、起点から資金提供者を1つさかのぼって調べます。さらに調べるには、有力なメンバーを起点に再度実行してください。
  • ブリッジの解決は、Wormhole、deBridge、Mayan、Circle CCTP に対応しています。deBridge と CCTP は送出方向のみ追跡できます。サーバーが認識しないチェーンは、生のチェーン ID で表示されます。
  • 組み込みの取引所ラベルは、2026年11月1日時点の OKX のプルーフ・オブ・リザーブのスナップショットに基づき、scripts/okx-labels.ts で再生成されています。入金アドレスとホットウォレットのラベルはスイープのパターンから推定され、その旨が confidence と source に記載されています。
  • detect_wash_trading はプールへのトークン転送とプールからのトークン転送を読み取るため、流動性の追加と解除も取引としてカウントされます。また、ほかのプログラムアカウントを経由したボリュームは routedVolume として別途報告されます。同一スロットでの売買も、サンドイッチボットや裁定取引ボットによく見られる動きです。
  • analyze_token は最大1000個のトークンアカウントをスキャンします。holderAccountsExact は、保有者数が実際の合計か下限値かを示します。所有者がプログラムまたはプログラム派生アドレスである保有者には isProgramOwned のフラグが付与されます。集中度の数値には引き続き含まれ、保有供給量は programControlledPct で示されます。
  • リスクフラグとスコアは、優先順位付けのためのヒューリスティックです。適切なトランザクションに調査の目を向けるためのものであり、最終判断ではありません。

コントリビューションとセキュリティ

開発環境のセットアップと CI で実行されるチェックについては、CONTRIBUTING.md を参照してください。脆弱性は SECURITY.md の説明に従って非公開で報告してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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