MetaVault MCP
人工智能代理的多协议产出智能——涵盖 光谱金融, 彭德尔,以及 摩菲 通过 模型上下文协议.
55个工具·3个协议·10+个链·只读·开放式涌现架构·校准智能·链上曲线引用·Pendle logit AMM建模·ERC-4626健康检查·收益率曲线项结构·历史eth_getLogs·完整的Pendle协议奇偶校验(15个工具)·跨协议位置图·跨协议光谱↔Pendle比较·veSPECTRA+vePENDLE治理·Pendle历史时间序列·Morpho供应侧可见性与供应商级联建模·Morpho-用户位置和历史利率·Merkl活动APR+到期整合·进入路径意识·规定性观察边界·策展人风险监控·退出压力测试·展期计划·多保险库投资组合聚合·保险库到期监控·零web3库依赖性
这有什么作用
任何支持MCP的AI代理(Claude、GPT、开源)都可以在统一的界面中查询Spectra、Pendle和Morpho,以:
- 发现 10条链同时提供最佳固定利率收益机会
- 分析 具有完整数据(APY、TVL、流动性、价格)的具体PT/YT头寸
- 计算 具有自动检测借贷利率的杠杆循环策略(Spectra PT+Morpho抵押品)
- 比较 固定收益与可变收益,以做出明智的决策
- 轨道 所有Spectra头寸(PT、YT、LP)的钱包投资组合,与Merkl奖励集成,实现完整的PnL
- 表面 外部Merkl活动APR以及Spectra和Pendle的池和市场数据
- 监视器 池交易量、单个交易活动和跨池地址扫描
- 引用 PT使用链上曲线进行交易
get_dy()为了获得准确的输出,回到数学估计 - 模拟 假设交易后的投资组合状态(带增量的BEFORE/trade/after)
- 扫描 所有具有价格影响、有效APY和Morpho循环分析的资本意识机会链
- 检测 YT套利机会,IBT APR与YT隐含利率不同
- 计算 使用Base的实时链上数据和以太坊主网的vePENDLE投票权(具有sPENDLE转换感知),每个池的真实veSPECTRA提升倍数
- 地图 您在一次通话中即可获得完整的跨协议头寸——Spectra+Pendle+Morpho+治理(veSPECTRA+vePENDLE),具有矛盾检测功能(未使用的升水、贷款与固定利率利差、集中度、漏洞检测、跨协议到期头寸)
- 评估 入口路径复杂性——自动标记奇异的底层、sw包装跳数和主网气体摩擦,以便代理知道达到广告收益的实际成本
- 发现 所有链上的实时MetaVaults——策展人信息、TVL、APY、位置、时代历史
- 模型 MetaVault针对策展人的“双循环”策略-保险库组合+Morpho杠杆与策展人经济,通过实时API数据或手动参数自动填充
- 监视器 MetaVault运营状况——管理员仪表板,显示每个头寸的金库分配、存款人流量、费用收入、过桥活动和可操作的警报
- 查询 Morpho贷款市场提供PT抵押品机会,确定谁提供贷款流动性,并发现跨市场的金库分配
- 查询 协议统计数据、令牌组学和治理数据
- 比较 Spectra与Pendle的收益机会并存,在重叠链上进行成熟度感知匹配
- 扫描 Spectra和Pendle都提供了最佳的策展人机会,具有资本意识的尺寸和跨协议匹配标签
- 浏览 所有由Pendle支持的链的Pendle市场(包括Mantle、Berachain、HyperEVM、Corn等仅支持Pendle的链)
- 分析 全面深入的Pendle市场——市场详情、投资组合跟踪、交易报价、交易模拟、循环策略、YT套利、到期监测、收益率曲线、容量分析和协议范围统计数据(与Spectra工具完全对等)
- 评估 多规模容量曲线的池深——按几何资本级别(1000美元)报价PT交易→$1M) 在Spectra和Pendle上找到最佳点和疲劳点
- 验证 部署前的IBT健康状况——链上ERC-4626转化率、APR可持续性(有机与激励)、池余额、协议识别、流动性
- 可视化 所有链中任何标的的收益率曲线(期限结构)——所有到期日按时间顺序用曲线形状分析排序
- 恢复 历史链上池活动
eth_getLogs当API数据老化时-为任何链提供动态RPC URL支持 - 监视器 策展人Morpho职位健康状况——清算距离、借款利率漂移、所有链中的健康因素
- 压力测试 MetaVault提款场景——流动性瀑布分析(闲置→ 成熟→ LP拆除→ PT销售)与市场压力模拟
- 计划 到期MetaVault职位的职位展期——基于进入影响、收益差距和重叠窗口的跨协议候选人排名
- 聚合 多库策展人投资组合——总资产管理规模、混合APY、费用收入预测、按基础/链进行的集中度分析
- 监视器 所有链上的池到期,并进行准备状态评估-后续池检测、API管理的仪表状态和操作员检查表(部署池/提交仪表/准备迁移)
- 学习 协议机制按需通过
mv_get_protocol_context(PT/YT身份、路由器批处理、存款路径、术语表、费用和成本、工作流路由、外部位置注册表) - 表面 协议YT费用(Spectra 3%,Pendle 5%)和Merkl活动资格(POOL vs HOLD)直接在工具输出中,因此代理无需外部查找即可应用它们
代理不需要了解PT/YT机制,它只需要调用 spectra_scan_opportunities 或 pendle_scan_opportunities 凭借其资本规模和排名,获得可操作的数据。对于跨协议比较, mv_scan_curator_opportunities 将这两个协议排在一起。如果需要了解 *为什么* 有些东西就是这样工作的,它叫 mv_get_protocol_context.
开放式新兴架构
服务器的设计使AI代理可以 在不教授具体策略的情况下发现新策略该系统不是硬编码策略识别逻辑,而是在三层教授协议机制,并让代理将构建块组合到自己的分析中。
三层
Layer 1: Protocol Context (mv_get_protocol_context tool + resources)
→ Teaches the "physics" of the protocol: PT/YT identity, Router batching, minting
→ Available as a callable tool (on-demand) and as MCP resources
→ Static knowledge — what CAN happen, not what IS happening
Layer 2: Tool Descriptions (every tool's description string)
→ Teaches domain-specific mechanics relevant to that tool's data
→ Cross-reference nudges: "use spectra_get_portfolio to check actual holdings"
→ Uses "could be" language, not "is" — preserves ambiguity where it exists
→ Calls out hidden mechanics that could mislead (e.g., AMM_ADD_LIQUIDITY can mint YT)
Layer 3: Structured Output Hints (computed at runtime in tool output)
→ Position Shape analysis in portfolio: balance ratios (e.g., "YT/PT 4:1")
→ Portfolio Signals: concentration, maturity alerts, strategy shape across positions
→ Volume Signals: volume/liquidity ratio, buy/sell skew, trend detection
→ Morpho Market Hints: capacity warnings, utilization alerts, spread analysis, reward incentives
→ Morpho Supply-Side Analysis: supplier identification (vault/EOA/looper), concentration metrics,
supply gap warnings — surfaces where lending liquidity comes from and whether it's sufficient
→ Competing Interpretation Branches (A/B/C) in activity analysis per-address:
multiple explanations for the same observable pattern, presented with equal weight.
The agent must bring external evidence to collapse branches — the tension IS the info.
→ Statistical confidence boundaries: small-N cycle repetitions (≤5) flagged as
insufficient for extrapolation, preventing false pattern-matching
→ Flow Accounting with competing hypotheses: YT-only, PT-only, fully exited positions
each get multiple explanations that predict different future behavior
→ Address isolation mode: cycle detection, flow accounting, contract/EOA detection,
pool impact warnings, gas estimates, pool context
→ Capital-aware warnings: short maturity, low liquidity, negative effective APY
→ Yield Dimensions in scan output: fixed, variable, LP, looping side-by-side
→ Strategy Tension: competing PT looping vs YT accumulation on same pool
→ On-chain quote source indicators: "(on-chain Curve get_dy)" vs "(estimated)"
→ Yield composition: IBT APR breakdown (organic base vs external incentives) in scans and quotes
→ Incentive sustainability: flags when >50% of IBT APR or LP APY comes from incentives,
shows "organic only" APY so agents can assess yield durability without incentive assumptions
→ Pool reserves: IBT/PT amounts with ratio for AMM imbalance analysis
→ Merkl campaign APR: external incentive programs (e.g., KAT rewards) shown per-pool/market
with double-counting avoidance (skips campaigns whose reward tokens are already displayed)
→ Merkl campaign eligibility: action type (POOL/HOLD) always shown, with explicit
"[LP only — not for YT/PT holders]" flag on POOL campaigns to prevent misattribution
→ Protocol YT fees: Spectra 3% and Pendle 5% shown in every pool/market detail output
so agents apply them to yield calculations without needing external lookups
→ Points multipliers: external programs (Drops, InfiniFi, Firelight) with amounts
→ "Could be" / "at current rates" language: preserves ambiguity in ranked output
→ Makes key signals SALIENT without prescribing interpretation
Layer 4: Observation Coverage (quantifies blind spots in tool output)
→ Value coverage: what % of an address's position is explained by observable activity.
Low coverage means most behavior is invisible (direct mints, transfers, cross-chain).
→ Temporal coverage: active days vs dark periods with no observable events.
Longest gap duration surfaced so the agent can reason about invisible activity.
→ Data source coverage: which of 5 available sources were consulted vs not.
Explicitly lists what is invisible to the current analysis.
→ Activity diversity: single-type activity flagged as highest-ambiguity pattern.
→ Boundary marker: "Position sizing should assume this analysis is incomplete,
not comprehensive." — a structural admission of domain-of-validity limits.
→ Coverage metrics bound ALL interpretations above them. High-confidence strategy
assessment + low observation coverage = false confidence. The coverage section
forces the agent to size its conviction to what it actually observed.设计原则
- 教力学,而不是结论。 服务器解释AMM_AD_LIQUIDITY *可能是* mint+LP批处理操作——它不会得出“此用户正在累积YT”的结论
- 呈现相互竞争的解释,而不是单一的叙述。 活动分析输出多个解释分支(A/B/C),用于预测不同的未来行为。特工必须拿出外部证据来瓦解他们。这种摩擦面可以防止过早的模式匹配,这是钱包策略分析中最常见的失败模式。
- 标记统计不足。 小重复计数(≤5个循环检测)被明确标记为不足以进行外推。代理不能将N=3视为确认模式。
- 每个工具都会交叉引用至少一个其他工具。 这创建了分析工作流程,而无需对其进行规定。代理人学会检查
spectra_get_portfolio在看到活动模式后,不是因为它被告知。 - 隐藏的机制在可能误导的地方被唤醒。 Spectra Router以原子方式批处理多个操作。A.
SELL_PT事件实际上可能是通过flash mint收购YT。工具描述教导了这一点,因此代理不会仅从池数据中得出错误的结论。 - 输出中的完整地址,从不截断。 当地址出现在活动数据中时,它们会完整显示,以便代理可以直接将其传递给
spectra_get_portfolio而不需要块浏览器。 - 发现工具警告资本意识差距。
spectra_get_best_fixed_yields明确表示“这是按原始APY排名的——使用spectra_scan_opportunities了解资本规模。" - 量化盲点,而不仅仅是解释。 工具现在输出观察覆盖率指标:可见行为的百分比是多少,咨询了哪些数据源与可用数据源,以及黑暗期持续了多长时间。这些不是解释,而是对分析本身不完整性的结构性衡量。一个看到35%价值覆盖率的代理应该相应地调整其置信度,无论最合适的解释看起来多么连贯。
为何这很重要
对协议没有先验知识的冷启动代理可以:
- 呼叫
mv_scan_curator_opportunities--查看具有资本感知指标的跨协议(Spectra+Pendle)收益率排名 - 呼叫
spectra_get_pool_activity--查看交易模式⚠ 关于模糊事件的提示 - 呼叫
spectra_get_portfolio和pendle_get_portfolio关于标记的地址——请参阅两种协议中的位置形状 - 阅读交叉引用提示——构建跨越所有三个协议的自己的分析工作流程
- 识别服务器从未明确编程检测的新策略
这一点得到了验证:一个由零启动产生的子代理在3次工具调用中正确识别了造币和卖出PT循环策略(通过PT折扣进行YT累积),仅使用描述中教授的机制和输出中的结构化提示。
竞争分支设计的动机是一个真正的失败:一个分析多链钱包的代理将所有活动折叠成“YT累加器”,尽管不同的池显示出不同的模式(点差捕获、做市、LP循环)。单一叙事失败模式——代理人选择一种解释并为其辩护——是最危险的,因为它看起来像是从内部进行的良好分析。
观测覆盖层解决了一个更深层次的问题:当数据覆盖了少数行为时,即使对观测数据的完美解释也会产生误导。竞争的分支机构解决了 *叙述* 问题(哪个故事合适?)。覆盖率指标解决了 *暴露* 问题(我看到了这张照片的多少?)。一个选择了最佳解释分支但忽略了65%无形活动的代理人是将信念与连贯性联系起来,而不是证据。
工具
| 工具 | 说明 |
|---|---|
spectra_get_best_fixed_yields | 扫描所有连锁店,寻找最高固定利率机会。主要的发现工具。支持 compact 模式。 |
spectra_list_pools | 列出特定链上的所有活动池,按APY/TVL/成熟度排序。地表储量、IBT APR成分、成熟度值、乘数和标签。支持 compact 模式和 include_expired 旗帜。 |
spectra_get_pt_details | 深入了解特定的主代币——完整的数据,包括到期值、乘数(点数计划)、标签、池储备、IBT APR构成和包装代币的baseIbt。 |
spectra_compare_yield | 固定(PT)与可变(IBT)收益率比较,包括价差机制和入场成本分析。 |
spectra_get_looping_strategy | 通过PT+Morpho循环计算杠杆收益率,包括有效清算保证金、借款利率敏感性(+1/2/3%)、盈亏平衡期和失败情景建模。当存在匹配的市场时,自动获取实时Morpho价格。 |
morpho_list_markets | 寻找接受Spectra PT作为抵押品的Morpho贷款市场。按链或符号过滤。显示奖励激励、每个市场的保险库供应商数量。交叉引用Spectra PT地址。 |
morpho_get_rate | 获取特定Morpho市场的实时借贷利率、州和供应方背景。包括PT价差分析、顶级供应商识别和保险库分配详细信息(占AUM的百分比、上限利用率)。 |
morpho_get_market_suppliers | Morpho市场的供应侧分析:按规模、保险库与EOA/活套识别、集中度分析、供应缺口警告对顶级供应商进行排名。揭示贷款流动性的来源。 |
morpho_list_vaults | 在具有丰富分配的链上列出Morpho保管库:Spectra PT标签、实时借用率和每次分配的利用率、上限利用率百分比。并行获取市场速率和PT地址,以实现零延迟丰富。 |
morpho_get_positions | 查询用户在链(或所有Morpho链)上的市场和金库中的Morpho头寸。显示抵押品、借款、美元价值供应、金库存款、健康因素、漏洞检测和头寸信号。 |
morpho_get_history | 特定Morpho市场的历史增长率和增长率。显示借款/供应APY、利用率和TVL趋势,包括最小/平均/最大/当前统计数据。包括利率稳定信号、尖峰检测和供需紧缩警报。 |
spectra_get_protocol_stats | SPECTRA代币组学、排放计划、费用分配、治理信息。 |
spectra_list_chains | 列出可用网络(10条链)。 |
spectra_get_portfolio | PT、YT和LP的钱包头寸,包括美元价值、可索赔收益和Merkl奖励(SPECTRA衡量排放+激励计划)。通过原因密钥解析将奖励与特定池匹配。 |
spectra_get_pool_volume | 特定池的历史买入/卖出交易量。接受PT地址或池地址。 |
spectra_get_pool_activity | 最近的个人交易(购买、出售、流动性事件),带有过滤功能。地址隔离模式显示了竞争的解释分支(A/B/C)、周期的统计置信边界、具有竞争假设的流量会计、合同/EOA检测、天然气估算。接受PT或池地址。 |
spectra_get_address_activity | 跨池地址扫描器——在一次调用中查找一个地址在链(或所有链)上与之交互的所有池。通过投资组合查找包括过期/到期池。按池细分+跨池聚合。 |
spectra_quote_trade | PT贸易报价与链上曲线 get_dy() 为了获得精确的输出(回到数学估计)。显示价格影响、滑点、minOut、带比率的池储备和IBT APR构成。 |
spectra_simulate_trade | 在假设的PT交易之前/之后预览投资组合,包括增量、警告和链上报价。 |
spectra_scan_opportunities | 资本意识机会扫描器:您规模的价格影响、有效APY、Morpho循环、池容量、IBT APR构成和点数乘数。支持 compact 模式。 |
spectra_scan_yt_arbitrage | YT利率与IBT利率套利扫描器——找出YT相对于基础收益率定价错误的池。包括用于传播可持续性分析的IBT APR组成。支持 compact 模式。 |
spectra_get_ve_info | 来自基础链的实时veSPECTRA数据(通过链上读取的总供应量)+带有每个池乘数的boost计算器。 |
spectra_list_metavaults | 列出所有链(或特定链)上的实时MetaVaults。返回策展人信息、TVL、实时APY、股价、活跃头寸和时代历史。 |
spectra_model_metavault | MetaVault为策展人提供“双环”战略建模。直播模式(chain+metavault_address)从API自动传送APY;手动模式直接接受base_apy。模型策展人经济学(费用收入、TVL创建、有效投资回报率)。 |
spectra_get_curator_dashboard | MetaVault管理员的操作仪表板。保险库健康状况、保险库分配的头寸状态(如果可用)与池TVL、存款人流量、费用收入估算、桥接活动和可操作的警报。明确区分vault分配与池级TVL,以防止误解。 |
pendle_list_markets | 列出给定链或所有Pendle链上的活跃Pendle市场。仅支持Pendle链(Mantle、Berachain、HyperEVM、Corn)。支持 compact 模式。 |
pendle_get_market_details | 深入了解单个Pendle市场——隐含的APY、LP APY细分(掉期费+Pendle激励+提升)、潜在变量APY、池储备、费率、Merkl活动。 |
pendle_get_best_fixed_yields | 扫描所有Pendle链条,寻找最高固定费率的机会。根据隐含的APY和TVL/流动性过滤器进行排名。Pendle等价物 spectra_get_best_fixed_yields. |
pendle_get_portfolio | 所有Pendle链上的钱包头寸——PT、YT、LP余额,每个头寸的美元价值和隐含的APY。 |
pendle_scan_opportunities | 具有资本意识的Pendle机会扫描器——使用logit AMM模型、有效的APY、Pendle PT的Morpho循环、Merkl活动对您的规模产生价格影响。支持 compact 模式。 |
pendle_get_market_capacity | Pendle市场的多规模容量曲线——使用logit AMM模型在几何资本层报价,以找到最佳点和耗尽点。 |
pendle_get_yield_curve | Pendle链中给定底层的期限结构。所有到期日均按时间顺序排列,采用曲线形状分析(正/反转/平坦)、最陡段、交叉链对。 |
pendle_list_expiring_markets | 扫描Pendle链,寻找即将成熟的市场。按紧急程度分组(严重≤7d,警告≤14d,警报≤阈值)。 |
pendle_scan_yt_arbitrage | YT错误定价扫描器——比较潜在变量APY与隐含利率。Pendle YT直接在AMM上交易(比Spectra的Router闪存造币/兑换更简单)。 |
pendle_get_protocol_stats | 协议范围内的汇总统计数据——所有Pendle链的总TVL、市场计数、交易量、平均APY,以及每条链的细分和光谱重叠指标。 |
pendle_get_looping_strategy | 利用PT+Morpho循环计算器计算Pendle PT——借款利率敏感性、盈亏平衡分析、30天历史风险评估,P(水下)概率。自动检测Morpho市场。 |
pendle_quote_trade | PT交易报价使用Pendle-logit AMM模型——预期产量、价格影响、进入成本后的有效APY、最小产量和滑点容差。 |
pendle_simulate_trade | Pendle PT交易的投资组合影响模拟——头寸值前后、混合APY变化、集中度分析。 |
mv_compare_yield | 并列的Pendle与Spectra在重叠链(主网、基础、仲裁、乐观、声波、平衡计分卡)上的产量比较。具有可配置公差的成熟度感知匹配(精确≤7d,闭合≤30d,松散≤90d)。 |
mv_scan_curator_opportunities | MetaVault管理员的跨协议(Spectra+Pendle)资本感知扫描仪。根据您的尺寸影响价格,有效的APY,Morpho循环(光谱+Pendle),跨协议匹配标记。支持 compact 模式。 |
spectra_get_onchain_activity | 历史上的链上活动 eth_getLogs -在API事务超时时恢复数据。支持动态 rpc_url 任何链的参数, token_decimals 正确格式化(USDC=6,WBTC=8)。解 曲线池事件 (交换,LP添加/删除)通过 pool_address 与 Spectra PT保险库事件 (造币、兑换、收益索赔)通过 pt_address两者都可以同时提供用于合并结果。 |
spectra_get_pool_capacity | 多规模产能曲线——以几何资本等级对PT交易进行报价,以显示价格影响和有效的APY退化。识别最佳点和疲劳点。链上曲线报价。 |
mv_check_ibt_health | 多信号IBT健康评估——链上ERC-4626转换率、APR构成(有机与激励)、池余额比、协议识别、流动性水平。返回健康/小心/警告判决。 |
spectra_get_yield_curve | 所有链中给定底层的期限结构。所有到期日按时间顺序排列,隐含APY、TVL、流动性。曲线形状分析(正/反/平),最陡段,交叉链对。 |
morpho_monitor_risk | 保荐人Morpho头寸的清算风险监控——健康因素、清算价格、清算距离、借款利率漂移、警报级别(正常/观察/警告/关键)。 |
spectra_stress_test_vault | MetaVaults的提款压力测试——流动性瀑布(闲置)→ 成熟→ LP拆除→ PT销售),剩余存款人的成本,最大安全赎回规模。市场压力模式(2x影响)。 |
mv_plan_rollover | 到期MetaVault职位的职位滚动计划器--扫描Spectra+Pendle以寻找替代候选人,计算进入影响、收益缺口、重叠窗口和净有效APY。 |
mv_get_curator_portfolio | 多保险库投资组合汇总——总资产管理规模、混合APY、费用收入预测、按基础/链集中、跨保险库行动项目。发现模式(按策展人地址)或显式模式。 |
mv_get_calibration | 校准预言机——“正常”是什么样子的?根据任何Morpho市场、Pendle市场或Spectra池的历史数据计算统计基线(百分位数、异常阈值)。包括对等比较和断言就绪阈值语言。感知(监控)和规范(安全断言)之间的桥梁。 |
mv_get_position_map | 跨协议位置图——在一个并行调用中看到Spectra+Pendle+Morpho+治理(veSPECTRA+vePENDLE)的整个钱包。矛盾检测:未使用的治理激励、固定利率较高时的贷款、集中风险、漏洞检测、跨协议的到期头寸。诚实的故障报告(数字前显示不完整,数字后不显示)。第一个看到用户的工具,而不仅仅是协议。 |
spectra_get_gauge_votes | 完整的veSPECTRA治理仪表板——衡量投票分布、投票APR、贿赂激励、每个池的SPECTRA排放量。显示veSPECTRA持有者直接投票的位置、他们获得的奖励、排放浓度和贿赂效率(每票$)。 |
pendle_get_market_history | 任何Pendle市场的历史时间序列——包括7天/30天/90天/1年期间的APY、TVL、交易量、PT/YT价格。第一个回答“随着时间的推移发生了什么?”用于趋势分析、产量稳定性评估和异常检测的工具。 |
spectra_list_expiring_pools | 扫描所有链中接近到期日的池(默认21天阈值)。按紧急程度分组(严重≤7d,警告≤14d,警报≤21d)。将每个过期池的IBT与所有活动池进行交叉引用,以进行后续检测。从治理API获取仪表状态。每个池的准备状态评估(正常/小心/警告)。操作员检查表:部署继任者池,提交仪表提案,准备迁移。 |
mv_get_protocol_context | 返回12个主题的协议机制参考: pt_yt_mechanics, router_batching, position_analysis, looping, networks, deposit_path, glossary, fees_and_costs, pendle_morpho, workflow_routing, protocol_pulse (实时TVL/排放/到期池),以及 external_protocols (MetaVault可以通过外部位置(结算窗口、观察边界、每个条目的缓解措施)保存非光谱协议的注册表)。费用主题包括Spectra 3%/Pendle 5%YT费用、奖励基础(持有与名义)、Merkl活动类型和外部积分计划发现。 |
支撑链
光谱:以太坊(主网)、Base、Arbitrum、乐观主义、雪崩、Katana、Sonic、Flare、BSC、Monad、Hemi、HyperEVM、SEI
彭德尔:以太坊、乐观主义、BSC、Sonic、Base、Arbitrum、Mantle、Berachain、HyperEVM、Corn
Morpho PT市场:以太坊、base、arbitrum、Katanga
链表维护(手动)
这三个列表都是硬编码的 src/config.ts 当协议部署到新链上时,必须手动更新:
- 光谱 --编辑
SUPPORTED_CHAINS_INTERNAL(+CHAIN_RPC_URLS,CHAIN_RPC_FALLBACKS,CHAIN_BLOCK_TIMES,CHAIN_GAS_ESTIMATES每个链表)。每个Spectra原生工具(metavault列表、池列表、过期池、协议脉冲、策展人仪表板等)都从这个列表中读取数据,因此一次编辑会传播到任何地方。 - 彭德尔 --编辑
PENDLE_CHAIN_IDS+PENDLE_CHAIN_NAMES.真相来源:GET https://api-v2.pendle.finance/core/v1/chains. - 摩菲 --编辑
MORPHO_CHAIN_IDS.事实来源:Morpho GraphQLmorphoBlue每个链的查询。
没有自动金丝雀。这 CONFIG_VERIFIED_DATES 映射到 config.ts 当列表超过120天时,启动时会发出stderr警告,但这是一个日历警报,而不是“出现新链”警报。实际节奏:每月检查一次,或者在协议团队宣布新部署时检查。
最终和解的已知倾向:评论在 MORPHO_CHAIN_IDS 提及Morpho市场 hyperliquid(999) --这和我们新添加的链条是一样的 hyperevm。如果Morpho在HyperEVM上发布PT市场,我们希望对其进行扫描,请添加 hyperevm: 999 在Morpho地图上。
veSPECTRA增强
服务器通过原始数据直接从基础链读取实时veSPECTRA总供应量 eth_call (无醚类/viem依赖性),并使用实数Spectra公式计算每个池的升压倍数:
B = min(2.5, 1.5 * (v/V) * (D/d) + 1)
v = your veSPECTRA balance
V = total veSPECTRA supply (read live from Base)
D = pool TVL
d = your deposit size当您在veSPECTRA总量中的份额>=您在池TVL中的份额时,将获得2.5倍的提升。
接受的工具 ve_spectra_balance (spectra_scan_opportunities, spectra_scan_yt_arbitrage, spectra_compare_yield, spectra_get_ve_info)自动按池计算。veSPECTRA合同是基于NFT的投票托管(veNFT),位于 0x6a89228055c7c28430692e342f149f37462b478b 基于Base,来源于 光谱核心.
MetaVault发现和策略建模
MetaVaults是ERC-7540策划的保险库,可自动进行LP翻转,并将YT收益复合回LP头寸。两种工具协同工作:
spectra_list_metavaults --发现工具。从API获取实时MetaVault数据(/v1/{network}/metavaults),并行扫描单个链或所有链。返回策展人信息、TVL、实时APY、股价、带PT/池详细信息的活跃头寸以及纪元汇率历史。
spectra_model_metavault --具有两种模式的策略建模器:
- 实时模式:提供
chain+metavault_address自动获取保险库的实时APYbase_apy所有其他参数(借款利率、贷款价值比、策展人费用)仍可被覆盖。 - 手动模式:提供
base_apy直接用于假设或发射前建模。
“双循环”经济学:
Layer 1 (inside vault): Deposit → PT/LP allocation → YT yield → more LP (compounding)
Layer 2 (on top): MV shares → Morpho collateral → borrow → deposit back (leverage)关键的见解是:YT复利提高了保险库的APY基数,而杠杆则使更高的基数倍增。这比原始PT循环产生了“双循环溢价”,并随着杠杆率的增加而扩展。
策展人经济学 工具模型内置了外部存款的费用收入、循环产生的额外TVL以及策展人自有资本的有效投资回报率。
设置
从npm安装(推荐)
npm install -g metavault-mcp或者直接运行而不安装:
npx metavault-mcp从源代码安装
git clone https://github.com/Finanzgoblin/metavault-mcp.git
cd metavault-mcp
npm install
npm run build连接到克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"metavault-mcp": {
"command": "npx",
"args": ["metavault-mcp"]
}
}
}重新启动克劳德桌面。您将看到所有55个工具(Spectra、Pendle、Morpho、跨协议)可用。
连接到克劳德代码
claude mcp add metavault-mcp -- npx metavault-mcp深度分析提示
你预先提供的上下文越多,代理就越深入。每个输入解锁不同的工具链:
| 输入 | 它解锁了什么 |
|---|---|
资本规模($200K) | 价格对您的规模、池容量限制、有效APY的影响 |
钱包地址(0x...) | 投资组合模拟、现有头寸背景、Merkl奖励 |
| veSPECTRA平衡 | 每个池的实际提升(不是最小/最大范围) |
| 资产偏好 | 筛选收益率曲线,目标扫描 |
| 策略类型 | LP vs PT vs循环vs MetaVault——决定哪些工具被链接 |
| 到期窗口 | 期限结构分析,展期时间 |
理想的提示结合了所有这些。 以下是触发8-10个工具链的示例:
- 产量猎人: “我有5万美元USDC和10000 veSPECTRA。为我找到60-180天内最佳的风险调整固定收益率。检查IBT健康状况,引用我的确切条目,并显示池中还有谁。”
- 策展人: “我正在用50万美元自有资金在Base上建立一个USDC MetaVault,预计外部资金为200万美元。对双环经济进行建模,并比较Spectra与Pendle LP的分配。”
- 调查员: “钱包0xABC…在Spectra主网上处于活动状态。请向我显示所有内容——投资组合、所有池的活动、序列分析以及它们正在运行的策略。”
- 期限结构: “给我看看所有链上的ETH收益率曲线。期限溢价异常在哪里?前3个错误定价的报价池容量为20万美元。”
工具之间的交叉引用是真正深度发生的地方——没有一个工具能告诉整个故事。代理人打电话来 mv_get_protocol_context(topic="workflow_routing") 在运行时学习这些组合。
查询示例
连接后,您可以问Claude以下问题:
- “目前美元兑加元的最佳固定收益率是多少?”
- “显示Base上TVL超过5万美元的所有Spectra池”
- “使用Morpho在Base上计算PT-USDC的3x循环策略”
- “stETH的固定利率比可变利率好吗?”
- “Morpho市场接受Spectra PT作为抵押品吗?”
- “Morpho PT-USDC市场的借贷利率是多少?”
- “目前SPECTRA的排放量和锁定率是多少?”
- “向我展示所有链中0xABC…DEF的投资组合,包括任何无人认领的Merkl奖励”
- “这个池子最近的交易活动是什么?”
- “扫描主网上的所有池,查找地址0xABC…DEF的活动”
- “检查地址0xABC…DEF是合约还是EOA,并显示其交易模式”
- “报价购买价值10000美元的PT”
- “如果我买了5万个PT,我的投资组合会是什么样子?”
- “我有10万美元要部署——扫描所有链以获得最佳的风险调整收益”
- “扫描规模为50万美元的USDC机会,最大进入影响为2%”
- “在市场对收益率定价错误的地方寻找YT套利机会”
- “我有10万veSPECTRA——1万美元的存款能给我在这个池子上带来什么好处?”
- “显示veSPECTRA总供应量以及我需要多少才能获得最大增压”
- “现在有哪些MetaVaults正在运行?向我展示所有链上的所有MetaVault”
- “给我看看基地的MetaVaults——什么是APY,谁是策展人?”
- “在此基础上为MetaVault建模策略”(自动获取实时APY)
- “模拟一个MetaVault,基础APY为12%,YT复合为3%,策展人费用为10%——循环是什么样子的?”
- “比较基本APY为12%时的MetaVault循环与原始PT循环”
- “我正在策划一个拥有10万美元自有资本和100万美元外部存款的保险库——我的有效投资回报率是多少?”
- “比较Spectra和Pendle在Base上的收益率——哪种协议为USDC提供了更好的利率?”
- “我正在策划一个价值50万美元的MetaVault——扫描Spectra和Pendle以寻找最佳机会”
- “显示Arbitrum上所有按TVL排序的活跃Pendle市场”
- “在价格影响扼杀我的收益之前,我可以向这个池投入多少资金?”
- “此PT背后的IBT是否健康?检查转化率和APR构成”
- “给我看看USDC收益率曲线——每个到期日有什么利率?”
- “比较所有链上ETH的30天、90天和180天费率”
- “此地址几周前在Katana上交易,但spectra_get_pool_activity没有显示任何内容——拉取过去7天的链日志”
- “使用我的RPC URL获取此池的历史活动:https://rpc.katana.network"
- “监控我的Morpho头寸的清算风险——告诉我每个头寸的清算距离”
- “在Base上对我的MetaVault进行压力测试——如果30%的存款人在一个时期内赎回,会发生什么?”
- “我的MetaVault上有一个职位将在14天后到期——计划滚动并向我展示最佳候选人”
- “将我的策展人作品集整合到所有连锁店中——向我展示总资产管理规模、混合APY和专注度”
建筑
Agent (Claude/GPT/etc)
| MCP Protocol (stdio)
MetaVault MCP (this)
| HTTP (15s timeout, 1 retry on 5xx/network errors)
|
+-- api.spectra.finance/v1/{chain}/pools
+-- api.spectra.finance/v1/{chain}/pt/{address}
+-- api.spectra.finance/v1/{chain}/portfolio/{wallet}
+-- api.spectra.finance/v1/{chain}/pools/{pool}/volume
+-- api.spectra.finance/v1/{chain}/pools/{pool}/activity
+-- api.spectra.finance/v1/{chain}/metavaults
+-- app.spectra.finance/api/v1/spectra/*
+-- api.merkl.xyz/v3/userRewards (unclaimed Merkl rewards per wallet)
+-- api.merkl.xyz/v4/opportunities (Merkl campaign APR per chain)
+-- api.morpho.org/graphql (PT collateral markets, borrow rates)
+-- api-v2.pendle.finance/core/* (Pendle market data for cross-protocol comparison)
+-- mainnet.base.org (veSPECTRA on-chain reads via raw eth_call)
+-- Chain RPCs: eth_call for Curve get_dy() quotes, eth_getCode for contract detection
| (mainnet, base, arbitrum, optimism, avalanche, sonic, bsc, flare)
+-- Chain RPCs: eth_getLogs for historical pool activity (any chain via dynamic rpc_url)模块化TypeScript服务器。Read-only-查询Spectra现有的API、Morpho的GraphQL API、链上曲线的链RPC get_dy() 报价和合约检测以及veSPECTRA数据的Base RPC。无需钱包、无需交易、无需钥匙、无需web3库。
src/
index.ts Entry point, tool registration, Layer 1 resources (spectra-overview,
curator-strategy-guide), main(), graceful shutdown
config.ts Constants, chain config, Zod schemas, protocol parameters, veSPECTRA constants,
block time constants per chain, RPC URL resolution (hardcoded + dynamic override)
types.ts TypeScript interfaces (SpectraPt, MorphoMarket, ScanOpportunity, MerklTokenReward, MerklChainRewards, MerklCampaign, etc.)
api.ts Fetch helpers with retry, GraphQL sanitization, Morpho batch lookup,
veSPECTRA RPC with Promise-based dedup cache, 30s TTL pool data cache,
Curve get_dy() on-chain quoting, ERC-4626 convertToAssets() health check,
eth_getCode contract detection,
MetaVault multi-chain scanning, API response validation at system boundary,
chunked eth_getLogs with retry for historical event log fetching,
Merkl reward fetching and parsing (pool address extraction from reason keys,
BigInt wei→human conversion, matched/unmatched reward categorization),
Merkl v4 campaign APR fetching (60s TTL cache, inflight dedup, address-based lookup)
primitives.ts Format primitives (formatUsd, formatPct, formatDate, daysToMaturity,
estimatePriceImpact, chainIdToName) — HOME. Re-exported from formatters.ts
for backward compat with 42 consumer files.
protocols/ externalPositions registry (plugin-style extension for Spectra's whitelisted
ERC-4626 modules). types.ts (SourcedValue/InterpretedValue/ProtocolMeta + zod),
metadata.ts (avant + pendle + _unknown), cost-models.ts (zero, lp_exit_samechain,
lp_exit_crosschain_cctp, liquidation), engine.ts (renderExternalPosition,
classifyForStress, generateActionItems, DriftCollector), registry.ts (getMeta +
freshness warnings), index.ts (barrel). Spec: docs/protocols-metadata-spec.md.
formatters.ts Formatting, BigInt LLTV parsing, closed-form leverage math,
price impact, fractional-day maturity, boost computation,
slim envelope helpers, token amount formatting (BigInt → human-readable),
cross-protocol maturity matching (normalizeUnderlyingSymbol, matchByAssetAndMaturity),
Layer 3 output hints (Position Shape, LP APY breakdown,
volume signals, Morpho market hints, portfolio signals,
competing interpretation branches, statistical confidence boundaries,
flow accounting with competing hypotheses),
Layer 4 observation coverage (value coverage, temporal gaps,
data source coverage, activity diversity, boundary markers),
Merkl reward display (per-position matched rewards, unmatched/exited rewards),
Merkl campaign APR display (formatMerklCampaignLines with double-counting avoidance)
tools/ Layer 2: each tool description teaches domain-specific mechanics
context.ts mv_get_protocol_context (Layer 1 protocol mechanics, deposit paths, glossary, callable on-demand)
pt.ts spectra_get_pt_details, spectra_list_pools, spectra_get_best_fixed_yields, spectra_compare_yield
looping.ts spectra_get_looping_strategy
portfolio.ts spectra_get_portfolio (balance ratio strategy signals, portfolio-level hints, cross-ref nudges,
Merkl rewards integration — parallel fetch, per-position matching, unmatched rewards)
pool.ts spectra_get_pool_volume (with volume/liquidity hints), spectra_get_pool_activity (PT address resolution, Router batching,
address isolation w/ cycle detection, flow accounting, contract detection,
gas estimates, pool impact warnings, observation coverage metrics),
spectra_get_address_activity (cross-pool scanner with coverage boundary markers)
morpho.ts morpho_list_markets (with capacity/utilization hints), morpho_get_rate (with PT spread analysis)
protocol.ts spectra_get_protocol_stats, spectra_list_chains
quote.ts spectra_quote_trade (on-chain Curve get_dy() with math fallback)
simulate.ts spectra_simulate_trade (also uses on-chain quoting)
strategy.ts spectra_scan_opportunities (capital-aware, batch Morpho, negative-APY filtering, strategy tension)
yt_arb.ts spectra_scan_yt_arbitrage (YT execution mechanics, flash-mint/flash-redeem)
ve.ts spectra_get_ve_info
metavault.ts spectra_list_metavaults, spectra_model_metavault (live API + computational modeling),
spectra_get_curator_dashboard (vault allocation disambiguation, cross-chain position awareness)
pendle.ts pendle_list_markets, mv_compare_yield (maturity-aware cross-protocol yield comparison)
curator_scan.ts mv_scan_curator_opportunities (cross-protocol capital-aware scanner for MetaVault curators)
onchain.ts spectra_get_onchain_activity (historical eth_getLogs, Curve pool + PT vault event decoding, dynamic RPC)
capacity.ts spectra_get_pool_capacity (multi-size quote ladder, sweet spot / exhaustion detection)
ibt_health.ts mv_check_ibt_health (ERC-4626 conversion rate, APR composition, pool balance, verdict)
yield_curve.ts spectra_get_yield_curve (term structure for a given underlying across all chains)
risk_monitor.ts morpho_monitor_risk (liquidation distance, health factor, borrow rate drift, alert levels)
stress_test.ts spectra_stress_test_vault (withdrawal liquidity waterfall, market stress simulation)
rollover.ts mv_plan_rollover (expiring position rollover planner with cross-protocol candidates)
curator_portfolio.ts mv_get_curator_portfolio (multi-vault aggregation, AUM, blended APY, concentration)
expiry_monitor.ts spectra_list_expiring_pools (pool maturity monitoring, urgency grouping, successor cross-reference, gauge status, readiness assessment)
gauge_votes.ts spectra_get_gauge_votes (veSPECTRA governance: vote distribution, voting APRs, bribes, emissions)
pendle_history.ts pendle_get_market_history (historical APY, TVL, volume, PT/YT prices time-series)
position_map.ts mv_get_position_map (cross-protocol wallet view: Spectra + Pendle + Morpho + governance, contradiction detection)
test.cjs Integration test suite (405 tests, McpTestClient over stdio)
test-agent.cjs Agent reasoning test suite (82 assertions, McpTestClient over stdio)
AGENT-TESTS.md 38-question subjective test suite with grading rubrics (incl. open emergence, coverage, newcomer comprehension tiers)
EMERGENCE-AUDIT.md Open Emergence audit — competing branches, observation coverage, anomaly detection gaps
CODE-REVIEW.md Full codebase review (bugs, security, code quality, test coverage)
SECURITY-REVIEW.md Security-focused review (SSRF, GraphQL injection, dependency vulnerabilities)
docs/
recursive-meta-process.md Open Emergence metaframework specification
dissolution-conditions.md Dissolution conditions for every structural decision
architecture-review-agentic-accessibility.md Agentic accessibility review with feature proposals每个工具文件导出一个 register(server) 功能。添加新工具:创建 src/tools/newtool.ts,出口 register(),导入并调用它 index.ts.
所有地址参数均已验证(0x +40个十六进制字符)。所有API调用都有15秒的超时,并在瞬时故障(5xx、ETIMEDOUT、ENETUNRACH、ENOTFOUND)时自动重试。跨链扫描使用 Promise.allSettled 因此,一条链的失败不会阻碍其他链的结果。GraphQL输入经过消毒以防止注入。所有错误返回均使用MCP isError: true 用于向代理发送正确错误信号的标志。
类型安全
- API返回类型:
fetchSpectra()和fetchMorpho()返回Promise(不是Promise),在每个调用站点强制执行显式类型断言 - 无效凝聚:所有小数/余额回退使用
??(不是||)正确处理0十进制令牌 - Morpho状态字段:键入为
number | null以匹配实际API行为-阻止静默NaN传播 - JSON解析:正文先读为文本,然后
JSON.parse()--避免了掩盖错误诊断的流双重消耗 - BigInt精度:veSPECTRA总供应量解析如下
10n ** BigInt(18)以避免浮子中间溢出。贸易报价用途amountToBigInt()(字符串算术)以避免在以下情况下精度损失amount * 10^decimals超过MAX_SAFE_INTEGER - 输入验证:Zod模式强制执行
.min()/.max()所有数值输入的边界,以防止无效的GraphQL查询
技术细节
精确度和正确性
- Morpho LLTV:解析为
BigInt以避免18个十进制原始值上的浮点精度损失(例如。,860000000000000000→0.86确切地说) - 利用数学:封闭式几何系列
(1 - ltv^(n+1)) / (1 - ltv)替换迭代循环累加——数值精确和O(1) - YT仲裁:使用部分到期日计算隐含利率,避免在到期日附近出现一个年化误差
- 价格影响:零流动性池返回100%的影响(不是0%),防止机会扫描中的误报。将冲击限制在最大99%,以防止交易报价出现负输出
- 负APY滤波:进入成本超过收益的机会在排名前会被过滤掉,而不是排序到底
韧性
- 重试逻辑:封面
ECONNRESET,ETIMEDOUT,ENETUNREACH,ENOTFOUND,EPIPE,EHOSTUNREACH,EAI_AGAIN,以及UND_ERR_SOCKET错误 - 池数据缓存:每条链30秒TTL,带飞行中请求重复数据删除功能——30秒内的重复扫描可提供缓存数据
- API验证:
validatePtEntries()在系统边界筛选格式错误的API响应(验证地址、成熟度和名称字段) - veSPECTRA缓存:当多个工具同时运行时,基于Promise的重复数据消除可防止重复的RPC调用(5分钟TTL)
- Morpho批次限制:
first参数上限为min(addresses * 3, 500)避免GraphQL响应限制 - 链上报价:曲线
get_dy()通过原始eth_call在8条链上自动回退到RPC故障的数学估计 - IBT健康检查:ERC-4626
convertToAssets()通过原始eth_call--RPC不可用时的优雅降级(其他健康检查仍在运行) - 历史事件日志:堵塞
eth_getLogs(2000个块/块),每个块重试——跳过失败的块,因此仍会返回部分结果。动态的rpc_url参数启用任何没有硬编码RPC的链 - 合约检测缓存:永久
Map缓存用于eth_getCode结果(合同代码不变) - Merkl奖励:从Merkl API进行Best-effort并行获取-失败不会阻止投资组合显示。通过从原因键中提取正则表达式进行池地址匹配。大整数
parseWei()安全18进制算术的转换 - 墨克尔战役:每条链的尽力而为v4活动APR获取(60s TTL缓存,带飞行中数据消除)。失败返回空映射——工具输出不变。双重计算避免跳过奖励代币已通过本地API数据显示的活动
- MCP错误信号:所有错误捕获块返回
isError: true因此,代理可以区分错误和空结果 - PT地址解析:池工具(
spectra_get_pool_volume,spectra_get_pool_activity)接受池地址或PT地址并自动解析 - 错误记录:将Morpho查找日志中的块捕获到stderr,而不是默默地吞下失败
- 平滑关闭:
server.close()之前打过电话process.exit()信号/信号情报
测试
从源代码检查:
# Full integration suite (405 tests, requires network)
npm test
# Schema/registration only (98 tests, no network)
npm run test:offline
# Unit tests (242 tests, no network)
npm run test:unit
# Agent reasoning tests (82 assertions, requires network)
npm run test:agent单元测试(api.test.ts, formatters.test.ts, config.test.ts)
242个测试涵盖了纯函数逻辑:GraphQL净化、Morpho字段常数、Merkl奖励解析(从原因键中提取池地址、wei到人类转换、匹配/不匹配分类)、Merkl回报格式化、平衡格式化、跨协议成熟度匹配(规范化UnderlyingSymbol、matchByAssetAndMaturity)、Pendle logit AMM价格影响模型(estimateEndlePriceInact)、Pendel日期/成熟度助手(pendleDaysToMaturity、Pendle市场格式化器(压缩+摘要)和配置验证。不需要网络。
集成测试(test.cjs)
405项测试,包括工具注册、模式验证、API响应、链上曲线 get_dy() 引用、跨池地址扫描、地址隔离模式、跨协议策展人扫描和格式错误的地址否定测试。从实时API中动态发现池和PT地址,因此当池成熟时,测试不会过时。
Agent推理测试(test-agent.cjs)
跨多工具工作流测试的82个断言,用于验证“推理表面”——使用这些工具的代理能否检测异常、交叉引用数据并避免协议机制陷阱?测试包括:
- 协议上下文完整性 --介绍所有主题,解释路由器批处理歧义,包括交叉参考指南
- 异常检测 --原始APY与资本意识排名产生了不同的结果(故意分歧)
- 跨工具数据一致性 --APY之间的匹配
spectra_list_pools→spectra_get_pt_details→spectra_compare_yield - 路由器机制 --通过池活动检测造币和卖出循环→ 投资组合交叉引用
- 路由器限制 -API解析路由器txns
eth_getLogs地址过滤失败 - MetaVault数据完整性 --策展人信息、TVL、APY、金库流量、过期位置标记
- 过期池发现 —
spectra_list_pools仅返回活动池;MetaVaults表面过期头寸 - veSPECTRA增强数学 --最大提升(100万veSPECTRA+1K美元)与最小提升(100 veSPECTRA+10M美元)
- Morpho循环回退 --当PT没有Morpho市场时,操作优雅
- Morpho市场分类 --Spectra与Pendle/其他标签,不支持链式处理
- MetaVault扫描包含 —
include_metavaults标志正确显示/隐藏MetaVault部分 - 吊坠比较 --与delta、仅Pendle市场、聚合市场进行直接配对
- 表面处理API字段 --到期值、乘数(积分计划)、标签、带比率的池储备、IBT APR构成、包装令牌的基比特
- 投资组合中的Merkl奖励 --SPECTRA仪表排放出现在投资组合输出中,对空钱包的处理优雅
主观测试套件(AGENT-TESTS.md)
11个级别的38个可粘贴问题(基本工具使用→ 公开涌现→ 使用MCP工具时,使用评分量规评估LLM试剂质量。第8层测试“开放涌现”——在不崩溃为单一叙事的情况下保持相互竞争的解释的能力。第11层测试新来者的理解能力——代理人能否解释存款路径,识别保守的影响估计,并找到正确的扫描仪?这些程序旨在通过生成子代理并手动或以LLM为评判标准对响应进行评分来运行。
API 参考
此服务器封装了这些端点:
| 端点 | 由使用 |
|---|---|
GET /v1/{chain}/pools | spectra_list_pools, spectra_get_best_fixed_yields, spectra_scan_opportunities, spectra_scan_yt_arbitrage, spectra_get_yield_curve (30秒TTL缓存) |
GET /v1/{chain}/pt/{address} | spectra_get_pt_details, spectra_compare_yield, spectra_get_looping_strategy, spectra_quote_trade, spectra_simulate_trade, spectra_get_pool_capacity, mv_check_ibt_health, spectra_get_pool_volume/spectra_get_pool_activity (PT→池分辨率) |
GET /v1/{chain}/portfolio/{wallet} | spectra_get_portfolio, spectra_simulate_trade, spectra_get_address_activity (过期池发现) |
GET /v1/{chain}/pools/{pool}/volume | spectra_get_pool_volume |
GET /v1/{chain}/pools/{pool}/activity | spectra_get_pool_activity, spectra_get_address_activity (活动池+过期池) |
GET /v1/{chain}/metavaults | spectra_list_metavaults, spectra_model_metavault (直播模式) |
GET api.merkl.xyz/v3/userRewards?user={address}&chainId={chainId} | spectra_get_portfolio (Merkl奖励获取——SPECTRA测量排放+激励计划) |
GET api.merkl.xyz/v4/opportunities?chainId={chainId} | spectra_list_pools, spectra_get_pt_details, spectra_compare_yield, pendle_list_markets, mv_compare_yield, spectra_scan_opportunities, mv_scan_curator_opportunities, spectra_scan_yt_arbitrage (Merkl活动APR-60s TTL缓存) |
GET api.spectra.finance/v1/governance/voting-incentives | spectra_list_expiring_pools (仪表状态--池地址存在=仪表存在) |
GET app.spectra.finance/api/v1/spectra/circulating-supply | spectra_get_protocol_stats |
GET app.spectra.finance/api/v1/spectra/total-supply | spectra_get_protocol_stats |
POST api.morpho.org/graphql | morpho_list_markets, morpho_get_rate, spectra_get_looping_strategy (自动检测), spectra_scan_opportunities (批次) |
POST mainnet.base.org (eth_call) | spectra_get_ve_info, spectra_scan_opportunities, spectra_scan_yt_arbitrage, spectra_compare_yield (veSPECTRA总供应量) |
POST {chain RPC} (eth_call: get_dy) | spectra_quote_trade, spectra_simulate_trade, spectra_get_pool_capacity (链上报价的曲线StableSwap NG) |
POST {chain RPC} (eth_call: convertToAssets) | mv_check_ibt_health (ERC-4626 IBT转换率健康检查) |
POST {chain RPC} (eth_call: eth_getCode) | spectra_get_pool_activity (地址模式下的合约与EOA检测) |
POST {chain RPC} (eth_getLogs) | spectra_get_onchain_activity (历史曲线池事件+光谱PT保险库事件——支持动态 rpc_url 以(权力)否决 |
GET api-v2.pendle.finance/core/v2/{chainId}/markets/active | pendle_list_markets (彭德尔市场发现) |
GET api-v2.pendle.finance/core/v2/{chainId}/markets/active | mv_compare_yield (成熟度感知跨协议比较) |
GET api-v2.pendle.finance/core/v2/{chainId}/markets/active | mv_scan_curator_opportunities (跨协议资本感知扫描——Spectra+Pendle) |
注: {chain} 使用slug mainnet 以太坊(别名 ethereum 被服务器接受并自动映射)。
Pendle协议集成
提供13个吊坠工具 全功能奇偶校验 使用Spectra工具集,再加上2个用于统一分析的跨协议工具:
Pendle原生工具(13)
| 类别 | 悬吊工具 | 光谱等效物 |
|---|---|---|
| 发现 | pendle_list_markets | spectra_list_pools |
| 发现 | pendle_get_best_fixed_yields | spectra_get_best_fixed_yields |
| 分析 | pendle_get_market_details | spectra_get_pt_details |
| 分析 | pendle_get_market_capacity | spectra_get_pool_capacity |
| 分析 | pendle_get_yield_curve | spectra_get_yield_curve |
| 投资组合 | pendle_get_portfolio | spectra_get_portfolio |
| 战略 | pendle_scan_opportunities | spectra_scan_opportunities |
| 战略 | pendle_scan_yt_arbitrage | spectra_scan_yt_arbitrage |
| 战略 | pendle_get_looping_strategy | spectra_get_looping_strategy |
| 交易 | pendle_quote_trade | spectra_quote_trade |
| 交易 | pendle_simulate_trade | spectra_simulate_trade |
| 监测 | pendle_list_expiring_markets | spectra_list_expiring_pools |
| 协议 | pendle_get_protocol_stats | spectra_get_protocol_stats |
跨协议工具(2)
mv_compare_yield --对重叠链进行并排比较 成熟度感知匹配.标准化基础符号(wstETH↔stETH、USDC.e↔USDC),并在可配置的容差范围内按最接近的到期日进行匹配(精确≤7d,闭合≤30d,松散≤90d)。显示每对比赛的质量和成熟度差距。
mv_scan_curator_opportunities --MetaVault管理员的跨协议资本感知扫描仪。并行扫描Spectra和Pendle,计算您的资本规模的价格影响、进入成本后的有效APY、Morpho循环可用性(Spectra和Pendle PT)以及标签跨协议匹配。
悬挂式链条
与Spectra重叠:以太坊、Base、Arbitrum、乐观主义、Sonic、BSC 仅适用于吊坠:Mantle、Berachain、HyperEVM、玉米
与Spectra的主要区别
- AMM模型:Pendle使用时间衰减logit AMM(不是曲线稳定交换)。容量和报价工具使用保守的
scalarRoot=50估计。 - YT交易:Pendle YT直接在AMM上交易(
SY↔YT).Spectra YT通过路由器闪存造币/赎回间接交易。 - 激励:Pendle使用Pendle代币发射+vePENDLE增强(与Spectra的Spectra/veSPECRA系统分开)。
- 代币包装:Pendle使用SY(标准收益率)代币作为池资产,而不是像Spectra那样使用IBT(计息代币)。
链上历史活动
Spectra REST API(/v1/{network}/pools/{pool}/activity)仅保留最近交易的有限时间窗口。当调查具有较旧活动的地址或池时, spectra_get_onchain_activity 通过以下方式直接从区块链读取历史事件日志 eth_getLogs.
支持两种合同类型:
- 曲线水池 (
pool_address):TokenExchange、AddLiquidity、RemoveLiquidityOne - 光谱PT保险库 (
pt_address):铸币厂(存款IBT→ PT+YT),兑换(烧毁PT→ IBT),收益索赔
两者都可以同时提供——事件可以并行获取、合并并按块号排序。
主要特点:
- 动态RPC URL:代理人可以通过任何
rpc_url参数——适用于没有硬编码RPC的链(Katana、Monad) - 块取:每个块2000个块,每个块重试,尽最大努力(RPC问题的部分结果)
- 双合约解码:Curve StableSwap NG池事件和Spectra PrincipalToken保管库事件
- 块范围控制:明确
from_block/to_block或lookback_hours(默认24小时,最长720小时/30天) - 地址过滤:按特定地址筛选事件
- 无美元价值:链上日志不包含价格——代币金额以人类可读的形式显示
spectra_get_pt_details价格背景
与现有工具的可组合性:
Agent flow: spectra_get_pool_activity → empty? → spectra_get_onchain_activity(pool_address=...) → pool events
Agent flow: portfolio shows PT but no pool trades → spectra_get_onchain_activity(pt_address=...) → vault events (mint/redeem)延伸
遵循开放式涌现模式
添加新工具时,请遵循三层架构:
- 说明(第2层): 教授任何影响工具数据解释的协议机制。对于模棱两可的信号,使用“可能是”的语言。为至少一个相关工具添加交叉引用提示。
- 输出(第3层): 如果数据包含需要领域知识才能注意到的信号(例如,一个暗示策略的比率,一个可能意味着不同事情的事件),则计算一个结构化提示并将其包含在输出中。突出重点,但不要规定。当一个可观察的模式有多个有效的解释时,将它们表示为具有相等权重的竞争分支——不要选择一个。将小样本量标记为统计不足。
- 覆盖范围(第4层): 如果该工具的输出仅涵盖地址或池完整行为的一个子集,请量化盲点。报告价值覆盖率(可观察活动与头寸规模)、时间差距以及使用了哪些数据源与可用数据源。以边界标记结束:“头寸规模应假设此分析不完整,不全面。”覆盖率指标约束了所有解释分支——高置信度评估+低覆盖率=假置信度。
- 资源(第1层): 如果新工具引入了现有资源未涵盖的基本协议概念,请更新
spectra-overview在index.ts. - 溶解条件: 记录新结构何时不再服务
docs/dissolution-conditions.md每个第三层提示、架构模式和生成摩擦点都带有一个溶解条件——当情况发生变化时,重新评估的提示。
目标:一个只阅读工具描述和输出提示的冷启动代理应该能够正确使用该工具,并将其与其他工具组合成新的分析工作流程。
添加写入功能(未来)
为了使代理能够实际执行策略,您需要添加通过Spectra的Router合约构建未签名交易的工具。代理将返回事务调用数据供用户签名——从不持有密钥。
添加仪表/贿赂数据
查询当前时代投票、贿赂金额和选民奖励的频谱治理子图。这对于优化veSPECTRA投票策略的代理非常有价值。
尚未连接(API端点可用)
这些Spectra API端点已准备好集成。在中创建新文件 src/tools/,出口 register(),并将其导入 src/index.ts:
GET /v1/vision/{network}?tokens=...--特定代币的APR数据GET /v1/watch-tower/{network}/transactions--有条件订单数据GET /v1/{network}/metavaults/bridge/transactions--MetaVault跨链桥接交易数据(桥接量、在途金额)
许可证
麻省理工学院
