Skip to main content
Glama

trippy-mcp

コーディングエージェントにInjectiveでの取引をさせましょう。trippy-mcp は、Claude Code、Codex、Cursor(任意のMCPクライアント)に接続する stdio MCP サーバーであり、以下のツールを提供します:

  • トークンを発行 SHROOM Padで(ボンディングカーブ → Choice CLMMプールに卒業)

  • ボンディングカーブトークンの取引(買い/売り/見積もり、オンチェーン正確な見積もり)

  • 任意のInjectiveトークンをスワップ Choiceアグリゲーションルーター経由(AMM + CLMM + オーダーブックのスマートオーダールーティング)

  • エージェントIDを持つ:エージェントからの取引はTrippy TerminalでAGENTバッジを取得し、オプションでプロフィールにリンクできます

設計上、非カストディアルです。 init はあなたのマシン上で新しいキーを生成します。サーバーがそれを目にすることは決してありません。エージェントウォレットは、メインウォレットから資金を供給する予算制限付きのバーナーウォレットです。メインキーは決して使われません。

Quickstart

npx trippy-mcp init      # generate the agent wallet, pick a name, register,
                         # and wire up every coding agent found on this machine
# then fund the printed address with a small INJ budget

そしてエージェントに話しかけるだけです:「shroom padで何がトレンド?トップのもので0.5 INJの買い見積もりをして」 — または 「このロゴで...という名前のトークンを発行して」。

init はあなたの代わりにMCPエントリを書き込みます。後でさらにクライアントを追加したり、リポジトリに接続するには:

trippy-mcp connect --client claude,codex,cursor,windsurf   # or --client all
trippy-mcp connect --scope project                         # writes ./.mcp.json
trippy-mcp connect --print                                 # just show the snippets

書き込みはマージしてからリネームし、.trippy-bak コピーを残すため、~/.claude.json(またはCodex TOML、コメントなどすべて)の他の部分は影響を受けません。キーストアのパスフレーズはユーザースコープのファイルにのみ埋め込まれ、chmod 0600 になります。プロジェクト設定はgitにコミットされるため、メモとともに除外されます。

Related MCP server: seashail

Security model

キーがマシンから出ることはなく、誤動作(またはプロンプトインジェクション)したモデルから資金を守るために、4つの独立したレイヤーが存在します:

  1. 予算制限付きバーナー — ウォレットにはあなたが送ったものだけが保持されます。メインウォレットは決して触れられません。

  2. 署名者内のポリシーエンジン(ツール内でもモデル内でもない):トランザクションあたりのUSD上限、ローリング24時間予算、スリッページ上限、および厳格なコントラクト許可リスト(LaunchpadCore、そのクォートアセット、Choiceアグリゲーター、クレームドロップコントラクト — それ以外はなし)。~/.trippy-mcp/config.json で設定されます。変更は人間の操作です。

  3. スイープは一方通行でホームへ — sweep は宛先を取りません。資金は init で設定した所有者アドレスにのみ送られます。エアドロップは例外で、指定していないアドレスに価値を送るため、独自の上限(airdropCapUsd、取引上限とは別)を持ち、USD評価をスキップすることは許されず、生の条件ではなくプレビューされたプランIDが必要です。

  4. 信頼できないデータの規律 — トークン名や説明は攻撃者が制御するインターネットテキストです。ツールはそれらをサニタイズし、untrusted_metadata の下に隔離するため、エージェントはそれらをデータとして扱い、指示としては扱いません。

さらに:デフォルトで暗号化されたキーストア(scrypt + AES-256-GCM)、追記のみの監査ログ(~/.trippy-mcp/audit.log)、dryRun モード、および tradingEnabled キルスイッチ。export-key は存在しますが、警告を発します。

Tools

Tool

What it does

explain

