FibX について
FibXはBase、HyperEVM、Monad向けのDeFiコマンドラインツール兼MCPサーバーです。ポートフォリオ照会、スワップ、送金、Base上のAave V3操作に対応し、複数の署名方式とローカル署名ポリシーを備えています。
主な機能
- 01クロスチェーン資産とDeFiポジションの確認
- 02Fibrousルーティングによるトークンスワップ
- 03ETHとERC-20トークンの送金
- 04Base上でのAave V3操作
- 05ローカル署名ポリシーとシミュレーション
- 06FibX MCP Apps画面の表示
活用シーン
- 01各チェーンの残高と評価額の確認
- 02スワップ見積もりの比較と取引のプレビュー
- 03トークン送金やスワップの実行
- 04Base上のAave V3ポジション管理
MCP 対応
内蔵MCPサーバーは、照会、取引、セッション・ポリシー管理を含む19個のツールと、FibXアプリの起動機能を提供します。書き込み操作はシミュレーションに対応し、MCP Apps UIを表示できるクライアントではopen_fibxからウォレットやスワップ画面を開けます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y fibxFIBX_API_URLCustom fibx-server URL for Privy wallet operations. Optional; only needed when self-hosting the backend.FIBX_SESSION_SECRETシークレットEncryption key for the local session file. Optional; auto-generated per machine when unset.FIBX_WC_PROJECT_IDWalletConnect Cloud project id used by connect_wallet. Optional; a shared public id ships in the bundle. Set your own from cloud.reown.com if the shared id's quota is exhausted.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
19掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| chain | enum | いいえ | Fibrous の稼働状況を確認する対象チェーンbase | hyperevm | monad |
詳細
FibX
Fibrous アグリゲーションを活用した、Base、HyperEVM、Monad 上で DeFi 操作を行うコマンドラインツール兼 MCP サーバーです。WalletConnect 経由でご自身のウォレットを使うか、Privy のサーバーウォレットを使うか、キーをインポートして署名できます。いずれの場合も、署名ポリシーはお使いのマシン上で管理されます。
特長
- マルチチェーン対応:Base、HyperEVM、Monad
- ポートフォリオ:USD 評価額と DeFi ポジションを含む、クロスチェーンのポートフォリオ概要
- トークンスワップ:Fibrous アグリゲーションによる最適なルーティングと自動スリッページ設定
- 送金:ETH または任意の ERC-20 トークンを送信
- Aave V3:Base での供給、借入、返済、引き出し、マーケットの閲覧
- MCP サーバー:Cursor、Claude Desktop、Antigravity 向けの組み込み AI エージェント連携(19 個のツール)
- チャット内で FibX アプリを利用:MCP Apps UI を表示できる Claude Desktop などのホストでは、
open_fibxを使うと、ウォレット、残高、署名ポリシー、Fibrous のルートをインライン表示するスワップフォームを確認できます。モデルが開いた後、「Simulate and Swap」を押してください。 - エージェントスキル:fibx-skills によるプロンプトベースの AI スキル
- ご自身のウォレット:WalletConnect 経由でペアリングし、すべてのトランザクションをスマートフォンで承認
- Privy サーバーウォレット:サーバー側で署名します。CLI が受け取るのは署名済みトランザクションのペイロードまたは署名であり、Privy アプリの認証情報や生のキーではありません。
- 秘密鍵のインポート:AES-256-GCM で暗号化されたローカルストレージを使って、既存のウォレットを使用
- ローカル署名ポリシー:ご自身で管理するファイルです。チェーンごとのネイティブトークン上限、許可するチェーン、許可する送信先、有効期限を設定し、3 つの方法すべてで各署名の前に適用されます(Privy ではさらに独自のサーバー側ポリシーが適用されます)。
- 事前チェック:トランザクションのフローでは、基盤となる RPC が対応している場合、実行を検証または見積もります。
- ドライランモード:
--simulateを使うと、書き込み操作をブロードキャストせずにプレビューできます。利用可能な場合はガス代の見積もりも含まれます。 - JSON 出力:スクリプトやパイプライン用の
--jsonフラグ - 依存関係なしでインストール:tsup による単一ファイルバンドルで、
npx fibxをほぼ瞬時に実行できます。
対応チェーン
| チェーン | ネイティブトークン | Aave V3 |
|---|---|---|
| Base | ETH | ✅ |
| HyperEVM | HYPE | — |
| Monad | MON | — |
インストール
npx で直接実行できます(インストール不要):
npx fibx status
または、グローバルにインストールします:
npm install -g fibx
要件
- Node.js >= 18
- 稼働中の fibx-server インスタンス(Privy ウォレット操作に必要。秘密鍵のインポートには不要)
クイックスタート — 3 分で最初のスワップ
ステップ 1:価格を取得する(認証不要)
FibX を今すぐ試せます。サインアップ、ウォレット、キーは不要です:
npx fibx quote 0.01 ETH USDC # Check price on Base
npx fibx quote 100 USDC DAI --chain base # Compare pairs
npx fibx quote 0.5 MON USDC --chain monad # Check Monad prices
ステップ 2:認証する(いずれかを選択)
オプション A — メールログイン(Privy サーバーウォレット。管理するキーはありません):
npx fibx auth login [email protected] # Sends OTP to your email
npx fibx auth verify [email protected] 123456 # Verify & create wallet
オプション B — 秘密鍵をインポート(既存のウォレットを使用):
npx fibx auth import # Paste your key (encrypted at rest)
ステップ 3:実行する
npx fibx trade 0.01 ETH USDC # Execute the swap
npx fibx balance # Check your balances
これで完了です。3 つのステップで、何もない状態から最初のスワップまで進めます。
使い方
FibX の署名方法を選ぶ
fibx auth setup を実行すると、選択肢が表示されます。3 つの方法の違いは、次の 1 点です。
| 方法 | キーの保管者 | 不在時も動作する | 制約を設けるもの |
|---|---|---|---|
auth connect | 自分のウォレット | いいえ | スマートフォン上のあなた |
auth login | Privy | はい | Privy の署名ポリシー |
auth import | このマシン | はい | 自分で設定したローカルポリシー |
自分のウォレットを使い続けながら、FibX に無人で動作させるには ERC-7715 が必要ですが、現時点でウォレットは WalletConnect 経由でこれを提供していません。fibx auth setup では、最も近い選択肢について説明します。
セキュリティ:
auth importを使用すると、秘密鍵は AES-256-GCM で保存時に暗号化されます。暗号化キーはマシンごとに自動生成され、OS の設定ディレクトリに保存されます(例:Linux では~/.config/fibx-nodejs/encryption-key)。CI/Docker 環境では、FIBX_SESSION_SECRET環境変数を設定することもできます。
自分のウォレットを接続する
npx fibx auth connect
WalletConnect 経由で、MetaMask、Rabby、Rainbow、Phantom など、すでにお持ちのウォレットを FibX に接続します。ターミナルに QR コードが表示されるので、スマートフォンでスキャンしてください。以降のすべてのトランザクションはウォレットで承認されるため、キーがウォレットの外に出ることはありません。
取引に使用するチェーンは、あらかじめウォレットに追加しておく必要があり、ペアリング時に承認されます。セッションに含まれていないチェーンで署名しようとすると、FibX はウォレットへの接続前に処理を停止し、そのチェーン名を表示します。ウォレットに追加してから、npx fibx auth connect を再実行し、新しいチェーンを含めてください。
--json を指定すると、出力は NDJSON になります。実行全体で 1 つのドキュメントではなく、1 行につき 1 つの JSON ドキュメントが出力されます。ペアリング URI が最初に {"uri":"wc:..."} として表示され、ウォレットの承認を待つ間にスクリプトで処理できます。その後、結果が独立したコンパクトな JSON 行として出力されます。
npx fibx auth logout を実行すると、両側の接続が終了します。ウォレットにセッションを破棄するよう通知するため、FibX はウォレットの接続済みアプリ一覧に表示されなくなり、セッションとともにペアリングキーもディスクから削除されます。
公開済みバンドルには共通の WalletConnect プロジェクト ID が含まれているため、設定なしで動作します。CLI には許可リストに登録できるオリジンがないため、これは必然的に公開されています。実質的なリスクは、第三者によるクォータの消費だけです。クォータが原因でペアリングに失敗するようになった場合は、cloud.reown.com で無料プロジェクトを作成し、FIBX_WC_PROJECT_ID に独自の ID を設定してください。
auth login(メール OTP)と auth import(秘密鍵)は変更されておらず、引き続き利用できます。
署名ポリシー
fibx policy は、上記の表にあるどの方法でキーを保持している場合でも、その上限として FibX が署名できる内容を制限します。ローカルキー、Privy、または WalletConnect の各トランザクションの前に評価される、クライアント側の上限です。
npx fibx policy show # Print the active policy
npx fibx policy set base.maxValue 0.05
npx fibx policy set allowedChains base,monad
npx fibx policy set base.allowedDestinations 0xYourColdWallet,0xTheRouter
npx fibx policy set expiry 2026-12-31 # UTC midnight starting that day
npx fibx policy clear base.maxValue # Remove one rule
npx fibx policy clear # Remove the whole policy (asks first)
ローカルキーを保護するローカルポリシーは、あくまで参考にすぎません。キーを読み取れるものなら誰でもポリシーを編集できるため、マルウェア対策にはなりません。このポリシーで制限できるのはエージェントの動作です。たとえば、モデルの誤動作や、エージェントにそれをさせようとするプロンプトインジェクションへの対策になります。
各ルールが何を制限するのかを把握してください。それぞれ対象が異なります。
maxValueは、単一トランザクションのネイティブ通貨の値を制限します。Base では ETH、HyperEVM では HYPE、Monad では MON が対象です。トークンは制限しません。ERC-20 の送金は、value: 0を伴うトークンコントラクトへの呼び出しとしてポリシーに届くため、金額はポリシーから見えません。そのため、base.maxValue 0.05を設定しても、fibx send 50000 USDC 0xsomewhere、取引におけるトークン側の処理、Aave の借り入れには上限が設けられません。トークンの値を制限するには、小数桁数とトークンレジストリが必要ですが、今回のリリースには含まれていません。allowedDestinationsは、あらゆる送金先を制限することでトークンを制限するルールです。エージェントによって保有資産がどこかへ移される心配がある場合に設定してください。取引での承認に使うためにトークンのコントラクトを許可リストに追加すると、そのトークンの送金も許可される点に注意してください。allowedChainsとexpiryは、それぞれ名前のとおりの動作をします。有効期限が切れたポリシー、または解析できないポリシーは、何も許可せず、すべてを拒否します。
グローバルオプション
| オプション | 説明 | デフォルト |
|---|---|---|
-c, --chain <name> | 対象チェーン(base、hyperevm、monad) | base |
--json | 結果を JSON 形式で出力 | false |
残高
npx fibx balance
npx fibx balance --chain hyperevm
ポートフォリオ
USD 評価額を含む、チェーンを横断した統合ポートフォリオビューです。
npx fibx portfolio # Table output across all chains
npx fibx portfolio --json # Structured JSON for scripting
Base、HyperEVM、Monad におけるすべてのトークン保有状況を USD 換算額とともに表示します。DeFi ポジション(Aave V3 の担保・負債)とポートフォリオ全体の純資産も含まれます。トークン価格は Fibrous からリアルタイムで取得されます。
送金
npx fibx send 0.001 0xRecipient # Send native token on Base (ETH)
npx fibx send 10 0xRecipient USDC # Send ERC-20 on Base
npx fibx send 1 0xRecipient --chain monad # Send MON on Monad
npx fibx send 0.1 0xRecipient --simulate # Preview without sending
見積もり
認証なしでスワップ価格を取得します。
npx fibx quote 0.01 ETH USDC # Price check on Base
npx fibx quote 1 MON USDC --chain monad # Check Monad prices
npx fibx quote 0.1 ETH USDC --json # JSON output for scripts
ウォレットも認証も不要です。
quoteで価格を確認し、tradeで実行できます。
スワップ
npx fibx trade <amount> <from> <to>
npx fibx trade 0.0001 ETH USDC
npx fibx trade 20 USDC DAI
npx fibx trade 1 MON USDC --chain monad
npx fibx trade 0.1 ETH USDC --simulate # Preview without broadcasting
オプション:--slippage <n>(デフォルト:0.5%)、--approve-max、--simulate、--json
注:
tradeコマンドは Wrap(ネイティブ → ラップ済み)と Unwrap(ラップ済み → ネイティブ)の操作を自動で検出し、アグリゲーターによるルーティングを介さず、コントラクト呼び出しで直接実行してガスを節約します。
トランザクションのステータス
npx fibx tx-status <hash>
npx fibx tx-status 0x123...abc --chain monad
ウォレット情報
npx fibx address # Print active wallet address
npx fibx wallets # Show active wallet details
Aave V3(Base)
npx fibx aave status # Account health
npx fibx aave markets # List all active reserves with APY & TVL
npx fibx aave supply 1 ETH # Auto-wraps ETH -> WETH and supplies
npx fibx aave supply 100 USDC # Supply ERC-20
npx fibx aave borrow 50 USDC # Borrow
npx fibx aave repay 50 USDC # Repay
npx fibx aave repay max ETH # Auto-wraps ETH and repays full WETH debt
npx fibx aave withdraw max ETH # Withdraws WETH and auto-unwraps to ETH
npx fibx aave supply 1 ETH --simulate # Preview without broadcasting
注:
supply、repay、withdrawは、Base 上で ETH ↔ WETH のラップ・アンラップを自動的にサポートします。
設定
パブリックエンドポイントでのレート制限を避けるには、カスタム RPC URL を設定してください。
npx fibx config set-rpc base https://mainnet.base.org
npx fibx config get-rpc base
npx fibx config reset-rpc base # Reset single chain to default
npx fibx config reset-rpc # Reset all chains to default
npx fibx config list
ホットリロード: 設定の変更は自動的に反映されるため、CLI や MCP サーバーを再起動する必要はありません。
AI エージェントとの連携
MCP サーバー
fibx には、Cursor、Claude Desktop、Antigravity などの AI エディター向けに、組み込みの MCP サーバーが含まれています。セットアップ方法と利用可能なツールについては、MCP.md を参照してください。
npx fibx mcp-start
MCP サーバーは 19 個のツールを公開します。FibX アプリ(open_fibx、list_tokens)、読み取り専用クエリ、3 つのトランザクションツール、セッション管理およびポリシー管理が含まれます。すべての書き込み操作で、ブロードキャストを行わない simulate=true のプレビューを利用できます。ガスの見積もりは、利用可能な場合にのみ返されます。
MCP Apps の UI を表示できるホスト(現時点では Claude Desktop)では、open_fibx が起点となります。ウォレット、残高、価格、スワップについて尋ねると、会話の内容をあらかじめ反映したアプリ全体がインラインで開きます。アプリが独自に実行する処理はなく、「Simulate」と「Swap」はユーザーが押すボタンです。テキストのみのホストでは、同じ呼び出しがモデルで要約できる JSON スナップショットを返し、残りの操作はヘッドレスツールが行います。
エージェントスキル
プロンプトベースのエージェント連携(Claude Code、Cursor など)については、fibx-skills リポジトリをご覧ください。
セキュリティ
AI エージェントにウォレットを操作させるには、モデルの外部に制御機構が必要です。 fibx は、署名レイヤーのポリシー、サーバー側の検証、クライアント側のヒント、 明示的なプレビューを組み合わせています。これらの制御によりリスクは軽減されますが、 サーバーの認証情報、MCP クライアントの設定、デプロイポリシーは引き続き信頼境界の一部です。
| レイヤー | 機能 |
|---|---|
| Privy の署名ポリシー | デフォルトポリシーでは、設定済みチェーンを許可リストに登録し、各トランザクションのネイティブトークン value に上限を設け、鍵のエクスポートを拒否します。Privy は署名時にポリシーを評価します。fibx-server の認証情報とカスタムポリシーは、引き続き重要な信頼境界です。 |
| fibx-server のスキーマ | /sign/* が受け付けるのは、CLI が生成する正確なトランザクション形式のみです。不明なフィールド、コントラクトの作成、サービス対象外のチェーンは、Privy に到達する前に拒否されます。 |
| MCP ツールのアノテーション | 各トランザクション用ツールは destructiveHint: true を通知します。互換性のあるクライアントでは、クライアントの動作や設定に応じて、このヒントを使って確認を求める場合があります。 |
| シミュレーション | --simulate は、書き込み操作をブロードキャストせずにプレビューします。一部の経路ではガス見積もりも返されますが、それ以外では操作メタデータのみを返します。 |
| ローカルの鍵ストレージ | インポートした秘密鍵は、OS の設定ディレクトリに 0600 で保存されたマシン固有の鍵を使用し、AES-256-GCM で保存時に暗号化されます。 |
ウォレットポリシーの制限はデプロイごとに設定されます。詳しくは、 fibx-server のウォレットポリシーに関するドキュメントをご覧ください。
注: ポリシーはウォレットの作成時に適用されます。ポリシーが導入される前にプロビジョニングされたウォレットは、移行されるまでポリシーなしで署名を続けます。
アーキテクチャ
このリポジトリは CLI と MCP サーバーです。スタックは、兄弟リポジトリ 3 つを加えて構成されます。
| リポジトリ | 役割 |
|---|---|
| fibx(このリポジトリ) | CLI + stdio MCP サーバー。依存関係のない単一バンドルとして配布されます |
| fibx-server | Privy をプロキシする Hono バックエンド。アプリシークレットを保持するため CLI が扱うことはなく、ウォレット署名ポリシーも管理します |
| fibx-skills | Claude Code、Cursor、その他のスキル対応エージェント向けの、プロンプトベースの Agent Skills |
| fibx-telegram-bot | MCP 経由でこの CLI を操作する Telegram ボット。1 つのプロセスで、アクティブなユーザーごとに個別の設定パスを使用します |
src/
├── commands/ # CLI commands (auth, policy, trade, send, aave, config)
├── mcp/ # Modular MCP server
│ ├── server.ts # Entry point + MCP_INSTRUCTIONS
│ ├── ui.ts # The ui://fibx/app.html resource (the built widget, inlined)
│ ├── tools/ # Tool registrations (app, auth, wallet, trade, defi, policy)
│ └── handlers/ # Tool implementations
├── services/ # Business logic (chain, fibrous, auth, policy, walletconnect, defi, portfolio)
└── lib/ # Shared utilities (errors, fetch, format, crypto)
ui/
├── src/ # The FibX app widget — Preact, one document, no network
└── dev-host/ # A local MCP Apps host for the widget: fixtures, or a bridge to the real server
ウィジェットは Vite で単一の HTML ドキュメントにビルドされ、tsup によって dist/index.js に埋め込まれます。そのため、公開パッケージは引き続きランタイム依存関係のない単一ファイルです。
開発
pnpm install
pnpm dev # run the CLI from source
pnpm test # vitest unit tests
pnpm typecheck # tsc --noEmit
pnpm lint # eslint
pnpm format:check # prettier
pnpm build # vite (the app widget) then tsup, to dist/
pnpm dev:ui # the app widget in a local host, against fixtures — no wallet needed
pnpm dev:ui:bridge は、実際の MCP サーバーに対して同じホストを実行します。そこで Swap を行うと、実際のスワップが実行されます。
関連リンク
- Fibrous Finance — スワップを支える DEX アグリゲーター
- FibX エージェントのドキュメント
- npm パッケージ
- MCP レジストリの掲載ページ —
finance.fibrous/fibx
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。