Skip to main content
Glama

Lido MCP 服务器

Lido 的参考 MCP 服务器 — stETH 质押、头寸管理、治理和收益金库监控,所有功能均可由任何 AI 智能体原生调用。

将 Claude、Cursor 或任何兼容 MCP 的智能体指向此服务器,即可在对话中质押 ETH。无需任何自定义集成代码。

为什么存在此项目

AI 智能体需要与 DeFi 协议交互,但将自然语言桥接到链上交易非常困难——涉及私钥、Gas 估算、协议特性(stETH 重定价)和交易安全性。此 MCP 服务器为智能体提供了一个结构化、安全的 Lido 交互界面:

  • 所有写入操作均支持试运行模拟 — 智能体在执行前可预览 Gas 成本并验证交易

  • 思维模型文档 (lido.skill.md) — 在智能体行动前教授其 Lido 概念,如重定价机制、wstETH 与 stETH 的权衡、安全的质押模式

  • 带有智能警报的实时金库监控 — 监控 Lido Earn 金库的收益变化、TVL 波动、份额价格异常以及协议分配转移(Aave、Morpho、Pendle、Gearbox、Maple),并通过 Telegram 或电子邮件以通俗语言发送警报

  • 灵活的规则引擎 — 定义如 apr < 3.0spread_vs_steth < -0.5 这样可读的警报条件,并自动与 stETH 基准进行比较

  • AI 驱动的解释 — 可选使用 Claude 将原始金库事件翻译成通俗语言消息,解释发生了什么、原因以及是否需要采取行动

  • 安全护栏 — 提供 read-only(只读)、dry-run-only(仅试运行)和 full(完全)模式,以及接收者白名单和每笔交易的 ETH 上限

Related MCP server: Lido MCP Server

MCP 服务器

70+ 个工具,涵盖质押、治理、金库监控和 L2 — 所有写入操作默认 dry_run: true

类别

工具

查询

lido_get_balances, lido_get_staking_apr, lido_get_rewards, lido_get_protocol_status, lido_convert_amounts, lido_get_withdrawal_requests, lido_get_claimable_eth, lido_get_chain_info

智能分析

lido_analyze_position, lido_estimate_withdrawal_time, lido_check_steth_rate, lido_check_gas_conditions, lido_get_swap_quote

质押 / 封装 / 提款

lido_stake_eth, lido_wrap_steth_to_wsteth, lido_wrap_eth_to_wsteth, lido_unwrap_wsteth_to_steth, lido_request_withdrawal, lido_claim_withdrawal, lido_swap_eth_for_ldo

治理

双重治理状态 + 在否决托管中锁定/解锁 stETH,Aragon DAO 投票/分析/解码,Snapshot 提案 + 投票,Easy Track 动议 + 反对,投票权 + 否决阈值 + 时间线

收益金库监控

lido_list_earn_vaults, lido_watch_vault, lido_unwatch_vault, lido_add_rule, lido_remove_rule, lido_check_vault, lido_list_watches, lido_get_vault_alerts, lido_test_notifications

stVaults V3

列出、检查、注资、提款、暂停/恢复信标存款、铸造/销毁份额、再平衡、创建金库、请求验证者退出

协议信息

TVL、费用结构、质押模块、节点运营商、合约地址

代币管理

代币信息、额度、批准、转账、撤销 stETH/wstETH/LDO 权限

提款 NFT

所有者查询、转账、批准

L2 wstETH

Base/Optimism/Arbitrum 上的余额、转账、信息 + 11 个 L2 上的跨链余额

L2 stETH

Optimism 上的重定价 stETH 余额 + 转账

6 个引导式提示词 — 用于质押 (stake-eth-safely)、头寸分析 (manage-position)、提款 (withdraw-steth)、治理审查 (review-governance)、金库管理 (manage-vault) 和治理参与 (participate-governance) 的多步工作流。

4 个实时资源lido://position/{address}, lido://protocol/status, lido://governance/state, lido://governance/votes

智能体思维模型 (lido.skill.md) — 见上文“为什么存在此项目”。

