Skip to main content
Glama

DexPaprika

Server Details

Real-time DEX and on-chain data across 36 blockchains: liquidity pools, token prices, OHLCV, transactions, and cross-chain search. 17 keyless tools.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 17 of 17 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap. The descriptions precisely differentiate similar tools like 'filterNetworkTokens' vs 'getTopTokens' and 'getNetworkPools' vs 'getNetworkPoolsFilter'.

Naming Consistency5/5

All tool names follow a consistent camelCase verb_noun pattern (e.g., getNetworks, filterNetworkTokens, getPoolOHLCV). No mixing of conventions or vague verbs.

Tool Count5/5

17 tools cover the domain of a blockchain data API (networks, pools, tokens, DEXes, search, stats, feedback) without being excessive or sparse. Each tool serves a specific, necessary function.

Completeness4/5

The tool set covers core data retrieval (pools, tokens, networks, search, historical data) and feedback. Minor gaps exist, such as lack of multi-network union queries or batch pool details, but overall the surface is comprehensive for its read-only purpose.

Available Tools

17 tools
filterNetworkTokensA
Read-onlyIdempotent
Inspect

Get tokens on one network filtered by exact thresholds for volume, liquidity, FDV, transactions, or creation time. Use when asked 'tokens with FDV over $10M on Base', 'newly created tokens today', or 'low-liquidity high-volume tokens'. Choose this over getTopTokens when the user gives numeric constraints or a time window rather than a simple ranking. Requires network; rows return under results with cursor pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoDEPRECATED alias for sort_dir. Both accepted; prefer sort_dir going forward.
limitNoOPTIONAL: Items per page (default: 50, max: 100)
cursorNoOPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number.
fdv_maxNoOPTIONAL: Maximum FDV in USD
fdv_minNoOPTIONAL: Minimum FDV in USD
networkYesREQUIRED: Network ID from getNetworks
sort_byNoOPTIONAL: Sort field. Defaults to 'volume_usd_24h'. Prefer the canonical names; short legacy names are still accepted.
order_byNoDEPRECATED alias for sort_by. Both accepted; prefer sort_by going forward.
sort_dirNoOPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided.
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
txns_24h_minNoOPTIONAL: Minimum transactions in 24h
created_afterNoOPTIONAL: Only tokens created after this UNIX timestamp
created_beforeNoOPTIONAL: Only tokens created before this UNIX timestamp
volume_24h_maxNoOPTIONAL: Maximum 24h volume in USD
volume_24h_minNoOPTIONAL: Minimum 24h volume in USD
liquidity_usd_maxNoOPTIONAL: Maximum token liquidity in USD
liquidity_usd_minNoOPTIONAL: Minimum token liquidity in USD
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent. Description adds that results are paginated with cursor, and fields are returned under `results`. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each serving a distinct purpose: purpose, usage examples, and behavioral guidance. No wasted words. Front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 17 parameters and no output schema, description covers purpose, usage, pagination behavior. Minor gap: doesn't state that sort_by defaults to 'volume_usd_24h' or how filters combine (likely AND). Still reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description provides example queries that contextualize parameters (e.g., fdv_min from 'FDV over $10M'). Adds cursor pagination detail. Slightly above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool's function: filtering tokens on a network by thresholds. Provides specific examples of user queries that map to this tool, distinguishing it from getTopTokens.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use this tool (numeric constraints, time window) vs getTopTokens. Includes example queries and mentions required network parameter. No explicit exclusions, but the positive guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getCapabilitiesA
Read-onlyIdempotent
Inspect

Get an agent onboarding guide: supported workflows, network name synonyms, common pitfalls, and recommended call sequences. Use when asked 'how do I use this API?', 'what order should I call things in?', or before your first query so you can map user words like 'eth' to the canonical network slug. This returns static onboarding docs, not live market data; read it once at the start of a session. No parameters beyond rationale.

ParametersJSON Schema
NameRequiredDescriptionDefault
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, non-destructive. Description adds that it returns static docs (not live data) and should be read once. No contradiction, and provides useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise (three sentences) and front-loaded with purpose. Every sentence adds value: purpose, usage guidelines, behavioral trait (static docs). No waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simple parameter, description covers purpose, usage, and behavior adequately. Could mention the format or structure of the returned guide, but it's not critical for a one-time startup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds minimal value. It restates the rationale parameter requirement and notes 'No parameters beyond rationale,' but the schema already describes the parameter fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns an agent onboarding guide with workflows, network synonyms, pitfalls, and call sequences. This distinguishes it from sibling tools that deal with live market data or network entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: when asked 'how do I use this API?', for call order guidance, or before first query to map synonyms. Also recommends reading once at session start. No alternative tools mentioned, but usage is self-contained.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getDexPoolsA
Read-onlyIdempotent
Inspect

