mcpField
D
defi-data

defi-data

github.com/defillama数据与数据库36374 次安装31 周前更新
代码仓库

关于 defi-data

defi-data 是使用 DeFiLlama MCP 数据工具的参考指南,说明可用指标、实体命名与解析、查询参数、数据约定及常见问题,面向 DeFi 数据分析。

主要功能

  1. 01数据工具速查表
  2. 02实体命名与解析指引
  3. 03周期和日期范围参数
  4. 04存量与流量指标约定
  5. 05指标定义与校验说明
  6. 06错误恢复指引

适用场景

  1. 01为 DeFi 查询选择合适工具
  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 总锁仓量、全球交易量defillama:get_market_totalsmetrics(tvl_base、volume_dexs_1d 等)
协议锁仓量、费用、收入defillama:get_protocol_metricsprotocol、metrics
链锁仓量、Gas 费用、REVdefillama:get_chain_metricschain、metrics
代币价格、市值、历史最高价defillama: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)
协议中的代币锁仓量defillama: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)
未知实体 slugdefillama:resolve_entityname

实体约定

  • 协议:小写并以连字符分隔的 slug(aave、uniswap、compound-v3)
  • 链:小写(ethereum、solana、arbitrum)
  • 代币:使用 coingecko: 前缀(coingecko:ethereum、coingecko:bitcoin、coingecko:usd-coin)
  • CEX:slug 包含后缀(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:

  • 不确定确切的 slug
  • 工具返回 0 行
  • 需要消除歧义(例如,“compound” → compound-v2、compound-v3)
  • 需要查找 parent_protocol slug

周期参数

所有工具都接受 period(不是 time_range):

  • current(默认)——最新快照
  • 7d、30d、90d、180d、365d ——滚动时间窗口

对于自定义日期范围,请使用 start_date 和 end_date(YYYY-MM-DD 格式),而不是 period。如果设置了 start_date,但未设置 end_date,则默认使用今天。

关键约定

存量与流量

聚合规则不同——弄错会导致结果毫无意义:

  • 存量(某个时间点的快照):tvl、price、mcap——绝不要跨日期求和
  • 流量(周期内累计):fees_1d、revenue_1d、volume——可以跨日期求和
百分比格式

数据中有两种不同的约定:

  • *_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 = 流动性质押和重复计数部分
  • 包含流动性质押和重复计数部分的总值 = tvl_base + tvl_ls_only + tvl_dc_only + tvl_ls_and_dc
费用与收入
  • fees = 用户支付的总额
  • revenue = 协议的收入份额(费用减去支付给 LP/质押者的款项)
  • holder_revenue = 回购 + 发放给代币持有者的股息
  • 链级指标:chain_fees(Gas 费)、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 视图

链指标使用 chain_fees、chain_revenue、chain_mev、app_fees、app_revenue,而不是 fees、revenue。

每日视图中,流量/交易量指标只有 _1d 后缀。

重要注意事项
  • Category 列:get_protocol_metrics 没有 Category 列。类别级数据请使用 get_category_metrics。
  • FDV:绝不要按 FDV 排序——不可靠的 total_supply 数据会导致排名毫无意义。请改按 mcap 排序。
  • 估值:ps_ratio = mcap / 年化收入。pf_ratio = mcap / 年化费用。数值越低,可能越被低估。
  • 指标验证:协议/链/类别指标会根据实际数据库列进行验证。无效指标会返回最接近的匹配项建议。
  • 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: "...") -> 使用正确的 slug 重试
  2. 数据错误 -> 确认使用了正确的工具(协议、链或类别)
  3. 实体有歧义 -> 调用 resolve_entity 查看所有匹配的 slug,然后选择正确的一个

评论

支持 Markdown