mcpField
G
grimoire-morpho-blue

grimoire-morpho-blue

github.com/franalgabaその他61.1k 回インストール25 週間前に更新
リポジトリ

grimoire-morpho-blue について

grimoire-morpho-blueは、戦略作成やエージェントのワークフロー向けに、Morpho Blueのデプロイ情報、マーケット、Vaultデータを照会するスキルです。APYや流動性指標を確認し、出典情報付きのspell用パラメータスナップショットを生成します。

主な機能

  1. 01デプロイ情報とコントラクトアドレスの照会
  2. 02Vaultの絞り込みと並べ替え
  3. 03Vaultパラメータスナップショットの生成
  4. 04Vault V2の引き出し可能流動性の確認
  5. 05APY、利用率、Vault指標の比較

活用シーン

  1. 01チェーン、資産、利回り条件によるVault検索
  2. 02Vaultの引き出し可能流動性の確認
  3. 03マーケットAPYや利用率の比較
  4. 04spell用Vaultデータパラメータの生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/franalgaba/grimoire --skill grimoire-morpho-blue

インストール後、Claude Code で/grimoire-morpho-blueを入力して読み込まれたか確認します。

詳細

Grimoire Morpho Blue スキル

このスキルを使って、spell パラメーター用の Morpho Blue のデプロイメタデータとボールトのスナップショットを照会します。

推奨される実行方法:

  • grimoire venue morpho-blue ...
  • npx -y @grimoirelabs/cli venue morpho-blue ...(インストール不要)
  • bun run packages/cli/src/index.ts venue morpho-blue ...(リポジトリ内)
  • grimoire-morpho-blue ...(@grimoirelabs/venues の直接実行バイナリ)

推奨される事前チェック:

  • grimoire venue doctor --adapter morpho-blue --chain 8453 --rpc-url <rpc> --json

--format spell を使うと、params: スナップショットブロックを出力できます。

スナップショットには、出典情報のフィールド(snapshot_at、snapshot_source)と APY データが含まれます。

Morpho Vault V2 全体の出金流動性には vault-liquidity を使います。オンチェーンの Vault V2 フィールドを読み取り、Morpho Market V1 流動性アダプターの資産額を、利用可能な基礎資産市場の現金残高で上限設定します。Vault V2 では意図的に 0 を返すため、ERC-4626 の maxWithdraw/maxRedeem は使用しません。

APY の意味:

  • apy/net_apy は小数形式の利率です(例:0.0408 = 4.08%)。
  • 報告時には、可能な限り小数形式とパーセント表示の両方を含めてください。

コマンド

  • grimoire venue morpho-blue info — アダプターのメタデータ
  • grimoire venue morpho-blue addresses [--chain <id>] — チェーンごとのコントラクトアドレス
  • grimoire venue morpho-blue vaults [--chain <id>] [--asset <symbol>] [--min-tvl <usd>] [--min-apy <decimal>] [--min-net-apy <decimal>] [--sort <netApy|apy|tvl|totalAssetsUsd|name>] [--order <asc|desc>] [--limit <n>] — ボールトの一覧表示と絞り込み
  • grimoire venue morpho-blue vaults-snapshot [--chain <id>] [--asset <symbol>] [--min-tvl <usd>] [--min-apy <decimal>] [--min-net-apy <decimal>] [--sort <netApy|apy|tvl|totalAssetsUsd|name>] [--order <asc|desc>] [--limit <n>] — ボールト用の spell params: ブロックを生成します(エージェント専用)
  • grimoire venue morpho-blue vault-liquidity [--chain <id>] --vault <address> [--rpc-url <url>] [--format json|table|spell] — Morpho Vault V2 の出金可能流動性を、資産単位と整数の bps で読み取ります

例