Get the pools that belong to one specific DEX on one network, such as all Uniswap v3 pools on ethereum. Use when asked 'show me Raydium pools', 'top pairs on PancakeSwap', or 'liquidity on Orca'. Narrower than getNetworkPools (a single exchange, not the whole chain); get the DEX name from getNetworkDexes or search first. Requires network and dex.

ParametersJSON Schema
NameRequiredDescriptionDefault
dexYesREQUIRED: DEX identifier from getNetworkDexes (e.g., 'uniswap_v3')
pageNoOPTIONAL: Page number, 1-indexed. Server accepts page=0 (treated as page=1) for backward compatibility.
sortNoDEPRECATED alias for sort_dir. Both accepted; prefer sort_dir going forward.
limitNoOPTIONAL: Number of items per page (default: 10, max: 100)
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
sort_byNoOPTIONAL: Sort field. Canonical parameter name. Defaults to 'volume_usd' if neither sort_by nor order_by is provided.
order_byNoDEPRECATED alias for sort_by. Both accepted; prefer sort_by going forward.
sort_dirNoOPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided.
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive nature. Description adds that the tool requires network and dex and is narrower than getNetworkPools. It doesn't disclose pagination defaults or maximum page size, but these are in the input schema. Overall, adds moderate value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences plus a short clarifying note. Front-loaded with purpose and examples. Every sentence earns its place; no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters, 3 required, and no output schema, the description covers the core purpose, usage context, parameter sourcing advice, and differentiation from siblings. It sufficiently equips an agent to decide when and how to invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, so baseline is 3. Description provides extra context: 'get the DEX name from getNetworkDexes or search first' and gives example DEX names ('Raydium', 'PancakeSwap'). This helps agents understand how to fill the dex parameter correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get the pools that belong to one specific DEX on one network' with concrete examples like 'all Uniswap v3 pools on ethereum'. It distinguishes from sibling getNetworkPools by specifying 'a single exchange, not the whole chain'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use when asked show me Raydium pools, top pairs on PancakeSwap, or liquidity on Orca' and contrasts with getNetworkPools. Advises to get DEX name from getNetworkDexes or search first, providing clear when-to-use and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getNetworkDexesA
Read-onlyIdempotent
Inspect

List the DEXes (exchanges) operating on one specific network, such as Uniswap on ethereum or Raydium on solana. Use when asked 'which DEXes are on Base?', 'does Solana have Orca?', or when you need a DEX name to pass into getDexPools. Scope is a single network; call getNetworks first if you do not know the slug. Requires network.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoOPTIONAL: Page number, 1-indexed. Server accepts page=0 (treated as page=1) for backward compatibility.
sortNoDEPRECATED alias for sort_dir. Both accepted; prefer sort_dir going forward.
limitNoOPTIONAL: Number of items per page (default: 10, max: 100)
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
sort_byNoOPTIONAL: Sort field. Canonical parameter name; older tools used order_by.
order_byNoDEPRECATED alias for sort_by. Both accepted; prefer sort_by going forward.
sort_dirNoOPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided.
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as readOnly, idempotent, openWorld, and non-destructive. The description adds that the tool lists DEXes and requires a network, but does not elaborate on pagination behavior or response structure. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the primary action and examples. Every sentence contributes meaningful guidance without redundancy or verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no output schema, the description covers the input expectations and usage context well. It mentions examples, prerequisites (getNetworks), and downstream usage. However, it does not describe the shape of the response (e.g., what fields each DEX object contains), which could help the agent evaluate whether to call this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since schema_description_coverage is 100%, the schema documents all 8 parameters. The description adds context only for the 'network' parameter (must be a network ID from getNetworks) and implies the need for 'rationale'. No additional parameter details are provided, which is acceptable given the schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists DEXes on one specific network, with concrete examples (Uniswap on ethereum, Raydium on solana). It distinguishes from siblings by emphasizing single-network scope and referencing getDexPools as a downstream use case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage scenarios (e.g., 'which DEXes are on Base?', 'does Solana have Orca?') and advises calling getNetworks first if the network slug is unknown. It lacks an explicit 'when not to use' statement, but the coverage is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getNetworkPoolsA
Read-onlyIdempotent
Inspect

