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.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 beyondrationale.
getNetworks
The full list of blockchain networks DexPaprika indexes, each with 24h volume, transaction counts, and pool counts. Start here (orgetCapabilities) 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 (usegetNetworks for the per-chain breakdown).
No parameters beyond rationale.
search
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, or creation time. Choose this overgetNetworkPools when the user gives numeric constraints or a time window.
To find new pools: set
created_after and sort by created_at descending.
getDexPools
The pools that belong to one specific DEX on one network (for example all Uniswap v3 pools on ethereum). Narrower thangetNetworkPools.
getPoolDetails
Full details for one pool by address: the two tokens, current price, liquidity, 24h volume, and transaction counts. The live snapshot only, usegetPoolOHLCV for history.
getPoolOHLCV
Historical open/high/low/close/volume candles for one pool across a date range and interval. Historical time series, usegetPoolDetails 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, callsearch first to resolve the address.
getTokenPools
The liquidity pools that contain a specific token on one network. The token filter is network-scoped, so runsearch 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 undermissing_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 overgetTopTokens 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 withgetDexPools.
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.
Recommended call sequences
Common tasks map to short tool chains.getCapabilities returns this list at runtime.
Common pitfalls
- List tools return rows under
results(notpools/tokens/data) with cursor pagination (has_next_page+next_cursor), not page numbers. This applies togetNetworkPools,getNetworkPoolsFilter,getTokenPools,getTopTokens, andfilterNetworkTokens. getTokenPoolsis network-scoped. The cross-networksearchcannot filter by token. An unknowntoken_addressreturns emptyresults, 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. getTokenMultiPricesis capped at 10 tokens per request.getPoolTransactionsfrom/toare 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
How many tools does the DexPaprika MCP server have?
How many tools does the DexPaprika MCP server have?
17: sixteen read-only data tools plus
submitFeedback, which is available on the hosted server only. Call getCapabilities for the live list.Do I need an API key to call the tools?
Do I need an API key to call the tools?
No. The hosted server is keyless for read access. A free registered key or Pro plan raises your rate and monthly quota; see rate limits.
What is the rationale field for?
What is the rationale field for?
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.How does pagination work?
How does pagination work?
Most list tools use cursor pagination: read
has_next_page and pass next_cursor back as cursor. getNetworkDexes, getDexPools, and getPoolTransactions use 1-indexed page numbers.