Lido MCP Server
Servidor MCP de Lido
El servidor MCP de referencia para Lido: staking de stETH, gestión de posiciones, gobernanza y monitoreo de bóvedas de ganancias (earn vaults), todo invocable de forma nativa por cualquier agente de IA.
Conecta Claude, Cursor o cualquier agente compatible con MCP a este servidor y haz staking de ETH desde una conversación. No se necesita código de integración personalizado.
Por qué existe esto
Los agentes de IA necesitan interactuar con protocolos DeFi, pero tender un puente entre el lenguaje natural y las transacciones en cadena es difícil: claves privadas, estimación de gas, peculiaridades del protocolo (rebasing de stETH), seguridad de las transacciones. Este servidor MCP ofrece a los agentes una interfaz estructurada y segura para Lido:
Cada operación de escritura admite simulación (dry-run): los agentes previsualizan los costos de gas y verifican las transacciones antes de ejecutarlas.
Un documento de modelo mental (
lido.skill.md) enseña a los agentes conceptos de Lido antes de actuar: mecanismos de rebasing, compensaciones entre wstETH y stETH, patrones de staking seguros.Monitoreo de bóvedas en vivo con alertas inteligentes: observa las bóvedas de Lido Earn para detectar cambios en el rendimiento, variaciones en el TVL, anomalías en el precio de las acciones y cambios en la asignación del protocolo (Aave, Morpho, Pendle, Gearbox, Maple), con alertas en lenguaje sencillo vía Telegram o correo electrónico.
Motor de reglas flexible: define condiciones de alerta como expresiones legibles como
apr < 3.0ospread_vs_steth < -0.5, con comparación automática de referencia con stETH.Explicaciones impulsadas por IA: utiliza opcionalmente Claude para traducir eventos brutos de la bóveda en mensajes en lenguaje sencillo que explican qué cambió, por qué y si necesitas actuar.
Barreras de seguridad: modos
read-only,dry-run-onlyyfull, listas de permitidos de receptores, límites de ETH por transacción.
Servidor MCP
Más de 70 herramientas en staking, gobernanza, monitoreo de bóvedas y L2; cada operación de escritura tiene como valor predeterminado dry_run: true.
Categoría | Herramientas |
Consulta |
|
Inteligencia |
|
Stake / Wrap / Retiro |
|
Gobernanza | Estado de gobernanza dual + bloqueo/desbloqueo de stETH en fideicomiso de veto, votación/análisis/decodificación de Aragon DAO, propuestas + votación en Snapshot, mociones + objeciones de Easy Track, poder de voto + umbrales de veto + cronograma |
Monitor de Bóvedas Earn |
|
stVaults V3 | Listar, inspeccionar, financiar, retirar, pausar/reanudar depósitos de beacon, acuñar/quemar acciones, reequilibrar, crear bóveda, solicitar salida de validador |
Info del Protocolo | TVL, estructura de comisiones, módulos de staking, operadores de nodos, direcciones de contratos |
Gestión de Tokens | Información de tokens, asignaciones (allowances), aprobar, transferir, revocar para stETH/wstETH/LDO |
NFTs de Retiro | Búsqueda de propietario, transferir, aprobar |
L2 wstETH | Saldo, transferencia, información en Base/Optimism/Arbitrum + saldos entre cadenas en 11 L2s |
L2 stETH | Saldo de stETH con rebasing + transferencia en Optimism |
6 prompts guiados: flujos de trabajo de varios pasos para staking (stake-eth-safely), análisis de posición (manage-position), retiros (withdraw-steth), revisión de gobernanza (review-governance), gestión de bóvedas (manage-vault) y participación en gobernanza (participate-governance).
4 recursos en vivo: lido://position/{address}, lido://protocol/status, lido://governance/state, lido://governance/votes.
Modelo mental del agente (lido.skill.md): ver "Por qué existe esto" arriba.
Decisiones clave de diseño
SDK real, sin simulaciones: todas las operaciones pasan por
@lidofinance/lido-ethereum-sdkyviemhacia contratos reales de Ethereum.Dry-run por defecto: cada herramienta que cambia el estado tiene como valor predeterminado
dry_run: true. Los agentes deben establecer explícitamentedry_run: falsepara ejecutar.Errores conscientes del protocolo: los errores brutos de blockchain (fondos insuficientes, reversiones, conflictos de nonce, límites de stake, pausado) se traducen a mensajes legibles por humanos.
Anotaciones MCP: cada herramienta declara
readOnlyHint,destructiveHint,idempotentHintyopenWorldHintpara que los agentes sepan qué herramientas son seguras de llamar sin confirmación.Consciente de L2: establece
LIDO_CHAIN_IDen Base, Optimism o Arbitrum y el servidor expone solo herramientas específicas de wstETH; las herramientas solo de L1 se excluyen automáticamente.
Monitor de Bóvedas Earn
Observa las bóvedas de Lido Earn (EarnETH, EarnUSD) y avisa a los depositantes cuando algo que vale la pena saber ha cambiado, en lenguaje sencillo, no en datos brutos.
Cómo funciona
Observa una bóveda: llama a
lido_watch_vaultcon una dirección de bóveda (usalido_list_earn_vaultspara descubrirlas).Define reglas de alerta: escribe condiciones como expresiones legibles evaluadas contra datos de la bóveda en vivo.
Recibe alertas: recibe notificaciones vía Telegram o correo electrónico cuando se activen las reglas, con explicaciones generadas por IA.
El monitor se ejecuta continuamente:
Se suscribe a eventos
Deposit/Withdrawen cadena en cada bóveda yTokenRebaseden stETH para una reacción casi en tiempo real.Ejecuta una verificación de salud mediante sondeo de 30 segundos como respaldo.
Compara el APR de la bóveda contra el APR SMA de stETH de la API de Lido en cada verificación.
Detecta cambios en la asignación del protocolo en los protocolos subyacentes (Aave, Morpho, Pendle, Gearbox, Maple) leyendo los saldos de las subbóvedas en cadena para las bóvedas de Lido Earn conocidas.
Persiste todo el estado (observaciones, instantáneas, alertas, deduplicación) en SQLite: sobrevive a reinicios.
Ventana de deduplicación de 6 horas por regla por bóveda para evitar la fatiga por alertas.
Entrega de alertas
Telegram: alertas formateadas con indicadores de gravedad, contexto de la bóveda, comparación de referencia y orientación accionable.
Correo electrónico: alertas formateadas en HTML con el mismo contexto.
Explicaciones de IA (opcional): cuando se establece
ANTHROPIC_API_KEY, cada alerta se pasa a Claude, que genera una explicación en lenguaje sencillo que cubre:Qué cambió: la métrica específica que activó la alerta.
Por qué sucedió probablemente: explicaciones plausibles basadas en los datos.
Qué considerar: si el depositante debe actuar, esperar o investigar.
Motor de reglas
Las reglas no son un conjunto fijo de alertas predefinidas, son expresiones abiertas que defines en lenguaje natural a través del agente. Dile a Claude "avísame si el rendimiento cae por debajo del 3%" y escribirá la regla apr < 3.0. Di "notifícame si la bóveda comienza a tener un rendimiento inferior al de stETH en más de medio punto porcentual mientras el TVL también está cayendo" y compondrá spread_vs_steth < -0.5 and tvl_change_pct < 0. El agente traduce tu intención en una expresión mathjs evaluada contra las métricas de la bóveda en vivo:
Variable | Qué es |
| APR actual de la bóveda (%) |
| APR de la instantánea anterior |
| Cambio de APR entre instantáneas (puntos porcentuales) |
| Valor total bloqueado |
| TVL de la instantánea anterior |
| Cambio de TVL como porcentaje |
| Precio actual de la acción (activo/acción) |
| Precio de la acción de la instantánea anterior |
| Cambio del precio de la acción como porcentaje |
| Referencia de APR SMA de stETH (de la API de Lido) |
| APR de la bóveda menos APR de stETH (positivo = superando el rendimiento) |
| Mayor cambio de asignación de protocolo entre instantáneas (pp) |
| Número de protocolos con asignaciones activas |
| Mayor asignación de un solo protocolo (%) |
Reglas de ejemplo:
Expresión | Se activa cuando |
| El rendimiento cae por debajo del 3% — un suelo de rendimiento simple |
| La bóveda tiene un rendimiento inferior al staking de stETH bruto |
| La bóveda tiene un rendimiento inferior a stETH en más de 0.5pp |
| El TVL cae >10% entre verificaciones — fuga de capital |
| Caída del precio de la acción — posible exploit o desvinculación |
| El rendimiento cayó Y el capital se está yendo |
| Gran oscilación de APR en cualquier dirección |
| Cae más de 1pp detrás de la referencia de stETH |
| El APR aumentó a 1.5 veces su valor anterior |
| La asignación del protocolo cambió en más de 10pp |
| Un solo protocolo tiene >80% del capital de la bóveda |
Admite lógica booleana and/or/not, operadores de comparación (<, >, <=, >=, ==, !=), aritmética (+, -, *, /) y funciones matemáticas seguras (abs, min, max, round, floor, ceil, sqrt).
Cada regla incluye una plantilla de mensaje con interpolación {{variable}}:
APR dropped to {{apr}}%, below your 3% floor. stETH is at {{steth_apr}}%.Si no se proporciona un mensaje, se genera automáticamente a partir del patrón de expresión.
El motor de reglas está aislado (sandboxed): las expresiones se analizan en un AST y se validan contra una lista de permitidos de variables, funciones y tipos de nodos. No hay ejecución de código arbitrario.
Detección de asignación de protocolo
Para las bóvedas de Lido Earn conocidas (strETH/EarnETH), el monitor lee los saldos en cadena en cada subbóveda para determinar cómo se distribuye el capital entre los protocolos subyacentes: Aave, Morpho, Pendle, Gearbox, Maple y otros. Cada verificación de salud compara la asignación actual con la instantánea anterior y detecta cambios.
Los datos de asignación aparecen en:
Informes de salud (
lido_check_vault): muestra el desglose porcentual por protocolo.Contexto de alerta: cuando se activa cualquier regla, la alerta incluye detalles del cambio de asignación (nombre del protocolo, porcentajes desde/hacia, delta).
Explicaciones de IA: el LLM recibe datos de cambio de asignación y puede explicar eventos de reequilibrio en lenguaje sencillo.
Variables de regla:
max_alloc_shift,num_protocolsytop_alloc_pctte permiten escribir reglas comomax_alloc_shift > 10(alerta cuando la participación de cualquier protocolo cambia en más de 10pp).
Salud de la bóveda invocable por MCP
Otros agentes pueden consultar la salud de la bóveda mediante programación: el monitor no es solo un servicio de notificación, es un bloque de construcción:
lido_check_vault: verificación de salud bajo demanda para cualquier bóveda ERC-4626 (no se requiere observación). Devuelve APR, TVL, precio de la acción y diferencial de referencia de stETH.lido_list_earn_vaults: descubre bóvedas de ganancias Mellow disponibles desde la API en vivo.lido_get_vault_alerts: consulta el historial de alertas mediante programación.
Casos de uso objetivo
1. El desarrollador hace staking de ETH a través de Claude: código de integración cero
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. El depositante recibe un mensaje de Telegram explicando por qué el rendimiento de EarnETH cayó durante la noche
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 Etherscan3. El agente consulta la salud de la bóveda antes de decidir depositar
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 deposit4. Configuración de reglas en lenguaje natural
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. El colaborador de la DAO consulta y vota sobre propuestas de gobernanza
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. El staker señala oposición a través de la Gobernanza Dual
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..."Configuración
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 startConsulta .env.example para todas las opciones de configuración (ID de cadena, modo de seguridad, Telegram, SMTP, Anthropic).
Conectar a 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"
}
}
}
}Licencia
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/the-wunmi/lido-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server