Get the top liquidity pools on one network, ranked by 24h volume by default. Use when asked 'what are the biggest/hottest pools on ethereum?', 'top trading pairs on Base right now', or 'most active pools on Solana'. This is the primary pool-discovery tool for a whole chain; narrow to one exchange with getDexPools, or set numeric thresholds with getNetworkPoolsFilter. Requires network; rows return under results with cursor pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoDEPRECATED alias for sort_dir. Both accepted; prefer sort_dir going forward.
limitNoOPTIONAL: Number of items per page (default: 10, max: 100)
cursorNoOPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page (read `has_next_page` to know if more remain). Replaces the old page number.
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
sort_byNoOPTIONAL: Sort field. Canonical parameter name. Defaults to 'volume_usd_24h'. Prefer the canonical *_24h names; short legacy names (volume_usd, transactions, last_price_change_usd_24h) are still accepted.
order_byNoDEPRECATED alias for sort_by. Both accepted; prefer sort_by going forward.
sort_dirNoOPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided.
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly, idempotent, non-destructive. Description adds that network is required, rows return under 'results', and pagination is cursor-based. No contradictions. Sufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is 4 sentences with main purpose upfront, examples, and sibling comparison. Efficiently structured with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description provides key structural info (results array, cursor pagination). Covers network requirement, default sort, and siblings. Leaves little ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so description adds little beyond schema. It mentions 'requires network' but schema already states that. Baseline 3 is appropriate as description does not degrade understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it gets top liquidity pools on a network, ranked by 24h volume by default. It explicitly distinguishes from siblings getDexPools and getNetworkPoolsFilter, making the purpose specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete query examples ('biggest/hottest pools on ethereum', 'top trading pairs on Base') and mentions alternative tools. Lacks explicit when-not-to-use but the examples cover typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getNetworkPoolsFilterA
Read-onlyIdempotent
Inspect

Get pools on one network filtered by exact thresholds for volume, liquidity, transaction count, or creation time. Use when asked 'pools with over $1M liquidity on Base', 'pools created in the last 24h', or 'high-volume low-liquidity pairs'. Choose this over getNetworkPools when the user gives numeric constraints or a time window rather than just 'top'. Requires network; rows return under results with cursor pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoDEPRECATED alias for sort_dir. Both accepted; prefer sort_dir going forward.
limitNoOPTIONAL: Items per page (default: 50, max: 100)
cursorNoOPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number.
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
sort_byNoOPTIONAL: Sort field. Canonical parameter name. Defaults to 'volume_usd_24h'. Prefer the canonical *_24h names; short legacy names (volume_24h, volume_7d, liquidity) are still accepted.
order_byNoDEPRECATED alias for sort_by. Both accepted; prefer sort_by going forward.
sort_dirNoOPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided.
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
txns_24h_minNoOPTIONAL: Minimum transactions in 24h
created_afterNoOPTIONAL: Only pools created after this UNIX timestamp
volume_7d_maxNoOPTIONAL: Maximum 7d volume in USD
volume_7d_minNoOPTIONAL: Minimum 7d volume in USD
created_beforeNoOPTIONAL: Only pools created before this UNIX timestamp
volume_24h_maxNoOPTIONAL: Maximum 24h volume in USD
volume_24h_minNoOPTIONAL: Minimum 24h volume in USD
liquidity_usd_maxNoOPTIONAL: Maximum pool liquidity in USD
liquidity_usd_minNoOPTIONAL: Minimum pool liquidity in USD
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint; description adds that results return under 'results' with cursor pagination, which is not in annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first sentence states purpose, second provides usage guidance and sibling differentiation. No filler, front-loaded with key info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 17 parameters and no output schema, description covers purpose, when to use, result structure, and pagination. Could mention the rationale parameter requirement, but schema covers it. Overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with detailed parameter descriptions. Description does not add significant meaning beyond stating filtering by exact thresholds, but baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get pools on one network filtered by exact thresholds' with specific examples and distinguishes from sibling getNetworkPools, which is used for 'top' queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (numeric constraints, time window), when not to (just 'top'), and provides alternative getNetworkPools. Also mentions required network and cursor pagination.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getNetworksA
Read-onlyIdempotent
Inspect