关键设计决策

  • 真实 SDK,无模拟 — 所有操作均通过 @lidofinance/lido-ethereum-sdkviem 直接与以太坊合约交互

  • 默认试运行 — 每个改变状态的工具默认 dry_run: true。智能体必须显式设置 dry_run: false 才能执行

  • 协议感知错误 — 原始区块链错误(资金不足、回滚、Nonce 冲突、质押限制、已暂停)会被翻译成人类可读的消息

  • MCP 注解 — 每个工具都声明了 readOnlyHintdestructiveHintidempotentHintopenWorldHint,以便智能体知道哪些工具可以在无需确认的情况下安全调用

  • L2 感知 — 将 LIDO_CHAIN_ID 设置为 Base、Optimism 或 Arbitrum,服务器将仅暴露 wstETH 相关工具;仅限 L1 的工具会自动排除

收益金库监控

监控 Lido Earn 金库(EarnETH, EarnUSD),并在发生值得关注的变化时通知存款人——使用通俗语言,而非原始数据。

工作原理

  1. 监控金库 — 使用金库地址调用 lido_watch_vault(使用 lido_list_earn_vaults 查找地址)

  2. 定义警报规则 — 将条件编写为针对实时金库数据评估的可读表达式

  3. 接收警报 — 当规则触发时,通过 Telegram 或电子邮件接收通知,并附带 AI 生成的解释

监控器持续运行:

  • 订阅每个金库的链上 Deposit(存款)/Withdraw(提款) 事件,以及 stETH 的 TokenRebased 事件,以实现近乎实时的反应

  • 作为后备,运行 30 秒轮询 健康检查

  • 每次检查时将金库 APR 与来自 Lido API 的 stETH SMA APR 进行比较

  • 检测协议分配转移 — 通过读取已知 Lido Earn 金库的链上子金库余额,监控底层协议(Aave、Morpho、Pendle、Gearbox、Maple)的分配变化

  • SQLite 持久化 — 所有状态(监控、快照、警报、去重)均保存在 SQLite 中,重启后依然有效

  • 6 小时去重 — 每个金库的每条规则均有 6 小时去重窗口,防止警报疲劳

警报发送

  • Telegram — 格式化的警报,包含严重程度指标、金库上下文、基准比较和可操作的建议

  • 电子邮件 — 带有相同上下文的 HTML 格式警报

  • AI 解释(可选) — 当设置了 ANTHROPIC_API_KEY 时,每个警报都会发送给 Claude,生成包含以下内容的通俗语言解释:

    1. 发生了什么 — 触发警报的具体指标

    2. 可能的原因 — 基于数据的合理推测

    3. 建议考虑事项 — 存款人应该采取行动、等待还是进一步调查

规则引擎

规则不是一组固定的预定义警报,而是你通过智能体以自然语言定义的开放式表达式。告诉 Claude “如果收益率低于 3% 就提醒我”,它会编写规则 apr < 3.0。说“如果金库表现开始落后于 stETH 超过 0.5%,且 TVL 也在下降,请通知我”,它会组合出 spread_vs_steth < -0.5 and tvl_change_pct < 0。智能体将你的意图翻译成针对实时金库指标评估的 mathjs 表达式:

变量

说明

apr / apy

当前金库 APR (%)

apr_prev / apy_prev

上次快照的 APR

apr_delta / apy_delta

快照间的 APR 变化(百分点)

tvl

总锁定价值

tvl_prev

上次快照的 TVL

tvl_change_pct

TVL 变化百分比

share_price

当前份额价格(资产/份额)

share_price_prev

上次快照的份额价格

share_price_change_pct

份额价格变化百分比

steth_apr

stETH SMA APR 基准(来自 Lido API)

spread_vs_steth

金库 APR 减去 stETH APR(正数表示表现优于基准)

max_alloc_shift

快照间最大的协议分配变化(百分点)

num_protocols

具有活跃分配的协议数量

top_alloc_pct

单一协议的最大分配比例 (%)

规则示例:

表达式

触发条件

apr < 3.0

收益率低于 3% — 简单的收益率下限

spread_vs_steth < 0

金库表现落后于原始 stETH 质押

spread_vs_steth < -0.5

金库表现落后于 stETH 超过 0.5 个百分点

tvl_change_pct < -10

检查间 TVL 下降 >10% — 资本外逃

share_price_change_pct < -0.1

份额价格下跌 — 可能存在漏洞或脱钩

