Skip to main content
This page lists every tool the DexPaprika MCP server exposes, with parameters, defaults, and return shapes, so an agent (or a developer) can plan calls before connecting.
Agents: call getCapabilities first. In one call it returns the workflow patterns, network name synonyms, and common pitfalls below as structured JSON, so the server describes itself at runtime. This page is the human-readable mirror of that manifest.
The server exposes 17 tools across five groups. All data is read-only; submitFeedback is the only write tool and is available on the hosted server only.

Conventions that apply to every tool

These rules hold across the whole surface. Read them once and the individual tools get much shorter.

Discovery and onboarding

getCapabilities

Agent onboarding in one call: supported workflows, network name synonyms, common pitfalls, and recommended call sequences. Read it once at the start of a session. Returns static onboarding docs, not live market data. No parameters beyond rationale.

getNetworks

The full list of blockchain networks DexPaprika indexes, each with 24h volume, transaction counts, and pool counts. Start here (or getCapabilities) because every other DEX query needs a valid network slug. No parameters beyond rationale.

getStats

Platform-wide totals: number of networks, DEXes, pools, and tokens indexed. Ecosystem-wide counts, not per-network figures (use getNetworks for the per-chain breakdown). No parameters beyond rationale. Search across all networks at once for tokens, pools, and DEXes by name, symbol, or address. Returns three arrays: tokens, pools, dexes. This is the cross-chain entry point; once you have a network slug, switch to the network-scoped tools.

Pools

getNetworkPools

The top liquidity pools on one network, ranked by 24h volume by default. The primary pool-discovery tool for a whole chain. Rows return under results with cursor pagination.

getNetworkPoolsFilter

Pools on one network filtered by exact thresholds for volume, liquidity, transaction count, price change, or creation time. Choose this over getNetworkPools when the user gives numeric constraints or a time window. To find new pools: set created_after and sort by created_at descending. To find movers, pass a signed percentage bound: price_change_percentage_1h_max: -20 returns pools down 20 percent or more over the last hour.

getDexPools

The pools that belong to one specific DEX on one network (for example all Uniswap v3 pools on ethereum). Narrower than getNetworkPools.
The REST endpoint behind this tool changed. GET /networks/{network}/dexes/{dex}/pools was removed and returns 410 Gone, so the tool now calls GET /networks/{network}/pools/search with the dex_name filter. Two consequences: there is no page parameter any more, and the legacy sort values (volume_usd, transactions, last_price_change_usd_24h) are mapped to their canonical names before the request goes out. Rows arrive under results with has_next_page and next_cursor, and the 24h volume field on each row is volume_usd_24h.

getPoolDetails

Full details for one pool by address: the two tokens, current price, liquidity, 24h volume, and transaction counts. The live snapshot only, use getPoolOHLCV for history.

getPoolOHLCV

Historical open/high/low/close/volume candles for one pool across a date range and interval. Historical time series, use getPoolDetails for the single current price.

getPoolTransactions

The recent individual swap transactions for one pool, newest first. Per-trade records, not aggregated candles.

Tokens

getTokenDetails

Metadata and multi-timeframe price and volume metrics for one token by contract address, including website, Twitter, and Telegram links. If you only have a symbol, call search first to resolve the address.

getTokenPools

The liquidity pools that contain a specific token on one network. The token filter is network-scoped, so run search first if you do not know the network.
inversed/reorder and paired_token_address/address are no longer supported (the underlying endpoint changed). Passing them returns a structured error. To flip a price, compute 1/price client-side; for pair queries, filter results[].tokens client-side.

getTokenMultiPrices

Current USD prices for up to 10 tokens on the same network in one batched call. Tokens that cannot be priced come back under missing_tokens rather than being dropped, so check that list for partial failures.

filterNetworkTokens

Tokens on one network filtered by exact thresholds for volume, liquidity, FDV, transactions, or creation time. Choose this over getTopTokens when the user gives numeric constraints.

getTopTokens

The top tokens on one network ranked by volume, liquidity, transactions, FDV, or 24h price change. Ranking by raw price is not supported and falls back to volume.

DEXes

getNetworkDexes

The DEXes (exchanges) operating on one specific network, for example Uniswap on ethereum or Raydium on solana. Use the returned dex_id with getDexPools. Each row carries both dex_id and dex_name.

Feedback (hosted server only)

submitFeedback

Report a problem, unexpected response, or missing data back to the DexPaprika team. Available on the hosted server (mcp.dexpaprika.com) only; the self-host build does not include it. Unlike the read tools, it takes no rationale, the fields below are the context.
Common tasks map to short tool chains. getCapabilities returns this list at runtime.

Common pitfalls

  • List tools return rows under results (not pools/tokens/data) with cursor pagination (has_next_page + next_cursor), not page numbers. This applies to getNetworkPools, getNetworkPoolsFilter, getDexPools, getTokenPools, getTopTokens, and filterNetworkTokens.
  • getDexPools reads a filter, not a path. The REST endpoint it used to wrap was removed and returns 410 Gone; the tool now calls pool search with dex_name. If you were building the old URL by hand, stop: there is no page, and the 24h volume field is volume_usd_24h.
  • getTokenPools is network-scoped. The cross-network search cannot filter by token. An unknown token_address returns empty results, not an error. The old pair-flip and second-token parameters were removed and now return a structured error.
  • Sort field names are canonical. Prefer volume_usd_24h, txns_24h, price_change_percentage_24h, fdv_usd. Short legacy names are auto-mapped. Tokens cannot be ordered by raw price.
  • Only the short price change windows are pool-only. price_change_percentage_6h, _1h and _5m sort the four tools that return pool rows: getNetworkPools, getNetworkPoolsFilter, getDexPools and getTokenPools. Only getNetworkPoolsFilter takes them as _min / _max bounds. The token tools (getTopTokens, filterNetworkTokens) sort by price_change_percentage_24h and nothing shorter, and token rows never include the three short fields.
  • filterNetworkTokens has no price-change bound. The REST endpoint behind it, GET /networks/{network}/tokens/search, does accept price_change_percentage_24h_min / _max, and the tool does not surface them. Call the endpoint directly when you need to screen tokens by 24h move.
  • getTokenMultiPrices is capped at 10 tokens per request.
  • getPoolTransactions from/to are UNIX seconds and results are always capped to the last 7 days.
  • Token addresses must match the network. Do not send a Solana address to an ethereum query.

FAQs

17: sixteen read-only data tools plus submitFeedback, which is available on the hosted server only. Call getCapabilities for the live list.
No. The hosted server is keyless for read access. A free registered key raises the monthly allowance from 50,000 credits to 300,000, and Pro raises it to 5,000,000 at 300 requests a minute; see rate limits.
Every read tool requires a short rationale string describing why you are calling it. It is logged to improve the server and is never shown to end users. Include no secrets or personal data.
Most list tools use cursor pagination: read has_next_page and pass next_cursor back as cursor. getNetworkDexes and getPoolTransactions are the two that still use 1-indexed page numbers.