Get the full list of blockchain networks DexPaprika indexes, each with 24h volume, transaction counts, and pool counts. Use when asked 'which chains do you support?', 'is Base/Solana/Arbitrum covered?', or whenever you need the exact network slug before calling any other tool. Start here (or getCapabilities) since every other DEX query requires a valid network id. No parameters beyond rationale.

ParametersJSON Schema
NameRequiredDescriptionDefault
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and nondestructive behavior. The description adds value by specifying the return fields (24h volume, transaction counts, pool counts) and clarifying there are no other parameters beyond rationale, providing a fuller picture of behavior without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core purpose, followed by usage guidance and a note on parameters. Every sentence serves a distinct purpose without redundancy or clutter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description adequately explains what the tool returns (network list with stats). It also covers usage context and prerequisite nature, making it complete for a straightforward list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (rationale is fully described). The description adds minimal additional parameter context, simply restating that no other parameters exist. With high schema coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the full list of blockchain networks with metrics like 24h volume, transaction counts, and pool counts. This specific verb+resource combination distinguishes it from sibling tools (e.g., getCapabilities, getNetworkDexes) by focusing on network enumeration with live data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises calling this tool when users ask about supported chains or need a network slug, and positions it as a prerequisite for other DEX queries. It mentions an alternative (getCapabilities) but doesn't detail when to prefer one over the other, which keeps it from a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getPoolDetailsA
Read-onlyIdempotent
Inspect

Get full details for one pool by its address: the two tokens, current price, liquidity, 24h volume, and transaction counts. Use when asked 'what's the price/TVL of this pool?', 'details for pool 0x...', or after search or getNetworkPools surfaces a pool you want to inspect. Returns the live current snapshot only; use getPoolOHLCV for historical candles or getPoolTransactions for the raw swap feed. Requires network and pool_address.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
inversedNoOPTIONAL: Whether to invert the price ratio (default: false)
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
pool_addressYesREQUIRED: Pool address or identifier (e.g., '0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640')
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. The description adds context that it returns a 'live current snapshot only', which is consistent. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each essential. Front-loaded with the main purpose, then usage patterns, then sibling differentiation. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description lists the key return fields (tokens, price, liquidity, volume, transaction counts). It covers usage and behavioral context adequately, but could mention whether output is a single object or array.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; parameters are well-described in the input schema. The tool description does not add significant semantic meaning beyond what the schema already provides, meriting baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get full details for one pool by its address' and lists specific fields (tokens, price, liquidity, volume, transaction counts). It distinguishes from sibling tools like getPoolOHLCV and getPoolTransactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use examples: 'when asked what's the price/TVL of this pool?' and after search/getNetworkPools. Also specifies when not to use by directing to getPoolOHLCV for historical and getPoolTransactions for swap feed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getPoolOHLCVA
Read-onlyIdempotent
Inspect

Get historical open/high/low/close/volume candles for one pool across a date range and interval (1m up to 1d). Use when asked 'price history of this pair', 'hourly chart for the last week', 'candles since Jan 1', or for backtesting and technical analysis. This is historical time-series data; use getPoolDetails for the single current price. Requires network, pool_address, and start.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoOPTIONAL: End time for historical data (max 1 year from start)
limitNoOPTIONAL: Number of OHLCV data points to retrieve (default: 100, max: 366). One row per `interval`.
startYesREQUIRED: Start time. RFC3339 recommended (e.g. '2024-01-01T00:00:00Z'). Also accepts Unix epoch seconds and YYYY-MM-DD (treated as 00:00:00 UTC).
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
intervalNoOPTIONAL: Interval granularity (default: '24h')24h
inversedNoOPTIONAL: Whether to invert the price ratio for alternative pair perspective (default: false)
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
pool_addressYesREQUIRED: Pool address or identifier
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds that it is historical time-series data and requires specific parameters, but does not disclose additional behavioral aspects like rate limits or pagination. This is adequate but not above baseline given annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences: first states purpose and scope, second gives usage examples, third provides differentiation and requirements. Every sentence adds value, and the structure is front-loaded with the core action. No redundant or extra information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's core function, usage scenarios, and differentiation. Although there is no output schema, the description implies the return format ('candles' with OHLCV fields). It lacks explicit mention of output structure or pagination, but given the tool's nature and schema coverage, it is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents all parameters. The description only briefly mentions required parameters (network, pool_address, start), adding no extra meaning beyond what the schema provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves historical OHLCV candles for one pool, explicitly differentiating from getPoolDetails for single current price. It also provides concrete usage examples like 'price history of this pair' and 'hourly chart for the last week', making the purpose very specific and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use this tool (price history, charts, backtesting) and when to use an alternative (use getPoolDetails for single current price). This provides clear decision-making guidance for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getPoolTransactionsA
Read-onlyIdempotent
Inspect

