Lido MCP服务器

Lido MCP服务器是一个参考MCP服务器,提供以太坊质押、代币包装与解包、提款请求与领取、余额和奖励查询、治理提案查询和投票、Uniswap支持的交换和跨链桥接等功能。

  • by drparadox05
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 drparadox05/Lido-MCP-Server

使用说明

丽都MCP服务器

Lido的参考MCP服务器,它公开了真正的链上工具,用于:

  • 将ETH投入 stETH
  • 包装和拆封 stETH 和 wstETH
  • 通过丽都提款队列申请提款
  • 平衡和奖励感知职位查询
  • 丽都DAO治理提案查询及投票
  • Uniswap驱动的交换和跨链网桥路由,具有批准意识的飞行前和模拟运行执行
  • 安全工具选择的智能体友好发现和心智模型指导

服务器通过以下方式使用直接合约调用 viem. 它不是REST包装器。 所有写入工具支持 dry_run 默认为 true.

安装和使用

对于用户: 看 用户指南.md 有关完整的设置说明。

快速启动:

你不需要手动安装任何东西。只需将此添加到您的MCP客户端配置中(Cursor、Claude Desktop等):

{
  "mcpServers": {
    "lido": {
      "command": "npx",
      "args": ["-y", "lido-mcp-server"],
      "env": {
        "LIDO_PRIVATE_KEY": "0x...",
        "ETHEREUM_RPC_URL": "https://eth-mainnet.g.alchemy.com/v2/...",
        "UNISWAP_API_KEY": "..."
      }
    }
  }
}

[!提示] 重要提示: 要充分利用此服务器,请向 lido.skill.md 将文件发送到您的AI代理(在自定义说明或工作区规则中)。这确保了代理了解丽都的重基机制和安全模式。

配置模板:

项目结构

src/
  config/
    env.ts
  lido/
    abis.ts
    advisor.ts
    account.ts
    clients.ts
    governance.ts
    index.ts
    networks.ts
    rewards.ts
    setup.ts
    staking.ts
    types.ts
    utils.ts
    withdrawals.ts
  server/
    createServer.ts
    index.ts
  shared/
    mcp.ts
  uniswap/
    api.ts
    index.ts
    tokens.ts
    types.ts
  index.ts

回购的结构使得合约元数据、运行时配置、链客户端、业务逻辑和MCP传输连接是分开的。 敏感环境访问集中在 src/config/env.ts 而不是分散在代码库中。

支持的网络

  • ethereum
  • base
  • optimism
  • arbitrum

核心质押、提款队列操作、包装和治理在上执行 ethereum. L2网络支持对桥接的Lido资产进行平衡感知读取。

实施MCP工具

  • lido_get_setup
  • lido_get_agent_guide
  • lido_get_account_overview
  • lido_get_portfolio_summary
  • lido_preflight_write_action
  • lido_get_rewards
  • lido_stake_eth
  • lido_wrap_steth
  • lido_unwrap_wsteth
  • lido_request_unstake
  • lido_get_withdrawal_requests
  • lido_claim_withdrawals
  • lido_get_governance_proposals
  • lido_vote_on_proposal
  • lido_execute_proposal
  • lido_preflight_uniswap_route
  • lido_execute_uniswap_route
  • lido_get_uniswap_route_status
  • lido_get_uniswap_bridgable_tokens

快速开始

1.安装依赖项

npm install

2.配置环境

复制 .env.example 到 .env 或者在shell中导出变量。

需要写入:

  • LIDO_PRIVATE_KEY
  • ETHEREUM_RPC_URL

有用的变量:

  • ETHEREUM_RPC_URL
  • BASE_RPC_URL
  • OPTIMISM_RPC_URL
  • ARBITRUM_RPC_URL

Uniswap驱动的路由发现和执行所需:

  • UNISWAP_API_KEY

Uniswap路由生成可选:

  • UNISWAP_UNIVERSAL_ROUTER_VERSION

3.建造

npm run build

4.跑过stdio

npm start

对于当地发展:

npm run dev

评委和开发人员快速提示

连接MCP服务器后,直接在Cursor或Claude中使用这些提示:

Show my Lido MCP setup status.
Show the Lido agent guide for staking.
Show my aggregated Lido portfolio summary.
Show bridgable destinations for wstETH on Ethereum.
Preflight a Uniswap route from ETH on Ethereum into wstETH on Base.
Dry run a Uniswap route from wstETH on Base into native ETH on Base.
Preflight staking 0.01 ETH on Ethereum.
Preflight wrapping 0.1 stETH into wstETH on Ethereum.
Dry run wrapping 0.1 stETH into wstETH on Ethereum.
Show my withdrawal requests and claimable ETH on Ethereum.
Show the 5 most recent Lido governance proposals.

更全面的漫游生活在 DEMO.md.

光标或Claude MCP配置

使用从该仓库启动服务器的stdio MCP条目。

例子:

{
  "mcpServers": {
    "lido": {
      "command": "node",
      "args": ["/home/drparadox/synthesis_hack/dist/index.js"],
      "env": {
        "LIDO_PRIVATE_KEY": "0x...",
        "ETHEREUM_RPC_URL": "https://eth-mainnet.your-rpc.example",
        "BASE_RPC_URL": "https://mainnet.base.org",
        "OPTIMISM_RPC_URL": "https://mainnet.optimism.io",
        "ARBITRUM_RPC_URL": "https://arb1.arbitrum.io/rpc",
        "UNISWAP_API_KEY": "your-uniswap-api-key"
      }
    }
  }
}

如果您更喜欢在开发过程中直接运行TypeScript,请将MCP客户端指向 tsx 和 /home/drparadox/synthesis_hack/src/index.ts 相反。

安全模型

  • 所有写入工具默认为 dry_run=true
  • lido_get_setup 返回推荐的第一个工具、安全默认值、快速启动提示和Uniswap API就绪元数据
  • lido_get_agent_guide 返回Lido心理模型、网络边界、工作流程指导和特定主题的工具建议
  • lido_preflight_write_action 可以在Lido核心写入进行模拟运行之前验证路径
  • lido_preflight_uniswap_route 在尝试Uniswap交换或网桥之前,检查批准要求、路由类型和执行兼容性
  • lido_execute_uniswap_route 默认为 dry_run=true 并使用直接批准,然后与交换流程 x-permit2-disabled=true
  • lido_get_uniswap_route_status 提交后可以跟踪交换和桥接路由的源链事务状态
  • 当需要批准才能执行主要操作时,会报告依赖于批准的流程
  • 提款请求被视为队列条目,而不是即时ETH退出
  • 治理写入要求配置的钱包有资格采取行动

奖励说明

丽都奖励不是一个简单的可申领的桶。

  • stETH 通过重新设定余额来显示奖励
  • wstETH 奖励通过不断提高的转化率出现 stETH

这 lido_get_rewards 该工具可以返回当前奖励上下文或自历史区块以来的净链上余额增量。 只有当地址在间隔期间没有转入或转出时,历史增量才应被解释为纯粹的质押奖励。

拆垛注意事项

在丽都不停车是一条两阶段的道路:

  • 请求退出 stETH 或 wstETH
  • 等待队列完成,然后申领ETH

服务器分别公开这两个阶段。

技能档案

回购包括 lido.skill.md,这为代理人提供了正确的心理模型:

  • 基址重置 stETH
  • 不重基 wstETH
  • L2与以太坊的责任
  • 安全审批和队列使用
  • 治理谨慎