プロトコルの仕組み — カーブのメカニズム、クォートアセットの選択、すべての手数料/割引/ゲート、Choiceルーティングの落とし穴、エージェント自身のポリシー。すべての数値は呼び出し時にチェーンから読み取られるため、リリース間でドキュメントが古くなることはありません

search_tokens / token_info

任意のトークンを解決・検査(カーブ状態、卒業進捗、このローンチの独自の手数料/ゲート条件、Choice市場データ)

trending / new_launches / recent_trades

発見 + テープ

candles

OHLCV価格履歴を columns ヘッダーの下のCSV行として — カーブローンチ(クォート価格 + バケットごとのUSDレート)またはChoice市場(USD価格)

my_activity

両方の会場でのエージェント自身の履歴:カーブ取引 + Choiceスワップ、オーダーブック約定、ウィンドウフロー損益

quote

買い/売りのプレビュー — カーブとChoiceを自動ルーティング

buy / sell

実行 — SHROOM Padでのカーブ取引、それ以外はChoiceアグリゲーター経由

create_token

ボンディングカーブでローンチ(画像アップロード → IPFS、約0.2 INJの作成手数料、オプションの初回購入)

claim_fees

クリエイター手数料、紹介手数料、キャンセルされたローンチの返金(最初に読み取り、ゼロ以外のみ請求)

wallet_status / sweep

残高 + ポリシー予算;資金をホームに送る

portfolio

すべての保有をUSDで評価(クォートレートフィード / 最後のカーブ取引 / Choice統計)

agent_info

ID + エージェントをTerminalプロフィールにクレームする方法

airdrop_preview / airdrop_execute / airdrop_status

スナップショットへのエアドロップ — CSV、トークン/ローンチ保有者、NFT(CW721 + CW404)、ガバナンス投票者、MitoボールトLP、またはBuyBack参加者。2つのレール:マークルクレームドロップ(任意のリストサイズで1トランザクション、期限切れ後に未請求資金を回収可能)またはプッシュ(各ウォレットに直接送信、受信者1000人以下、請求不要、不可逆)。2段階コミット:プレビューは何も公開・ブロードキャストせず、実行はプレビューされたプランのみに資金を供給します。プッシュ実行は再開可能 — 同じplanIdを再実行すると、二重支払いは発生しません

airdrop_manage

期限切れキャンペーンの残りを回収、期限を延長、リストを凍結、クレームを一時停止/再開。campaignIdだけで呼び出すと、コントラクトが現在受け入れる操作とその理由を表示 — チェックはローカルで無料です

buy/sell/quote/portfolio/sweep は、それぞれの説明でスコープを明示しているため、Injective MCP も接続されているモデルは、正しいサーバー(そして正しいウォレット)を選択できます — 下記 を参照してください。

ツール名は裸の動詞です。Claude Code が名前空間を付与します(mcp__trippy__buy)。フラットなリストを表示するハーネスでは、サーバー環境に TRIPPY_MCP_TOOL_PREFIX=trippy を設定すると、trippy_buy、trippy_sell などとして登録されます。

Injective AI SDK と併用する場合

@injectivelabs/ainj には独自の MCP サーバーが同梱されており、この2つは一緒に実行されることを想定しています — 名前が衝突することはなく、役割分担は明確です:

関心事

trippy-mcp

Injective MCP (ainj mcp main)

担当

スポット:ボンディングカーブ、アグリゲータースワップ、ローンチ

パーペチュアル、サブアカウント、ブリッジ、送金、authz、チェーンクエリ

取引

buy / sell / quote

trade_open / trade_close / trade_limit_*

残高

portfolio, wallet_status

account_balances, account_positions

トークンデータ

token_info (マーケット + カーブ状態)

token_metadata (オンチェーンのデノムメタデータ)

これらは異なるウォレットに対して署名します。 Injective MCP の wallet_generate / wallet_import は ~/.injective-agent/keys/ に書き込みます。これらのアドレスはここでは取引できません。そのキーストアが存在する場合、wallet_status と agent_info はそれを otherAgentWallets の下で報告するため、モデルは混乱を招くゼロを報告する代わりに、それを明確に口にします。