grimoire venue morpho-blue info --format table
grimoire venue morpho-blue addresses --chain 1
grimoire venue morpho-blue addresses --chain 8453
grimoire venue morpho-blue vaults --chain 8453 --asset USDC --min-tvl 5000000 --format table
grimoire venue morpho-blue vaults --chain 8453 --asset USDC --min-tvl 5000000 --format spell
grimoire venue morpho-blue vaults-snapshot --chain 8453 --asset USDC --min-tvl 5000000
grimoire venue morpho-blue vault-liquidity --chain 8453 --vault 0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9 --format json
grimoire venue morpho-blue vault-liquidity --chain 8453 --vault 0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9 --format spell

spell 入力用の params: ブロックを出力するには、vaults-snapshot を使います。これはエージェント専用のコマンドです(対話モードでは出力が抑制されます)。

vault-liquidity --format spell は、protocol: morpho-vault-v2、metric: withdrawable_liquidity_bps、withdrawable_liquidity_assets、total_assets、idle_assets、liquidity_adapter、liquidity_adapter_assets の、ペイロードに使用できる JSON パラメーターを出力します。

保持すべき出典情報の出力フィールドの例:

  • snapshot_at
  • snapshot_source
  • units(例:net_apy=decimal、net_apy_pct=percent、tvl_usd=usd)

メトリクスの範囲(spell 比較)

Morpho は apy メトリクスの範囲を公開し、セレクターによる市場指定をサポートします。

morpho_apy_default = apy(morpho, USDC)
morpho_apy_market = apy(morpho, USDC, "weth-usdc-86")
morpho_apy_market_id = apy(morpho, USDC, "0x...")
morpho_apy_generic = metric("apy", morpho, USDC, "wbtc-usdc-86")
morpho_utilization_bps = metric("utilization_bps", morpho, USDC, "wbtc-usdc-86")
vault_apy = metric("vault_apy", morpho, USDC, "vault=0xVaultAddress")
vault_net_apy = metric("vault_net_apy", morpho, USDC, "vault=0xVaultAddress")
vault_withdrawable_liquidity_bps = metric("withdrawable_liquidity_bps", morpho, USDC, "vault=0xVaultAddress")

Morpho Blue 市場の APY を比較するには、apy(morpho, asset[, selector]) を使います。 Morpho Blue 市場の利用率を確認するには、metric("utilization_bps", morpho, asset[, selector]) を使います。 MetaMorpho ボールトを比較するには、metric("vault_apy", morpho, asset, selector) または metric("vault_net_apy", morpho, asset, selector) を使います。 Morpho Vault V2 の現在の出金流動性を確認するには、metric("withdrawable_liquidity_bps", morpho, asset, selector) を使います。

セレクターの動作:

  • 市場のセレクターなし(apy):アクティブチェーン上で asset によって解決し、TVL が最も高い一致を選びます
  • 設定済みの市場セレクター:アダプター設定にある既知の市場 ID を使います(例:weth-usdc-86)
  • オンチェーン市場 ID セレクター:生の市場 ID(0x...)を使います
  • ボールトセレクター(vault_apy/vault_net_apy):vault=<address|name|symbol> またはボールトのアドレス/名前/シンボルをそのまま指定します
  • vault_apy/vault_net_apy には明示的なセレクターが必要です(暗黙のフォールバックはありません)

1 つの資産に複数のボールト/市場がある場合は、比較結果を決定的にするため、明示的なセレクターを指定してください。

スペルの制約

Morpho Blue のアクションは、実行時の制約(max_slippage など)をサポートしていません。価値を移動するアクションには、明示的な market_id が必要です。

morpho_blue.lend(USDC, params.amount, "cbbtc-usdc-86")
morpho_blue.withdraw(USDC, params.amount, "cbbtc-usdc-86")
morpho_blue.borrow(USDC, params.amount) with (
  market_id="cbbtc-usdc-86",
)
morpho_blue.supply_collateral(cbBTC, params.amount, "cbbtc-usdc-86")
morpho_blue.withdraw_collateral(cbBTC, params.amount, "cbbtc-usdc-86")

位置引数が使いにくい場合は、with (market_id=...) を使用してください。

morpho_blue.lend(USDC, params.amount) with (
  market_id="0x1234...abcd",
)

