Server data from the Official MCP Registry
Live cross-DEX pool prices, liquidity and spreads on 6 EVM chains, read from on-chain pool state.
About
Live cross-DEX pool prices, liquidity and spreads on 6 EVM chains, read from on-chain pool state.
Security Report
Valid MCP server (3 strong, 2 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
7 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: RAPIDAPI_KEY
Environment variable: ARB_DEX_TIMEOUT_MS
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-donnywin85-arb-dex-mcp": {
"env": {
"RAPIDAPI_KEY": "your-rapidapi-key-here",
"ARB_DEX_TIMEOUT_MS": "your-arb-dex-timeout-ms-here"
},
"args": [
"-y",
"arb-dex-mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
arb-dex-mcp
An MCP server that gives an AI agent live cross-DEX market data on six EVM chains — BSC, Polygon, Arbitrum, Base, Avalanche and Optimism.
Every number is read from on-chain pool state at a stated block: per-venue pool price, pool TVL, and the gross cross-venue spread with the optimal trade size that captures it. Nothing is modelled, estimated or backfilled, and each payload carries its own scope note — so an agent that quotes a figure also has the caveats attached to it.
Backed by the Multi-Chain DEX Prices & Liquidity API.
Tools
| Tool | What it answers | Key needed |
|---|---|---|
get_chains | Which chains are covered, their chain IDs, tokens and DEX venues | Optional — keyless returns the chain list only, and says so |
get_pairs | What is priceable on one chain: token universe, venues, pair syntax | Optional — keyless returns only the pairs that cleared the snapshot filters, labelled as a subset |
get_prices | One pair's price at every venue holding a pool for it, plus reserves, TVL, fee tier and the cross-DEX spread | Required |
get_spreads | A whole chain's cross-venue dislocations, ranked by gross USD at the optimal size | Optional — free hourly snapshot without a key, fresh on-chain sweep with live: true |
get_history_summary | What the measurement archive covers: rows, pairs tracked, chains seen, span, retention | Required |
get_history | One pair's per-venue price/liquidity series and gross cross-venue spread over 24h / 7d / 30d | Required |
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.
Coverage is only what was measured — sampling is roughly hourly, and a gap stays a gap
rather than being interpolated or backfilled. Call get_history_summary first to see what
span exists before asking for a window.
Without a key the server still runs and returns real data from the free public surface,
labelled as such — get_chains, get_pairs and get_spreads answer, each carrying a
limitation field naming exactly what the key would add. It never fabricates a row or
silently degrades: 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.
Spreads are gross — before gas, MEV and slippage beyond the optimal size. Not a profit
estimate and not trade advice. A wide spread against a shallow pool is worth very little,
and get_spreads says so per row rather than letting a big basis-point number mislead.
Install
Published on npm as arb-dex-mcp and listed in
the official MCP Registry
as io.github.donnywin85/arb-dex-mcp. Nothing to clone — your MCP client fetches it:
npx -y arb-dex-mcp
Requires Node 18+. That command starts the server on stdio, which is only useful to an MCP client; use one of the two configs below rather than running it by hand.
Get a key
The paid tools call the API through RapidAPI using your own key. This package ships no credentials of any kind.
- 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 below — never in code, and never in a commit.
Claude Desktop
claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/,
Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"arb-dex": {
"command": "npx",
"args": ["-y", "arb-dex-mcp"],
"env": {
"RAPIDAPI_KEY": "your-rapidapi-key-here"
}
}
}
}
Drop the env block entirely to run keyless — the server still starts and the free-snapshot
tools still answer. Restart Claude Desktop; the six tools appear under the connectors icon.
Claude Code
claude mcp add arb-dex --env RAPIDAPI_KEY=your-rapidapi-key-here -- npx -y arb-dex-mcp
Or keyless:
claude mcp add arb-dex -- npx -y arb-dex-mcp
Then /mcp to confirm it connected.
Try it
Ask your agent. These work with no key, against the free hourly snapshot:
- "Which chains does arb-dex cover?"
- "Show me the cross-DEX spreads on Polygon — are any actually capturable?"
These need RAPIDAPI_KEY:
- "What is WBNB/USDT trading at on every BSC venue right now?"
- "Run a live spread sweep on Arbitrum and rank by gross USD."
- "How much history does arb-dex actually have, and for which chains?"
- "Did the WETH/USDC spread on Base persist over the last 24h or was it one sample?"
Configuration
| Env var | Default | Purpose |
|---|---|---|
RAPIDAPI_KEY | — | Your RapidAPI key. Required for paid tools. |
ARB_DEX_TIMEOUT_MS | 45000 | Request timeout. A live full-chain sweep is a real on-chain read and can take ~30s. |
ARB_DEX_FREE_BASE_URL | production origin | Override the free-surface host. |
ARB_DEX_RAPIDAPI_HOST | multi-chain-dex-prices-liquidity.p.rapidapi.com | Override the RapidAPI host. |
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:
git clone https://github.com/donnywin85/arb-dex-mcp.git
cd arb-dex-mcp && npm install
npm run selftest # keyless: exercises the free fallbacks
RAPIDAPI_KEY=... npm run selftest # keyed: exercises the paid routes
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.
Closed gap
The API's paid measurement archive (/v1/history/*) was live on the origin but unlisted on
RapidAPI, so calls through the proxy 404'd and get_history was deliberately held back
rather than shipped broken. Both routes were published on the listing on 2026-08-11 and
re-measured through the proxy the same day — summary 200, pair series 200, unsupported
window 400 — so get_history_summary and get_history ship as tools, each covered by a
live keyed assertion in the selftest.
License
MIT
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
FinAgent
Freeby mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