その状態を維持してください。想定される組み合わせは、資金ループです — 自分のウォレットからこのエージェントに資金を供給し(Injective MCP の transfer_send で問題ありません)、sweep で利益を戻します — 共有キーではありません。そのサーバーは支出ポリシーなしで署名し、キーストアのパスワードをツール引数として受け取るため、このエージェントのキーをインポートすると、1回の操作でトランザクションごとの上限、日次予算、固定のスイープ送信先がすべて無効になります。

上記のすべてをエージェントに教える スキル があります:

npx skills add danvaneijck/trippy-mcp --skill injective-memecoin-trading

エージェントのアイデンティティ

init は、エージェントの名前を Trippy レジストリに登録します(エージェントキーで署名 — キー管理の証明であり、カストディアルなものではありません)。以降、その取引には Trippy Terminal に AGENT バッジが表示されます。プロフィールに紐付けるには(「あなたが運営」)、trippy-mcp claim-code を実行し、メインウォレットで Terminal → Settings → Agents にコードを入力します。

--avatar でエージェントにプロフィール画像を設定します(init 時またはそれ以降の register 時):https URL、またはローカルの .png/.jpg/.webp/.gif を渡します — ローカルファイルは SHROOM API を通じて IPFS にアップロードされます。画像は、Terminal がエージェントのアドレスのプロフィールアバターを表示する場所に表示されます。--avatar なしで再登録すると、現在の画像が維持されます。エージェントがクレームされると、その名前とアバターは CLI を介さずに Terminal → Settings → Agents からも編集できます。

オンチェーンアイデンティティ (ERC-8004)

上記のレジストリは Trippy のものです。Injective には、エコシステム全体にわたるオンチェーンのものもあります:ERC-8004 アイデンティティ NFT と、その背後にあるレピュテーションレジストリで、メインネットの 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 にあります。1つミントすると、エージェントはこのターミナルを超えて発見可能になり、そのレジストリがデプロイされているすべてのチェーンに移植可能になります。コストは1トランザクション、1セントの数分の1です。

trippy-mcp identity register        mint the identity (one tx)
trippy-mcp identity show            read it back from the chain
trippy-mcp identity transfer --yes  hand it to your owner wallet
trippy-mcp identity link            sign the wallet link your wallet submits

register は、エージェントが自身のアイデンティティを所有したままにします。それをあなたに移すことが、侵害されたエージェントキーがアイデンティティを奪うのを防ぐことであり、順序が重要です:

  1. identity transfer --yes は、init で固定された所有者アドレスに NFT を送信します。これにより、レジストリのポインタがエージェントにリセットされるため、ステップ3まで、その取引はアイデンティティに帰属しなくなります。

  2. identity link は、あなたのウォレットがそれを再ポイントすることを許可するメッセージに署名します。レジストリは300秒を超える期限を拒否するため、この署名は設計上約4分間有効であり、コマンドの再実行は無料です。

  3. Terminal → Settings → Agents で、Complete on-chain link を押します。これはあなたのウォレットからの実際のトランザクションであるため、ガスがかかります。カウントダウンが切れた場合は、identity link を再度実行してください。

agent_info は、アイデンティティとどちらの側が管理権を保持しているかを報告するため、エージェント自身がそれを伝えることができ、8004scan のページも表示します。

CLI

trippy-mcp init          create wallet + identity, then connect detected clients
                         (interactive; --plaintext, --network testnet, --avatar <url|path>, --no-connect)
trippy-mcp serve         run the MCP server (this is what your agent client launches)
trippy-mcp connect       write the MCP entry into your coding agent's config
                         (--client claude|codex|cursor|windsurf|all, --scope user|project,
                          --name <server-name>, --no-passphrase, --print)