apr < 3.0 and tvl_change_pct < -5

收益率下降且资本流出

abs(apr_delta) > 2.0

APR 出现大幅波动

apr < steth_apr - 1.0

落后于 stETH 基准超过 1 个百分点

apr > apr_prev * 1.5

APR 飙升至之前值的 1.5 倍

max_alloc_shift > 10

协议分配变动超过 10 个百分点

top_alloc_pct > 80

单一协议持有超过 80% 的金库资本

支持 and/or/not 布尔逻辑、比较运算符 (<, >, <=, >=, ==, !=)、算术运算 (+, -, *, /) 以及安全数学函数 (abs, min, max, round, floor, ceil, sqrt)。

每条规则都包含一个带有 {{variable}} 插值的消息模板:

APR dropped to {{apr}}%, below your 3% floor. stETH is at {{steth_apr}}%.

如果未提供消息,则会根据表达式模式自动生成。

规则引擎是沙盒化的 — 表达式被解析为 AST,并根据变量、函数和节点类型的白名单进行验证。无任意代码执行风险。

协议分配检测

对于已知的 Lido Earn 金库(strETH/EarnETH),监控器会读取每个金库子金库的链上余额,以确定资本如何在底层协议(Aave、Morpho、Pendle、Gearbox、Maple 等)之间分配。每次健康检查都会将当前分配与上次快照进行比较并检测变化。

分配数据出现在:

  • 健康报告 (lido_check_vault) — 显示各协议的百分比明细

  • 警报上下文 — 当任何规则触发时,警报包含分配转移详情(协议名称、变动前后的百分比、差值)

  • AI 解释 — LLM 接收分配转移数据,并能以通俗语言解释再平衡事件

  • 规则变量max_alloc_shiftnum_protocolstop_alloc_pct 允许你编写如 max_alloc_shift > 10 的规则(当任何协议的份额变动超过 10 个百分点时发出警报)

MCP 可调用的金库健康状况

其他智能体可以以编程方式查询金库健康状况 — 监控器不仅是一个通知服务,还是一个构建模块:

  • lido_check_vault — 针对任何 ERC-4626 金库的按需健康检查(无需监控)。返回 APR、TVL、份额价格和 stETH 基准差值

  • lido_list_earn_vaults — 从实时 API 发现可用的 Mellow 收益金库

  • lido_get_vault_alerts — 以编程方式查询警报历史

目标用例

1. 开发者通过 Claude 质押 ETH — 无需集成代码

User: "Stake 1 ETH with Lido"

Claude: Let me walk you through this safely.
  → Checks protocol status (not paused, limits ok)
  → Checks your balance (1.5 ETH available)
  → Shows current APR (3.4%, 7-day SMA 3.3%)
  → Dry-runs the transaction (gas: 0.002 ETH)
  → "Ready to stake 1 ETH. Gas cost ~0.002 ETH. Confirm?"

User: "Yes"

Claude: → Executes stake
  → "Done. TX: 0xabc... You received 1.0 stETH."

2. 存款人收到 Telegram 消息,解释 EarnETH 收益率隔夜下降的原因

User: "Watch the EarnETH vault. Alert me if yield drops below 4%
       or it falls behind raw stETH staking."

Claude: → Discovers vault via lido_list_earn_vaults
  → Calls lido_watch_vault with rules:
    - apr < 4.0 [warning]
    - spread_vs_steth < 0 [critical]
  → "Watching EarnETH (0x...). APR: 5.2%, TVL: 12,450 ETH.
     You'll get a Telegram alert if APR drops below 4%
     or the vault underperforms stETH."

[Overnight, APR drops to 3.6%]

Telegram: 🚨 EarnETH — Warning

  APR dropped to *3.60%*, down from 5.20%.

  The vault's yield fell 1.6pp since the last check. This likely
  reflects a rotation in the underlying strategy or temporary
  market conditions. The vault is still outperforming direct stETH
  staking (3.40%) by 0.20pp, so no immediate action is needed —
  but worth monitoring if the trend continues.

  • Current APR: 3.60%
  • Previous APR: 5.20%
  • stETH benchmark: 3.40%
  • Spread vs stETH: 0.20pp above

  View on Etherscan

