dex-data MCP server
Twenty-two tools, no API key and no wallet, in three groups:
- Multi-chain DEX market data — token prices, liquidity depth, pool reserves,
best execution venue, liquidity risk, pre-trade slippage and gas costs across BNB Chain,
Polygon, Arbitrum, Base, Avalanche and Optimism.
- General-purpose agent utilities — geocoding, reverse geocoding, weather,
web search, article/PDF to Markdown, and cryptographic randomness.
- Reference and research data — search autocomplete, public holidays and
business days, RSS/Atom feeds, IP geolocation, GLEIF legal-entity lookup and
the US Treasury yield curve.
Why this exists
The ledger says it plainly. Of 20,392 paywall challenges recorded, zero were
genuine third-party queries — 82.5% were our own monitoring, 17.3% were catalogue
crawlers walking every route with no parameters. We were being indexed, not
shopped.
Bazaar listings are a bet on demand that does not exist yet. MCP is where agents
already are today: Claude Desktop, Claude Code, Cursor, and every other MCP host.
This server is the same data, delivered where the users are, and it needs no
payment at all for the free tier — which removes the one barrier that a browsing
agent cannot cross on its own.
Install
Claude Code
claude mcp add dex-data -- npx -y dex-data-mcp
Claude Desktop / Cursor — add to claude_desktop_config.json:
{
"mcpServers": {
"dex-data": {
"command": "npx",
"args": ["-y", "dex-data-mcp"]
}
}
}
No API key, no wallet, no signup. The free tier answers every tool for a daily
allowance; after that the endpoints fall back to x402 micropayments.
Tools
DEX market data
get_token_price | USD price of any ERC-20, by ticker or contract address |
get_liquidity | market depth and TVL per venue for a pair |
get_best_venue | which DEX is cheapest to buy on / best to sell into |
get_slippage | price impact for a specific trade size |
get_liquidity_risk | DEEP / MODERATE / SHALLOW / VERY_THIN depth class |
get_gas | gas cost in USD per chain, ranked cheapest-first (gwei is not comparable across chains) |
get_pool_reserves | raw reserves, fee and TVL per venue at one block — the data the others compute from |
find_arbitrage | cross-venue arbitrage now, ranked by gross USD at the optimal size, not raw spread |
list_chains | supported chains and indexed tokens |
General-purpose agent utilities
Not a change of theme — these were chosen the same way everything else here was.
Reading USDC receipts across 1,062 x402 seller wallets on Base ranked what
actually gets paid for, and DEX data was not near the top of that list. Forward
geocoding was (56 paying wallets), then weather, then article-to-Markdown, then
randomness. These are the answers to that data.
geocode | address or place name to coordinates, worldwide (OpenStreetMap) |
reverse_geocode | coordinates to the nearest street address |
get_weather | current conditions plus up to a 7-day forecast for any coordinates |
search | free-text web search to ranked organic results, sponsored rows excluded |
url_to_markdown | a public article or PDF URL to clean Markdown |
get_random | CSPRNG integers or bytes, for agents that cannot generate their own |
Reference and research data
Chosen the same way, but from a corrected reading. The category totals in the
original scan were double-counted — the biggest x402 sellers carry 10-16 of the
16 category tags each, so every category reported nearly the whole market's
revenue. Seller-level rows are clean, and every tool below is something a wallet
took real USDC for during the sampled window.
get_search_suggestions | what people actually type about a topic — autocomplete, expanded into questions and comparisons |
get_holidays | public and bank holidays for 100+ countries, and whether a given date is a business day |
read_feed | any RSS, Atom or RDF feed as clean JSON, summaries in both HTML and plain text |
geolocate_ip | where an IP is, with the datacentre/VPN flag that says whether to believe it |
lookup_lei | a company's Legal Entity Identifier by name, with lapsed registrations flagged not hidden |
get_treasury_yield_curve | the US par yield curve plus 2s10s / 3m10y / 5s30s and the inversion flag |
Local
get_spend_budget | what this session has spent on paid calls, and the caps in force |
Pairings worth knowing: geocode then get_weather turns a place name into a
forecast, search then url_to_markdown turns a question into readable source
text, and read_feed then url_to_markdown turns a feed into full articles.
Free tier
Every tool answers free within a daily per-caller allowance — no wallet, no
signup. The remaining quota is returned on X-FreeTier-Remaining. Beyond it,
calls fall back to x402 micropayments (USDC on Base).
Every response carries the liquidity backing the number and a confidence rating.
A quote with no depth behind it is refused rather than returned — a dust-pool
price is worse than no price when an agent may trade on it.
Honest limits
- Depth and prices cover the venues this API indexes; a deeper pool may exist
on a DEX not covered here.
- v3 figures distinguish custody TVL from tradeable depth at the current price.
They are not the same number and are not labelled as if they were.
get_slippage is pool-level price impact: it excludes gas, MEV and multi-hop
routing, and flags v3 estimates that cross the active tick band.