
Cross-DEX Prices & Spreads
io.github.donnywin85由 GitHub 账号 donnywin85 发布v1.0.1更新于 Oct 24, 2026
Live cross-DEX pool prices, liquidity and spreads on 6 EVM chains, read from on-chain pool state.
概览
只读 MCP 服务器,让助手获取六条 EVM 链上跨 DEX 的实时池价格、流动性与毛价差,并可查询测量档案。
- 可以做什么
- 列出覆盖的链、链 ID、代币与 DEX 场所,并查看某条链上可定价的对象
- 查询某一交易对在所有持有该池的场所的价格,含储备、TVL、费率档位与跨 DEX 价差
- 扫描整条链的跨场所价差,按最优交易规模下的毛美元金额排序
- 查看测量档案的覆盖情况:行数、跟踪交易对、出现过的链、时间跨度与保留期
- 读取某一交易对在 24 小时、7 天或 30 天内的分场所价格与流动性序列(付费方案)
- 适用场景
- 当助手需要 BSC、Polygon、Arbitrum、Base、Avalanche 或 Optimism 上当前的链上 DEX 报价或价差数据,或想确认某个价差是持续存在还是仅一次采样时适用。它提供只读市场数据,并非交易或收益估算工具。
- 运行要求
- 通过 npx 以 stdio 在本地运行,需要 Node 18 或更高版本。可选的 RAPIDAPI_KEY(来自对底层 API 的 RapidAPI 订阅,有免费档)用于解锁付费工具;不提供时服务器仍可启动,并从免费每小时快照作答。ARB_DEX_TIMEOUT_MS 默认 45000 毫秒,因为全链实时扫描可能耗时约 30 秒。需要访问该 API 的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 Cross-DEX Prices & Spreads,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
arb-dex-mcp
Live cross-DEX crypto prices for your AI agent — per-venue pool price, pool liquidity and the gross cross-venue spread on 6 EVM chains, read straight from on-chain pool state.
[npm] [npm downloads] [provenance] [MCP Registry] [Indexed on TensorBlock MCP Index] [Listed on mcpservers.org] [license]
Chains: BSC · Polygon · Arbitrum · Base · Avalanche · Optimism. Venues: PancakeSwap (v2 + v3), Uniswap v3, SushiSwap, QuickSwap, Biswap, ApeSwap, BaseSwap, Trader Joe, Pangolin — every v2-style pool and every v3 fee tier separately, because a $12k 1% pool and a $19M 0.01% pool are not the same quote.
Nothing is modelled, estimated or backfilled. Every payload states its own block number and carries its own scope note, so an agent that quotes a figure also has the caveats attached to it.
Works with no API key against a free hourly public snapshot. Docs · npm
Quickstart
Nothing to clone or build. Your MCP client fetches the package. Requires Node 18+.
Claude Desktop
claude_desktop_config.json — macOS ~/Library/Application Support/Claude/,
Windows %APPDATA%\Claude\:
Restart Claude Desktop; the six tools appear under the connectors icon.
Drop the env block entirely to run keyless — the server still starts and the
free-snapshot tools still answer.
Claude Code
Keyless:
Then /mcp to confirm it connected.
Cursor
~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
Cursor → Settings → MCP shows the server and its tools once the file is saved.
Any other MCP client
Same three facts: command npx, args ["-y", "arb-dex-mcp"], transport stdio,
optional env RAPIDAPI_KEY.
Try it
Real prompts, and the real shape that comes back. Payloads below were measured live on 2026-08-15; they are trimmed for width but nothing is invented.
1. "What is WBNB/USDT trading at on every BSC venue right now?"
get_prices reads every pool holding the pair — v2 pairs and each v3 fee tier separately —
at one stated block:
Read the two spread numbers against each other. The raw mid spread is 43 bps — and the
gross capturable spread is 0. The 609.10 quote lives in a $12k pool; the size that would
actually clear it moves the price past the gap before you get there. A tool that reported only
the 43 bps would be handing an agent a number it cannot trade. This one reports both, and
optimalInput is where the honesty lands.
2. "Show me the cross-DEX spreads on Base — are any actually capturable?"
get_spreads sweeps a whole chain and ranks by gross USD at the optimal size, not by
headline basis points:
found: 0 is a real answer and it is the common one. Eleven pairs scanned, nothing cleared
the floor. Venues under $1,000 TVL are dropped outright. When rows do come back, each carries
capturable, warning and shallowestSideTvlUsd so a big basis-point number cannot mislead on
its own. This tool will tell your agent there is nothing there — which is the whole point of
asking it.
3. "How much history does arb-dex actually have, and for which chains?"
get_history_summary sizes the archive before you query it:
Coverage is only what was measured. A gap stays a gap — rowsByEra says how much detail each
era of rows carries, and ARB/USDC having 98 observations but 0 qualified is the archive
telling you that pair has never once cleared the spread floor.
Tools
The two history tools read the service's own measurement archive, so they answer the question
the live tools cannot: whether a dislocation persisted or was a single sample. Sampling is
roughly hourly, and gaps are never interpolated or backfilled. Call get_history_summary first
to see what span exists before asking for a window.
What it will not do
- Spreads are gross — before gas, MEV and slippage beyond the optimal size. Not a profit estimate and not trade advice.
- It never fabricates a row. Without a key,
get_chains,get_pairsandget_spreadsanswer from the free public surface and each carries alimitationfield naming exactly what a key would add.get_prices,get_history_summaryandget_historyreturn an explicit key-required error with the signup link rather than a thinner answer dressed up as a full one. - It does not execute trades, hold funds, or touch a wallet. It is read-only market data.
- This package ships no credentials of any kind. The key is yours and stays in your config.
Get a key
The paid tools call the API through RapidAPI using your own key.
- Subscribe — there is a free tier: https://rapidapi.com/donnydev/api/multi-chain-dex-prices-liquidity
- Copy your
X-RapidAPI-Keyfrom the RapidAPI dashboard. - Put it in
RAPIDAPI_KEYin the config above — never in code, and never in a commit.
Plans
Five of the six tools work on the free tier. Only the per-pair history series is gated:
Calling get_history below PRO returns an explicit tier_required error naming the plan and
the upgrade URL — it does not fail silently or return an empty series.
Configuration
Set these in your MCP client's env block (see the configs above). .env.example ships in the
package and documents the same variables for local runs from a clone.
Test
The test suite is not in the npm tarball — run it from a clone:
The test spawns the server over stdio and calls every tool against the real production API — nothing is mocked. It asserts on live values (block number, per-venue prices, scanned-pair counts), so a run that passes is evidence the data path works end to end.
Links
- npm: https://www.npmjs.com/package/arb-dex-mcp
- Docs: https://donnywin85.github.io/arb-dex-mcp/
- Official MCP Registry:
io.github.donnywin85/arb-dex-mcp - TensorBlock MCP Index: https://www.tensorblock.co/mcp/servers/github-donnywin85-arb-dex-mcp-7dd9a70c
- Source: https://github.com/donnywin85/arb-dex-mcp
- The API behind it: https://rapidapi.com/donnydev/api/multi-chain-dex-prices-liquidity
License
MIT — see LICENSE.
来源:README.md,提交 475e0e7
工具
0版本历史
1- v1.0.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分