Live cross-DEX pool prices, liquidity and spreads on 6 EVM chains, read from on-chain pool state.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
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.
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
Nothing to clone or build. Your MCP client fetches the package. Requires Node 18+.
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.
Keyless:
Then /mcp to confirm it connected.
~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
Cursor β Settings β MCP shows the server and its tools once the file is saved.
Same three facts: command npx, args ["-y", "arb-dex-mcp"], transport stdio,
optional env RAPIDAPI_KEY.
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.
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.
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.
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.
| Tool | What it answers | Access |
|---|---|---|
get_chains | Which chains are covered, their chain IDs, tokens and DEX venues | Any key Β· keyless returns the chain list only, and says so |
get_pairs | What is priceable on one chain: token universe, venues, pair syntax | Any key Β· keyless returns the measured subset, labelled as such |
get_prices | One pair's price at every venue holding a pool for it, plus reserves, TVL, fee tier and the cross-DEX spread | Any key |
get_spreads | A whole chain's cross-venue dislocations, ranked by gross USD at the optimal size | Any key for live: true Β· keyless serves the free hourly snapshot |
get_history_summary | What the measurement archive covers: rows, pairs tracked, chains seen, span, retention | Any key (free tier included) |
get_history | One pair's per-venue price/liquidity series and gross cross-venue spread over 24h / 7d / 30d | PRO plan β see Plans |
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.
get_chains, get_pairs and get_spreads
answer from the free public surface and each carries a limitation field naming exactly what
a key would add. get_prices, get_history_summary and get_history return an explicit
key-required error with the signup link rather than a thinner answer dressed up as a full one.The paid tools call the API through RapidAPI using your own key.
X-RapidAPI-Key from the RapidAPI dashboard.RAPIDAPI_KEY in the config above β never in code, and never in a commit.Five of the six tools work on the free tier. Only the per-pair history series is gated:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/arb-dex-mcp)<a href="https://allmcps.com/mcp/arb-dex-mcp"><img src="https://allmcps.com/api/badge/arb-dex-mcp?style=directory" alt="Arb Dex MCP on AllMCPs" /></a>