使用说明
丽都MCP服务器
合成黑客马拉松提交——丽都金融赏金(5000美元曲目)
一个MCP(模型上下文协议)服务器,允许任何AI代理通过自然语言完全访问丽都金融的质押基础设施。质押ETH、管理头寸、请求提款和监控协议统计数据——所有这些都不需要编写一行智能合约代码。
这是什么?
将其视为AI代理和Lido质押合约之间的通用控制接口。就像一个讲简单英语而不是梯形逻辑的PLC一样,ABI编码、气体估计和检查点提示的复杂性被抽象到简单的工具调用后面。
任何兼容MCP的AI(Claude、GPT-4等)现在都可以说:
- “为我下注0.5 ETH”
- “我目前的赌注是多少?”
- “请求提取1 stETH”
- “当前的APY是什么?”
- “将我的stETH打包到wstETH中,以便在Aave中使用”
建筑
AI Agent (Claude/GPT)
│ MCP Protocol (stdio)
▼
┌─────────────────────────┐
│ Lido MCP Server │
│ ┌───────────────────┐ │
│ │ Tool Registry │ │ ← 10 tools exposed
│ │ (index.ts) │ │
│ └────────┬──────────┘ │
│ │ │
│ ┌────────▼──────────┐ │
│ │ Lido Client │ │ ← ethers.js blockchain calls
│ │ (lido-client.ts) │ │
│ └────────┬──────────┘ │
└───────────┼─────────────┘
│ JSON-RPC
▼
Ethereum Node (RPC)
│
▼
Lido Smart Contracts
├── stETH (0xae7ab96...)
├── wstETH (0x7f39C5...)
└── WithdrawalQueue (0x889ed...)
可用工具
| 工具 | 描述 | 需要钱包 |
|---|---|---|
get_staking_position |
完整头寸:ETH、stETH、wstETH余额 | 否 |
stake_eth |
存入ETH→ 接收stETH | 是 |
request_withdrawal |
stETH→ 提款NFT | 是 |
get_withdrawal_requests |
列出所有待处理/已完成的请求 | 否 |
claim_withdrawal |
索赔最终撤回→ ETH | 是 |
wrap_to_wsteth |
stETH→ wstETH(用于DeFi协议) | 是 |
get_lido_apy |
当前质押APY(SMA+最后一个纪元) | 否 |
get_protocol_stats |
总赌注、赌注者、市值 | 否 |
convert_steth_to_eth |
stETH金额→ 按实时汇率计算的ETH值 | 否 |
get_network_info |
已连接的网络和合同地址 | 否 |
设置
先决条件
安装
git clone <this-repo>
cd lido-mcp-server
npm install
npm run build
环境变量
# Required
ETH_RPC_URL=https://eth-holesky.g.alchemy.com/v2/YOUR_KEY
# Network (mainnet | holesky | goerli) — default: holesky
LIDO_NETWORK=holesky
# Optional — enables staking/withdrawal transactions
PRIVATE_KEY=0xYOUR_PRIVATE_KEY
# Optional — referral address for Lido (get a cut of fees)
LIDO_REFERRAL=0xYOUR_REFERRAL_ADDRESS
⚠️ 安全:永远不要暴露你的私钥。为代理人使用专用钱包,只使用您可以放心管理的ETH。这就像给某人一张有消费限额的公司卡,而不是你的主账户。
跑
# Production
npm start
# Development
npm run dev
连接到克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"lido": {
"command": "node",
"args": ["/path/to/lido-mcp-server/dist/index.js"],
"env": {
"ETH_RPC_URL": "https://eth-holesky.g.alchemy.com/v2/YOUR_KEY",
"LIDO_NETWORK": "holesky",
"PRIVATE_KEY": "0x..."
}
}
}
}
连接到克劳德代码/任何MCP客户端
ETH_RPC_URL=<rpc> LIDO_NETWORK=holesky PRIVATE_KEY=0x... node dist/index.js
对话示例
检查位置
User: How much have I staked on Lido?
Claude: [calls get_staking_position with your address]
→ "You have 2.4731 stETH (worth ~2.4819 ETH) and 0 wstETH on holesky."
抵押ETH
User: Stake 0.1 ETH for me
Claude: [calls stake_eth with eth_amount: "0.1"]
→ "Successfully staked 0.1 ETH and received 0.0997 stETH.
Transaction: https://holesky.etherscan.io/tx/0x..."
监控APY
User: What's the current Lido yield?
Claude: [calls get_lido_apy]
→ "Current Lido staking APY: 3.82% (7-day SMA). Most recent epoch: 3.91%"
安全模型
- 默认情况下为只读:没有
PRIVATE_KEY,所有写入操作都会返回一条明确的错误消息。没有意外交易。 - 无关键风险:私钥仅用于对交易进行签名,它从不记录或在工具响应中返回。
- 先测试网:默认网络是Holesky测试网。明确设置
LIDO_NETWORK=mainnet使用实际资金。 - 余额检查:所有投注/提款工具在播放前都会验证是否有足够的余额。
- 提款限额:在合同层面强制执行+在提交前进行验证,以防止交易失败。
链上地址
主网
- stETH:
0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 - wstETH:
0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 - 提款队列:
0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B4
Holesky(测试网)
- stETH:
0x3F1c547b21f65e10480dE3ad8E19fAAE172E1fBf - wstETH:
0x8d09a4502Cc8Cf1547aD300E066060D043f6982D - 提款队列:
0xc7cc160b58F8Bb0baC94b80847E2CF2800565C50
赏金背景(丽都金融——5000美元)
本次提交针对的是 参考MCP服务器 子赏金:
“一个参考MCP服务器,因此任何人工智能都可以通过自然语言对话来下注和管理头寸(5000美元)”
是什么让这不仅仅是一个基本的整合:
- 全生命周期覆盖:股份→ hold → DeFi包装→ 解包→ 撤回→ claim
- 测试网优先设计:安全默认值,真实凭据可选
- 生产错误处理:余额检查、定稿保护、大额提款的区块分割
- 零设置读取模式:APY、统计数据和位置查询无需任何钱包即可使用
- 可组合:设计为其他代理可以将其用作构建块
许可证
麻省理工学院