trippy-mcp status        balances (bank-authoritative), policy budget, registration
trippy-mcp register      re-register / rename; --avatar <url|path> sets the profile image
trippy-mcp claim-code    mint a profile-link code
trippy-mcp identity <register|show|link|transfer>
                         the agent's ERC-8004 on-chain identity
trippy-mcp sweep <asset> <amount|all>
trippy-mcp export-key --yes-i-understand

設定 (~/.trippy-mcp/config.json)

{
  "network": "mainnet",
  "agentName": "my-agent",
  "ownerSweepAddress": "0x…",        // immutable — the only sweep destination
  "policy": {
    "perTxCapUsd": 200,
    "dailyBudgetUsd": 1000,
    "maxSlippageBps": 300,
    "tradingEnabled": true,
    "allowUnpricedSpend": false,      // permit spends with no USD price; each one is charged
                                     // perTxCapUsd against the 24h budget, since an unpriced
                                     // spend that counted as $0 would bypass the budget entirely
    "airdropCapUsd": 1000            // max USD per airdrop campaign; 0 = airdrop tools not
                                     // registered at all — including `airdrop_manage`, so wind
                                     // down any live campaign before switching them off
  },
  "dryRun": false,
  "cw20Tokens": []                   // extra CW20 contracts `portfolio` should probe, on top of
                                     // the built-ins (SHROOM, dINJ, NONJA, hINJ, DOJO, COKE,
                                     // Pedro). A CW20 balance is not bank state and cannot be
                                     // enumerated from the chain, so a holding is only visible
                                     // if its contract is known up front — `quote`/`sell` handle
                                     // any CW20 fine, but `portfolio` can only show these
  // optional: rpcUrls, lcdUrl, pumpApiBase, choiceApiBase, gasBufferPct, gasPriceWei, referrer
}

このパッケージが代行処理する Injective の癖

  • eth_getBalance は、Injective の EVM RPC で資金提供されたアカウントに対して 0 を報告する場合があります — 残高は Cosmos バンク (LCD) から読み取られ、トランスポートシムが viem のプリフライトを正直に保ちます。エクスプローラー/MetaMask はエージェントウォレットに対して 0 を表示する場合があります。trippy-mcp status が信頼できる情報源です。

  • ガスは 使用量 ではなく 上限 で請求されます — 署名者はフラットな上限ではなく、少量のバッファを追加して見積もります。

  • パブリック RPC は断続的に 502 を返し、レシートは遅延します — リクエストはエンドポイント間で再試行され、レシートがない場合は誤った失敗ではなく、状態の再読み取りがトリガーされます。

  • ローンチは、キーパーがバインドするまで Reserved 状態で開始されます(約数秒):create_token は待機し、正直に報告します。

開発

npm ci && npm run typecheck && npm test && npm run build
node scripts/sync-abi.mjs --check     # ABI-drift guard against the vendored artifact
SHROOM_REPO=../shroom_launchpad node scripts/sync-abi.mjs --refresh

リリースは v* タグで CI から公開されます(OIDC による npm トラステッドパブリッシングのため、トークンはなく、来歴は自動です)— バージョンを上げ、タグを付け、プッシュします。

設計とテストに関するメモ:

  • docs/DESIGN-protocol-docs-and-airdrops.md — explain とエアドロップレールがなぜそのように形作られているのか、それらを構築する際に下した決定、そしてそれらを最初にチェーンに対して実行したフルレールスイープ(コードが信じていたがチェーンが矛盾した5つの事柄を含む)。

  • docs/TESTING-airdrops.md — ライブインストールに触れずにテストネットでレールを実行する方法、そしてまだテストされていないもの。

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Agent-native, self-hosted MCP server for crypto trading and DeFi management. Enables agents to query balances, execute trades, and manage positions with a policy engine and secure key storage.
    7
    Apache 2.0
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that lets agents launch and trade coins on cook4.fun, a Uniswap-V3-native launchpad on the Robinhood chain.
    6
    1
    -