Get the recent individual swap transactions for one pool, newest first, optionally filtered to a from/to window (Unix epoch seconds, last 7 days max). Use when asked 'recent trades on this pool', 'who swapped in the last hour', or 'raw transaction feed'. These are per-trade records, not aggregated candles (use getPoolOHLCV) or a summary (use getPoolDetails). Requires network and pool_address.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoOPTIONAL: Filter transactions up to this UNIX timestamp (exclusive). Must be after 'from'.
fromNoOPTIONAL: Start of time-range filter, Unix epoch SECONDS (inclusive). Window is capped to last 7 days. Note: getPoolOHLCV uses `start` (string) for the same concept — getPoolTransactions uses numeric epoch for tighter filtering.
pageNoOPTIONAL: Page number, 1-indexed. Up to 100 pages. Server accepts page=0 (treated as page=1) for backward compatibility.
limitNoOPTIONAL: Number of items per page (default: 10, max: 100)
cursorNoOPTIONAL: Transaction ID used for cursor-based pagination
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
pool_addressYesREQUIRED: Pool address or identifier
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds behavioral details: 'newest first', 'last 7 days max', 'per-trade records', requiring network and pool_address. No contradictions; the description enriches beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (4 sentences), front-loaded with the primary action, and each sentence serves a purpose: main operation, usage examples, sibling differentiation, and requirements. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and no output schema, the description covers core behavior and usage context but lacks details on return format or pagination behavior beyond parameter descriptions. It is adequate but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions. The description adds value by clarifying the 7-day window cap and distinguishing the 'from' parameter from getPoolOHLCV's 'start'. While helpful, it doesn't add significant new semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves recent individual swap transactions for a pool, ordered newest first, with optional time filtering. It explicitly distinguishes itself from siblings getPoolOHLCV and getPoolDetails, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance with example user queries and when-not-to-use alternatives: 'Use when asked recent trades... not aggregated candles (use getPoolOHLCV) or a summary (use getPoolDetails).' This fully addresses when and when not to use the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getStatsA
Read-onlyIdempotent
Inspect

Get platform-wide totals for DexPaprika: number of networks, DEXes, pools, and tokens indexed. Use when asked 'how much data do you cover?', 'how many chains or pools total?', or for a one-line coverage summary. These are ecosystem-wide counts, not per-network figures; use getNetworks for per-chain breakdowns. No parameters beyond rationale.

ParametersJSON Schema
NameRequiredDescriptionDefault
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, openWorldHint, and non-destructiveHint. The description adds that it returns counts but no additional behavioral context beyond what annotations convey. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences with front-loaded purpose, zero waste. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no output schema, the description adequately covers what the tool returns and its intended use case. It could mention the return format explicitly, but given the simplicity and rich annotations, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter (rationale) with a detailed description. The description states 'No parameters beyond rationale' but does not add meaning beyond what the schema already provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and the resource ('platform-wide totals for DexPaprika') and enumerates specific metrics (networks, DEXes, pools, tokens). It distinguishes from sibling getNetworks by clarifying that these are ecosystem-wide, not per-network.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use triggers ('how much data do you cover?', 'how many chains or pools total?') and a when-not-to-use with alternative (use getNetworks for per-chain breakdowns).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTokenDetailsA
Read-onlyIdempotent
Inspect