grimoire venue morpho-blue vaults を使用して、利用可能なマーケット ID を確認してください。

アクションの選択ガイド

戦略の意図に応じてアクションを選択してください。

  • 供給のみの戦略(借入の予定なし):vault_deposit / vault_withdraw を優先してください。
  • 借入戦略(または今後の借入/返済/担保管理):明示的な market_id を指定してマーケットアクションを使用してください。

厳守事項:

  • vault_deposit / vault_withdraw には明示的なボールトアドレスが必要で、market_id は使用しません。
  • lend、withdraw、borrow、repay、supply_collateral、withdraw_collateral には明示的な market_id が必要です。
  • ボールトアクションに必要なボールトアドレスが指定されていない場合は、推測しないでください。候補となるボールトを一覧表示し、作成/実行する前にユーザーに選択してもらってください。

アクションの意味

  • lend(asset, amount, market_id):マーケットのローン資産を貸し出します(貸し手側)。
  • withdraw(asset, amount, market_id):以前貸し出したローン資産を引き出します。
  • supply_collateral(asset, amount, market_id):借入のために担保を預け入れます(借り手側)。
  • withdraw_collateral(asset, amount, market_id):預け入れた担保を引き出します。
  • borrow(asset, amount, collateral?, market_id):マーケットのローン資産を借り入れます。
  • repay(asset, amount, market_id):借り入れたローン資産を返済します。
  • vault_deposit(asset, amount, vault_address):MetaMorpho ボールトに預け入れます。
  • vault_withdraw(asset, amount, vault_address):MetaMorpho ボールトから引き出します。

lend と supply_collateral は互換性がありません。

  • lend は、ローン資産による貸し手向け利回りを対象とします。
  • supply_collateral は、借入余力を確保するための担保管理です。

APY に関する想定:

  • lend ではマーケットの供給 APY(およびインセンティブがある場合はその利回り)が発生します。
  • supply_collateral ではマーケットの貸し手向け APY は得られません。借入に対するリスクバッファーです。
  • 担保トークンには、Morpho の供給 APY とは別に、独自のネイティブ利回りがある場合があります(例:wstETH)。

ワークフローのパターン

ボールト経由で供給のみを行う場合:

morpho_blue.vault_deposit(USDC, params.amount, "0xVaultAddress")

ボールトが指定されていない場合は、最初に検索を実行し、ユーザーに選択してもらってください。

grimoire venue morpho-blue vaults --chain <id> --asset <symbol> --sort netApy --order desc --limit 5 --format table

次に、選択したボールトアドレスを vault_deposit / vault_withdraw で使用してください。

借入ワークフロー(マーケット):

morpho_blue.supply_collateral(WETH, params.collateral_amount, "weth-usdc-86")
morpho_blue.borrow(USDC, params.borrow_amount, WETH, "weth-usdc-86")

借入を解消するワークフロー:

morpho_blue.repay(USDC, params.repay_amount, "weth-usdc-86")
morpho_blue.withdraw_collateral(WETH, params.collateral_out, "weth-usdc-86")

マーケット経由で貸し出す場合(マーケットを明示的に管理したい場合):

morpho_blue.lend(USDC, params.amount, "cbbtc-usdc-86")

デフォルトのマーケット

このアダプターには、Ethereum(チェーン 1)および Base(チェーン 8453)向けのマーケットが事前設定されています。

Ethereum(チェーン 1)
マーケットローン担保LLTV
cbbtc-usdc-1USDCcbBTC86%
wbtc-usdc-1USDCWBTC86%
wsteth-weth-1WETHwstETH96.5%
Base(チェーン 8453)
マーケットローン担保LLTV
cbbtc-usdc-86USDCcbBTC86%
weth-usdc-86USDCWETH86%

注意事項

  • 出力形式は JSON またはテーブルです。vaults は --format spell にも対応しています。
  • SDK のチェーンアドレスレジストリを使用します。
  • 自動化では --format json、手早く状況を把握する場合は --format table を優先してください。

コメント