3. 智能体在决定存款前查询金库健康状况

Agent: → Calls lido_check_vault(address="0x...")

Response:
  === Vault Health: EarnETH ===
  TVL: 12,450.00 ETH
  Share Price: 1.034521 ETH/share
  APR: 5.20%

  --- Benchmark ---
  stETH APR (SMA): 3.40%
  Spread: 1.80pp above stETH benchmark

  --- Protocol Allocations ---
  Aave: 32.1%
  Morpho: 28.4%
  Pendle: 18.7%
  Gearbox: 12.3%
  Maple: 8.5%

  Last checked: 2025-03-23T14:30:00.000Z

Agent: → Diversified allocation, positive spread — decides to deposit

4. 自然语言规则配置

User: "I want to know if the vault starts doing worse than just
       holding stETH, especially if people are also pulling money out.
       And give me a heads up if the share price ever drops suddenly —
       that could mean something bad happened."

Claude: I'll set up three rules for you.
  → Calls lido_add_rule: "spread_vs_steth < 0 and tvl_change_pct < -5" [warning]
    Message: "Vault underperforming stETH (spread {{spread_vs_steth}}pp)
              while TVL dropped {{tvl_change_pct}}%"
  → Calls lido_add_rule: "share_price_change_pct < -0.1" [critical]
    Message: "Share price dropped {{share_price_change_pct}}% — investigate immediately"
  → Calls lido_add_rule: "spread_vs_steth < -1.0" [critical]
    Message: "Vault is {{spread_vs_steth}}pp behind stETH — significant underperformance"

  "Done. Three rules active:
   1. Warning if the vault trails stETH while TVL is declining
   2. Critical alert on any sudden share price drop (>0.1%)
   3. Critical if the vault falls more than 1pp behind stETH

   Dry-ran all three against current data — none would fire right now
   (APR 5.2% vs stETH 3.4%, TVL stable). You'll get alerts the
   moment any condition is met."

5. DAO 贡献者查询并投票参与治理提案

User: "Show me the latest Lido DAO votes"

Claude: → Calls lido_get_aragon_vote
  → "Vote #185: Open — Yea 15.2M LDO (92%), Nay 1.3M LDO (8%)
     Vote #184: Executed — passed with 98% support ..."

User: "Vote yes on #185"

Claude: → Calls lido_vote_on_proposal (dry_run=true)
  → "Dry run: Vote Yea on #185. You have 5,000 LDO. Gas: ~0.001 ETH. Confirm?"

User: "Yes"

Claude: → Executes vote
  → "Done. Voted Yea on #185. TX: 0xabc..."

6. 质押者通过双重治理发出反对信号

User: "I want to signal opposition to the latest proposal."

Claude: → Calls lido_get_governance_state
  → "Governance is in Normal state. Veto signalling is at 0.12%,
     well below the first seal threshold of 1%."
  → Dry-runs lock of 10 stETH in escrow
  → "Ready to lock 10 stETH for governance. Gas: ~0.003 ETH. Confirm?"

User: "Yes"

Claude: → Approves stETH for escrow + locks
  → "Done. 10 stETH locked in veto signalling escrow. TX: 0xdef..."

设置

git clone <repo-url>
cd lido-mcp-server
cp .env.example .env  # edit with your RPC URL, private key, chain ID
npm install && npm run build && npm start

查看 .env.example 获取所有配置选项(链 ID、安全模式、Telegram、SMTP、Anthropic)。

连接到 Claude / Cursor

{
  "mcpServers": {
    "lido": {
      "command": "bash",
      "args": ["/path/to/lido-mcp-server/start.sh"],
      "env": {
        "LIDO_RPC_URL": "https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY",
        "LIDO_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY",
        "LIDO_CHAIN_ID": "1"
      }
    }
  }
}

许可证

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    Enables AI agents to interact with any EVM-compatible blockchain through natural language, supporting token swaps, cross-chain bridges, staking, lending, governance, gas optimization, and portfolio tracking across networks like Ethereum, BSC, Polygon, Arbitrum, and more.
    100
    30 npm
    41
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives any AI agent full access to Lido Finance's staking infrastructure through natural language. Stake ETH, manage positions, request withdrawals, and monitor protocol stats.
    -