Get metadata and multi-timeframe price and volume metrics for one token by its contract address on one network, including website, Twitter and Telegram links. Use for 'price and volume for 0x... on Base', 'tell me about this token'. If you only have a symbol (e.g. WETH) and not an address, call search first to resolve it, then use this. For several tokens at once use getTokenMultiPrices. Requires network and token_address.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
token_addressYesREQUIRED: Token contract address (e.g., 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN' for Jupiter on Solana)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. Description adds value by specifying what is returned (metadata, price/volume metrics, links). No contradictions. Could mention pagination or rate limits, but overall clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise (~70 words), front-loaded with purpose, and well-structured. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description adequately hints at return values (metadata, metrics, links). Could be slightly more explicit about exact metrics but sufficient for a single-token fetch with rich annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and descriptions in schema are thorough. Description mentions 'network and token_address' but adds no new semantics beyond schema. The 'rationale' parameter is ignored in description, but schema covers it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it retrieves metadata and multi-timeframe price/volume metrics for one token by contract address, including social links. It distinguishes from sibling tools like getTokenMultiPrices (multiple tokens) and search (symbol resolution).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when-to-use examples ('price and volume for 0x... on Base', 'tell me about this token'), when-not-to-use (only a symbol: call search first), and alternative for multiple tokens (getTokenMultiPrices). Also states required inputs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTokenMultiPricesA
Read-onlyIdempotent
Inspect

Get current USD prices for up to 10 tokens on the same network in one batched call. Use when asked 'prices for these tokens', 'compare the price of X, Y and Z', or when building a portfolio or dashboard snapshot. Tokens that cannot be priced come back in missing_tokens rather than being dropped, so check that list to catch partial failures; for one token with full metadata use getTokenDetails. Requires network and tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokensYesREQUIRED: Up to 10 token contract addresses on the same network.
networkYesREQUIRED: Network ID from getNetworks
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, destructiveHint. Description adds behavioral detail: 'Tokens that cannot be priced come back in missing_tokens rather than being dropped, so check that list to catch partial failures.' No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose. Each sentence adds value: purpose, usage guidance, behavioral note. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given complexity (3 required params, no output schema), description covers return structure (missing_tokens), usage contexts, and sibling differentiation. Complete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds meaning beyond schema: clarifies tokens are contract addresses, network from getNetworks, rationale for logging. Slightly above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get current USD prices for up to 10 tokens on the same network in one batched call.' It specifies verb, resource, constraints, and distinguishes from sibling getTokenDetails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage contexts: 'when asked prices for these tokens, compare the price of X, Y and Z, or when building a portfolio or dashboard snapshot.' Also provides alternatives: 'for one token with full metadata use getTokenDetails' and mentions checking missing_tokens for partial failures.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTokenPoolsA
Read-onlyIdempotent
Inspect

Get the liquidity pools that contain a specific token on one network. Use when asked 'which pools hold WETH on ethereum?', 'where can I trade this token', or 'liquidity venues for 0x...'. The token filter is network-scoped only, so run search first if you do not know the network; an unknown token_address returns an empty results array, not an error. Requires network and token_address; rows return under results with cursor pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoDEPRECATED alias for sort_dir. Both accepted; prefer sort_dir going forward.
limitNoOPTIONAL: Number of items per page (default: 10, max: 100)
cursorNoOPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page (read `has_next_page` to know if more remain). Replaces the old page number.
addressNoREMOVED alias for paired_token_address. No longer supported by the API; supplying it returns an error.
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
reorderNoREMOVED alias for inversed. No longer supported by the API; supplying true returns an error.
sort_byNoOPTIONAL: Sort field. Canonical parameter name. Defaults to 'volume_usd_24h'. Prefer the canonical *_24h names; short legacy names (volume_usd, transactions, last_price_change_usd_24h) are still accepted.
inversedNoREMOVED: the pair-perspective flip is no longer supported by the API; the pools/search replacement returns pool-perspective metrics only. Supplying true returns an error. For a single pool, getPoolDetails with inversed=true still flips the perspective.
order_byNoDEPRECATED alias for sort_by. Both accepted; prefer sort_by going forward.
sort_dirNoOPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided.
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
token_addressYesREQUIRED: Token contract address
paired_token_addressNoREMOVED: the second-token pair filter is no longer supported by the API. Supplying it returns an error. Filter client-side on each result's tokens[] instead.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds behavioral details: the token filter is network-scoped only, unknown token_address returns an empty `results` array (not an error), and it supports cursor pagination. These go beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences long, front-loaded with the purpose, and includes usage guidance and behavioral notes. It is concise without being too terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema, the description adequately explains the return structure ('results' array with cursor pagination) and covers edge cases like unknown tokens. It mentions required parameters and cursor pagination, making it fairly complete for a non-trivial tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds that 'rows return under `results` with cursor pagination' but does not significantly elaborate on parameter meanings beyond what the schema already provides. It restates that network and token_address are required, which is already clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get the liquidity pools that contain a specific token on one network,' which is a specific verb-resource combination. It distinguishes from siblings like getNetworkPools and getDexPools by focusing on a single token across pools on one network, with explicit usage examples.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete examples of when to use the tool ('which pools hold WETH on ethereum?') and advises to run network search first if unknown. It mentions that an unknown token returns empty results. It does not explicitly state when not to use it, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTopTokensA
Read-onlyIdempotent
Inspect

Get the top tokens on one network ranked by volume, liquidity, transactions, FDV, or 24h price change. Use when asked 'top gainers on Solana', 'highest-volume tokens on Base', or 'biggest tokens by FDV on ethereum'. Ranking by raw price is not supported and silently falls back to volume; for arbitrary numeric filters use filterNetworkTokens. Requires network; rows return under results with cursor pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoDEPRECATED alias for sort_dir. Both accepted; prefer sort_dir going forward.
limitNoOPTIONAL: Items per page (default: 50, max: 100)
cursorNoOPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number.
networkYesREQUIRED: Network ID from getNetworks
sort_byNoOPTIONAL: Ranking field. Defaults to 'volume_usd_24h'. Prefer the canonical names (volume_usd_24h, liquidity_usd, txns_24h, fdv_usd, price_change_percentage_24h); short legacy names are still accepted. Note: ordering by price is not supported and falls back to volume.
order_byNoDEPRECATED alias for sort_by. Both accepted; prefer sort_by going forward.
sort_dirNoOPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided.
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the silent fallback for price sorting and the output structure (results with cursor pagination). Annotations already indicate read-only, idempotent nature; description adds warning about this behavioral nuance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four concise sentences, each serving a distinct purpose: purpose, usage examples, behavioral warning, and output format. No superfluous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 params, no output schema), description covers purpose, usage, behavioral oddities, and output structure. Combined with the schema (which is fully documented), it provides sufficient information for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the baseline is 3. Description adds value by explaining the behavior of sort_by (canonical names, legacy aliases, price fallback) and the output's pagination structure, which is not in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it gets top tokens on a network, using specific verbs and resource. Distinguishes from sibling tool filterNetworkTokens by directing arbitrary filters there.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides example use cases ('top gainers on Solana') and states when not to use it ('for arbitrary numeric filters use filterNetworkTokens'). Also notes the requirement for a network parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submitFeedbackAInspect

