关于 EchoLedger
EchoLedger 是用于分析 Uniswap V2/V3、Balancer 和 Curve stableswap 流动性池及 LP 仓位的 DeFi MCP 服务。它读取实时链上状态,也可构建便携式 State Twin 供本地反事实分析;托管服务已停用。
主要功能
- 01分析 LP 仓位盈亏和无常损失
- 02模拟价格变动和滑点
- 03检查池健康状况及风险信号
- 04评估 Curve stableswap 脱锚风险
- 05构建便携式 State Twin 供本地分析
适用场景
- 01评估 Uniswap V2/V3 LP 仓位
- 02估算交易滑点和价格影响
- 03检查池活动及风险信号
- 04使用 State Twin 测试脱锚情景
MCP 相关
该服务曾提供 11 个 MCP 工具,用于实时池分析和创建 State Twin,每次调用均需提供 RPC URL。其公共端点已下线,服务不再托管。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.echoledger.ai/mcpclaude mcp add --transport http icmoore-echoledger https://mcp.echoledger.ai/mcp{"mcpServers":{"icmoore-echoledger":{"type":"http","url":"https://mcp.echoledger.ai/mcp"}}}在 Cursor 中打开{"servers":{"icmoore-echoledger":{"type":"http","url":"https://mcp.echoledger.ai/mcp"}}}在 VS Code 中打开{"mcpServers":{"icmoore-echoledger":{"type":"http","url":"https://mcp.echoledger.ai/mcp"}}}{"mcpServers":{"icmoore-echoledger":{"serverUrl":"https://mcp.echoledger.ai/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
11| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| rpc_url | string | 是 | 用于读取实时资金池状态的 Ethereum(或 L2)JSON-RPC URL。必填;每次调用由你提供(BYO-RPC),且可能包含你的服务提供商密钥。该端点不会存储或记录任何内容——URL 不会被持久化,也不会写入日志。 |
| chain_id | integer | 否 | 可选校验。如果提供的 chain id 与 RPC 返回的值不同,则拒绝调用。概念上默认为 1(Ethereum 主网);省略则跳过检查。 |
| lwr_tick | integer|null | 否 | 仓位的下限 tick(仅适用于 V3 仓位;V2 时为 null)。 |
| upr_tick | integer|null | 否 | 仓位的上限 tick(仅适用于 V3 仓位;V2 时为 null)。 |
| pool_type | enum | 是 | pool_address 所指资金池所属的协议。此工具接受 uniswap_v2 | uniswap_v3。uniswap_v2 | uniswap_v3 |
| entry_x_amt | number | 是 | 建仓时最初存入的 token0 数量。 |
| entry_y_amt | number | 是 | 建仓时最初存入的 token1 数量。 |
| lp_init_amt | number | 是 | 仓位持有的 LP 代币数量(以人类可读单位表示的仓位规模)。 |
| block_number | integer | 否 | 可选的区块编号,用于将读取固定到历史区块。省略则读取最新区块。 |
| pool_address | string | 是 | 要分析的链上资金池/交易对地址(Uniswap V2/V3 交易对、Balancer 加权资金池或 Curve 稳定币兑换池)。必填。小写、大写或 checksum 大小写均可。 |
| holding_period_days | number|null | 否 | 可选的持有期限(天)。如果提供,则 real_apr 根据 net_pnl 年化。 |
详细介绍
⚠ 已停用(2026-10-23)。 此 MCP 服务已不再托管。公共 端点
mcp.echoledger.ai已下线,相关列表也已移除。此处仅供 参考。无人维护,也未部署。
echoledger-mcp
EchoLedger 的 MCP 服务。分析 Uniswap V2/V3、Balancer 和 Curve 稳定兑换池的实时数据,包括头寸、价格变动、池健康状况、Rug 信号、滑点和脱锚风险;也可构建便携式状态双胞胎(State Twin) 以便在 MCP 之外进行分析,支持任何兼容 MCP 的 AI 客户端。通过调用方提供的 RPC 读取真实链上状态;端点本身无需身份验证。
端点:https://mcp.echoledger.ai/mcp(streamable-HTTP,无需身份验证)。
安装
Claude Desktop
设置 → 集成 → 添加服务。
URL:https://mcp.echoledger.ai/mcp
Claude Code
claude mcp add --transport http echoledger https://mcp.echoledger.ai/mcp
Cursor
设置 → MCP → 添加新的 MCP 服务。
名称:echoledger · 类型:http · URL:https://mcp.echoledger.ai/mcp
Smithery
已列于 smithery.ai/servers/ic3moore/echoledger — 可通过 Smithery 网关从任何受支持的客户端连接。
工具
该端点提供 11 个工具,用于查询 Uniswap V2/V3、Balancer 加权池(双资产)和 Curve 稳定兑换池(双资产)的实时数据。提供两种使用方式:
- 10 个响应式基础工具 — 一个问题、一个回答、一次链上读取。
其中四个还支持向量输入(例如
price_change_pcts[]、amounts_in[]),可在一次调用中遍历整个网格/曲线。 BuildStateTwin— 返回一个便携式状态双胞胎(以 JSON 表示池的状态), 客户端可在本地重新加载,以运行无限次反事实分析,无需 MCP,也无需后续 RPC。
每次调用都需提供 pool_address、rpc_url 和 pool_type,并可选提供
chain_id 校验参数和 block_number 区块指定参数——不会存储任何数据。
每个响应式工具都与特定协议对应,且仅声明其支持的
pool_type 值;若指定了不受支持的类型,将在读取链上数据前返回明确错误。
完整参考——参数、返回值及每个工具的已验证示例:
docs/TOOLS.md。
范围:Balancer 工具支持双资产加权池;稳定兑换工具支持
双资产普通 Curve 池(带利率的池——metapool、LSD——将在后续版本推出)。
将 stableswap 工具用于三币池或带利率的池时,会清晰地返回错误。
Uniswap V2/V3
AnalyzePosition
LP 头寸的盈亏分解——无常损失、手续费和净收益。
“分析我在 V3 USDC/ETH 池中的头寸。”
SimulatePriceMove
“如果价格变动 X%,会怎样?”——预测储备量、头寸价值和无常损失。
“如果 ETH 下跌 20%,我的 V3 ETH/DAI 头寸会怎样?”
CheckPoolHealth
查看池的 TVL、储备量、LP 集中度和近期活动。
“这个 V3 池的状况健康吗?”
DetectRugSignals
根据池的链上状态检测阈值型 Rug 信号。
“这个 V2 交易对有什么 Rug 信号吗?”
CalculateSlippage
计算指定交易的滑点、价格影响和最大交易规模。
“在这个 V3 池中买入 50 ETH 会有多大滑点?”
Balancer(双资产加权池)
AnalyzeBalancerLP
使用加权池无常损失公式,对双资产 Balancer 加权池头寸进行盈亏分解;代币权重会影响无常损失幅度。
“我的 80/20 BAL/WETH Balancer 头寸表现如何?”
SimulateBalancerMove
“如果基准代币变动 X%,会怎样?”——预测双资产加权池的价值和无常损失,并考虑权重。
“如果 BAL 下跌 30%,我的 BAL/WETH Balancer LP 会怎样?”
Curve 稳定兑换(2 种资产,普通池)
AnalyzeStableswapLP
通过放大不变量 IL 公式,对 2 种资产的 Curve 稳定兑换持仓进行盈亏分解——A 值较高时,轻微脱锚也可能造成巨额 IL。
“分析我在 crvUSD/USDC 池中的持仓。”
SimulateStableswapMove
“如果锚定价格偏移 X%,会怎样?”——预测 2 种资产的稳定兑换池价值和 IL。A 值较高时,大幅冲击在实际中可能无法达到(返回 null)。
“如果 USDC 脱锚 2%,我的 USDC/DAI Curve LP 会怎样?”
AssessDepegRisk
针对 2 种资产的稳定兑换持仓,按一系列脱锚幅度(默认 2%、5%、10%、20%、50%)计算 IL,并可选择与恒定乘积基准进行比较。
“我的 crvUSD/USDC 持仓面临多大的脱锚风险?”
状态孪生构建器(涵盖全部四种池类型)
BuildStateTwin
读取一次池数据并返回可移植的状态孪生——以 JSON 表示的池状态(__type__ + 字段 + content_hash)。客户端可在本地重新加载该孪生并运行无限次反事实分析(价格变动、IL、滑点),无需通过 MCP,后续也无需任何 RPC——构建一次,运行 N 次。涵盖全部四种池类型。请参阅 docs/TOOLS.md 中的孪生往返示例,以及 echoledger 软件包。
“为我构建一个可复用的 USDC/ETH 0.05% 池孪生。”
(坦诚说明:这是单区块状态孪生——基于历史数据的健康指标仍由服务端在 CheckPoolHealth/DetectRugSignals 中读取。)
工作原理
echoledger-mcp 通过调用方提供的 RPC 端点(自带 RPC,按工具调用传入),读取 Uniswap V2/V3、Balancer 和 Curve 稳定兑换池的实时状态。该端点无需身份验证——不需要 API 密钥或账户。不会记录或存储任何内容;每次调用都会获取状态、运行分析并返回类型化结果。
分析由开源 DeFiPy 提供支持——使用与合成配方相同的基础原语、孪生和工具,现在将其用于真实池。数学是开源的;报告则需付费。
路线图
- v0.2 — Balancer 和稳定兑换池实时读取 ✓ 已发布。5 个 Balancer/稳定兑换工具已基于 DeFiPy 2.2 的 LiveProviders 上线(2 种资产的加权池 + 2 种资产的普通 Curve 池)。
- v0.2.2 — 诚实的架构、向量和孪生构建器 ✓ 已发布。为每个工具提供
pool_type枚举;为四个场景工具提供向量化场景输入;并新增BuildStateTwin——第 11 个工具,用于在 MCP 之外进行可移植的孪生分析。 - N 种资产和计息池 — 待上游 DeFiPy 基础原语支持超过 2 种资产后,支持 3 种资产的 Balancer、N 种代币的 Curve,以及计息型 Curve(metapool/LSD)。
- 发行完善 — 列出 OCI 软件包、验证 DNS 命名空间,并通过 OIDC 自动发布。
开发
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
通过可流式传输的 HTTP 运行服务(绑定到 $PORT,默认值为 8080):
PORT=8080 python -m echoledger_mcp.server # endpoint at http://localhost:8080/mcp
也可以通过 stdio 运行,以便进行本地 MCP Inspector 冒烟测试:
python -m echoledger_mcp.server --stdio
npx @modelcontextprotocol/inspector python -m echoledger_mcp.server --stdio
测试(离线运行——使用伪造的 provider 和真实的孪生/基础原语):
pytest tests/
实时 RPC 测试门禁(使用真实的主网 Uniswap V2/V3、Balancer 和 Curve 池;需要自备 RPC):
ECHOLEDGER_TEST_RPC_URL="https://eth-mainnet.example/v2/<key>" pytest tests/test_live.py -v
许可证
Apache-2.0。请参阅 LICENSE 和 NOTICE。
本项目改编自 DeFiPy 的代码(Apache-2.0)。
另请参阅
- DeFiPy(开源基础):https://defipy.org
- EchoLedger:https://echoledger.ai
- 状态孪生论文:https://arxiv.org/abs/2605.11522
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。