mcpField
D
defi-data

defi-data

github.com/defillamaデータ・データベース36374 回インストール31 週間前に更新
リポジトリ

defi-data について

defi-dataは、DeFiLlamaのMCPデータツールを使うためのリファレンスです。利用可能な指標、エンティティの命名と解決、クエリパラメーター、データ規則、分析時の注意点を解説します。

主な機能

  1. 01データツールのクイックリファレンス
  2. 02エンティティ命名と解決の指針
  3. 03期間と日付範囲のパラメーター
  4. 04ストックとフローの指標規則
  5. 05指標の定義と検証に関する注意
  6. 06エラーからの復旧方法

活用シーン

  1. 01DeFiの質問に合うツールの選定
  2. 02プロトコル、チェーン、トークンの比較
  3. 03指標値の解釈ミスの回避

MCP 対応

このリファレンスは、MCP経由で利用できるDeFiLlamaのツールと、そのパラメーター、対応エンティティ、データ規則を説明します。

インストール

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

$npx skills add https://github.com/defillama/defillama-skills --skill defi-data

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

詳細

DefiLlama MCP データリファレンス

ツール早見表

質問ツール主なパラメーター
DeFi 全体の TVL、グローバル取引量defillama:get_market_totalsmetrics(tvl_base、volume_dexs_1d など)
プロトコルの TVL、手数料、収益defillama:get_protocol_metricsprotocol、metrics
チェーンの TVL、ガス手数料、REVdefillama:get_chain_metricschain、metrics
トークン価格、時価総額、ATHdefillama:get_token_pricestoken
カテゴリー別ランキングdefillama:get_category_metricscategory
プールの APY、レンディング金利defillama:get_yield_poolstoken、chain、category
ステーブルコイン供給量defillama:get_stablecoin_supplystablecoin、chain
ETF の資金流入・流出defillama:get_etf_flowstoken(bitcoin/ethereum)
ブリッジ取引量defillama:get_bridge_flowsbridge、chain
CEX 取引量defillama:get_cex_volumescex
未決済建玉defillama:get_open_interestprotocol、chain
ハッキング/エクスプロイトdefillama:get_eventsevent_type: "hacks"
資金調達defillama:get_eventsevent_type: "raises"
プロトコルイベントdefillama:get_eventsevent_type: "protocol_events"
プロトコルのトレジャリーdefillama:get_treasurytreasury
機関投資家の保有資産defillama:get_dat_holdingsinstitution、token
トークンのロック解除defillama:get_token_unlockstoken、query_type(chart、window、day、window_all、ratio、market_window)
プロトコル内のトークン TVLdefillama:get_token_tvltoken、protocol
オラクルの対応状況defillama:get_oracle_metricsoracle
ユーザーアクティビティdefillama:get_user_activityprotocol、chain
損益計算書defillama:get_income_statementprotocol
プロトコルのメタデータ、URL、監査情報defillama:get_protocol_infoprotocol、category、tag、has_token、chain
チェーンのメタデータ、種類、L2 の親チェーンdefillama:get_chain_infochain、chain_type
有効なカテゴリーの一覧defillama:list_categoriestype(protocol、token、chain)
不明なエンティティのスラッグdefillama:resolve_entityname

エンティティの表記規則

  • プロトコル:小文字とハイフンで構成されたスラッグ(aave、uniswap、compound-v3)
  • チェーン:小文字(ethereum、solana、arbitrum)
  • トークン:coingecko: プレフィックス(coingecko:ethereum、coingecko:bitcoin、coingecko:usd-coin)
  • CEX:スラッグに接尾辞を含む(binance-cex、coinbase-cex、htx、gate-io)
  • カテゴリー:タイトルケース(Lending、DEX、Derivatives)

プロトコルとサブプロトコル

多くのプロトコルには複数のバージョンがあります。データベースでは両方を追跡しています。

  • 親プロトコル(例:aave)— get_protocol_metrics で使用し、すべてのバージョンを集計します
  • サブプロトコル(例:aave-v3)— 個別のバージョンで、sub_protocol ビューで使用します

resolve_entity は slug(サブプロトコル)と parent_protocol の両方を返します。get_protocol_metrics には parent_protocol を使用してください。特定のバージョンが必要な場合は slug を使用してください。

例:resolve_entity({name: "compound"}) は次を返します。

  • slug: compound-v2, parent_protocol: compound
  • slug: compound-v3, parent_protocol: compound → 集計値を取得するには、get_protocol_metrics で protocol: "compound" を使用してください。

配列のサポート

すべてのエンティティパラメーターでは、比較のために単一の値または配列を指定できます。

  • protocol: "aave" または protocol: ["aave", "lido", "compound"]
  • chain: "ethereum" または chain: ["ethereum", "solana"]
  • token: "coingecko:ethereum" または token: ["coingecko:ethereum", "coingecko:bitcoin"]

エンティティの解決

よく知られたエンティティは、まずツールに直接指定してみてください。80% 以上の確率で機能します。次の場合にのみ defillama:resolve_entity を使用してください。

  • 正確なスラッグがわからない
  • ツールが 0 行を返す
  • 区別が必要(例:「compound」→ compound-v2、compound-v3)
  • parent_protocol のスラッグを確認する必要がある

期間パラメーター

すべてのツールはperiodを受け付けます(time_rangeではありません)。

  • current(デフォルト)-- 最新のスナップショット
  • 7d、30d、90d、180d、365d -- ローリング期間

カスタムの日付範囲を指定する場合は、periodではなくstart_dateとend_date(YYYY-MM-DD形式)を使用します。start_dateのみを設定した場合、end_dateは今日になります。

重要な規則

ストックとフロー

集計ルールが異なります。間違えると、意味のない結果になります。

  • ストック(特定時点のスナップショット):tvl、price、mcap -- 日付をまたいで合計しないでください
  • フロー(期間内の累積値):fees_1d、revenue_1d、volume -- 日付をまたいで合計できます
パーセンテージの形式

データには、異なる2つの規則があります。

  • *_pct_change列 = 小数(例:-0.13 = -13%、0.35 = +35%)。表示するには100を掛けます。
  • apy列 = すでにパーセンテージ(例:2.32 = 2.32%)。100を掛けないでください。
TVLの構成要素

各構成要素は相互排他的です。二重に加算しないでください。

  • tvl_base = デフォルトのTVL(リキッドステーキング分と二重計上分を除く)
  • tvl_ls_only = tvl_baseに含まれないリキッドステーキング分
  • tvl_dc_only = tvl_baseに含まれない二重計上分
  • tvl_ls_and_dc = LSとDCの両方
  • LSとDCを含む合計 = tvl_base + tvl_ls_only + tvl_dc_only + tvl_ls_and_dc
手数料と収益
  • fees = ユーザーによる総支払額
  • revenue = プロトコルの取り分(fees - LPやステーカーへの支払額)
  • holder_revenue = トークン保有者への買い戻しと配当
  • チェーンレベル:chain_fees(ガス)、chain_revenue、chain_mev、app_fees(チェーン上のプロトコル手数料)、app_revenue
メトリクス名のパターン

プロトコルのメトリクスは、次のパターンに従います。

  • TVL:tvl_base、tvl_staking、tvl_borrowed、tvl_pool2、tvl_treasury、tvl_vesting
  • フロー(接尾辞_1d/_7d/_30d/_90d/_180d/_365d/_ytd/_alltime/_annualised付き):fees、revenue、holder_revenue、incentive
  • ボリューム(同じ接尾辞):volume_dexs、volume_aggregators、volume_derivatives、volume_aggr_derivatives、volume_options
  • マーケット:price、mcap、fdv、fdv_outstanding、token_volume、ps_ratio、pf_ratio
  • pct_changeのバリエーションは_currentビューでのみ利用できます

チェーンのメトリクスでは、fees、revenueの代わりにchain_fees、chain_revenue、chain_mev、app_fees、app_revenueを使用します。

日次ビューでフロー/ボリュームに付く接尾辞は_1dのみです。

重要な注意点
  • Category列:get_protocol_metricsにはCategory列がありません。カテゴリーレベルのデータにはget_category_metricsを使用します。
  • FDV:total_supplyデータの信頼性が低く、ランキングが無意味になるため、FDVでソートしないでください。代わりにmcapでソートします。
  • バリュエーション:ps_ratio = mcap / 年率換算したrevenue。pf_ratio = mcap / 年率換算したfees。値が低いほど、割安の可能性があります。
  • メトリクスの検証:プロトコル/チェーン/カテゴリーのメトリクスは、実際のDB列と照合して検証されます。無効なメトリクスを指定すると、最も近い候補が提示されます。
  • NULL値:NULLはデータがないことを示し、$0を意味しません。NULLをゼロとして報告しないでください。
  • パラメーターは文字列または配列を受け付けます:protocol: "aave"またはprotocol: ["aave", "lido"]。パラメーター名は単数形です(protocolであり、protocolsではありません)。
  • sort_byの形式:"tvl_base desc"や"fees_1d desc"のような文字列です。

例

例 1: ユーザー:「Aave の TVL は?」 ツール呼び出し:defillama:get_protocol_metrics(protocol: "aave", metrics: ["tvl_base"])

例 2: ユーザー:「手数料が多いチェーンのトップ 5」 ツール呼び出し:defillama:get_chain_metrics(sort_by: "chain_fees_1d desc", limit: 5)

例 3: ユーザー:「過去 90 日間の ETH 価格履歴」 ツール呼び出し:defillama:get_token_prices(token: "coingecko:ethereum", period: "90d")

例 4: ユーザー:「ETH の価格と Ethereum チェーンの TVL を比較して」 並列でツールを呼び出します:

  • defillama:get_token_prices(token: "coingecko:ethereum")
  • defillama:get_chain_metrics(chain: "ethereum")

例 5: ユーザー:「今年最大の DeFi ハッキング」 ツール呼び出し:defillama:get_events(event_type: "hacks", sort_by: "amount desc", limit: 10, period: "365d")

例 6: ユーザー:「2025 年 1 月から 3 月までの Aave の TVL」 ツール呼び出し:defillama:get_protocol_metrics(protocol: "aave", metrics: ["tvl_base"], start_date: "2025-01-01", end_date: "2025-03-31")

エラーからの復旧

  1. 返された行数が 0 件 -> defillama:resolve_entity(name: "...") を呼び出す -> 正しいスラッグで再試行する
  2. データが間違っている -> 正しいツール(プロトコル、チェーン、カテゴリー)を使用しているか確認する
  3. エンティティが曖昧 -> resolve_entity を呼び出して一致するすべてのスラッグを確認し、適切なものを選ぶ

コメント