Report a problem back to the DexPaprika team when a tool got you stuck, returned something unexpected, lacked data you needed, or behaved differently than documented. Use whenever you hit a dead end, a response shape surprised you, or coverage was missing; even partial feedback helps and every submission is read. Low friction: provide goal, expected, and observed instead of a rationale field.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYesREQUIRED: What you (or the user behind you) were trying to accomplish. 10-500 characters; longer goals are validation-rejected at the MCP layer.
expectedNoOPTIONAL: What you expected to happen. Capped at 500 characters; trim or summarize longer narratives.
observedNoOPTIONAL: What actually happened. Capped at 500 characters; trim or summarize longer narratives. Longer text triggers an MCP -32602 input validation error.
severityNoOPTIONAL: How badly this affected your task. Default 'minor'.minor
blocked_atNoOPTIONAL: Tool name or step where you got stuck.
attempted_toolsNoOPTIONAL: List of tool names you called, in order, before submitting this feedback.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide only false values, placing burden on the description. The description explains that feedback is read by the team and mentions validation constraints, but does not explicitly state side effects (e.g., data storage) or idempotency. It adds moderate value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured paragraph that front-loads the purpose and includes necessary guidance without excessive verbosity. It's concise enough for efficient reading.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple feedback submission tool without an output schema, the description provides sufficient context: when to use, what to provide, and constraints. It lacks return value description but that's acceptable given the tool's nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter. The description adds semantic value by advising low-friction format: 'provide goal, expected, and observed instead of a rationale field.' This helps agents construct effective feedback.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: reporting problems back to the DexPaprika team when stuck or encountering unexpected behavior. It uses a specific verb ('report') and resource, and distinguishes it from sibling tools that are all data retrieval functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use the tool: when a tool gets stuck, returns unexpected results, lacks data, or behaves differently than documented. It also encourages submitting partial feedback and provides format guidance. While it doesn't state when not to use it, the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources