Skip to main content
Glama

CoinPaprika

Server Details

Cryptocurrency market data for 12,000+ coins and 350+ exchanges: prices, tickers, OHLCV, contract lookups, tags, and search.

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 DescriptionsB

Average 3.9/5 across 31 of 31 tools scored. Lowest: 1.6/5.

Server CoherenceB
Disambiguation3/5

Descriptions are detailed and help distinguish tools, but the sheer number of similar tools (multiple ticker, OHLCV, and coin-related variants) creates overlap that could confuse an agent. The distinction between getCoinMarkets and getCoinExchanges is subtle despite good documentation.

Naming Consistency4/5

Most tools follow a consistent 'get' + noun pattern, with 'By' for specific queries. A few outliers like keyInfo, priceConverter, resolveId, search, status, and submitFeedback break the pattern, but the majority are uniform.

Tool Count2/5

With 31 tools, the set is too large for a coherent tool surface. Many tools are variations (three OHLCV tools, multiple ticker tools) that could be consolidated, making the API feel over-engineered and harder to navigate.

Completeness4/5

The tool set covers a wide range of crypto data needs: prices, historical data, OHLCV, exchanges, contracts, global stats, conversion, search, and even feedback. Minor gaps exist (e.g., no trending coins), but overall it's comprehensive for its domain.

Available Tools

31 tools
getCapabilitiesA
Read-onlyIdempotent
Inspect

Get the server's capabilities, supported workflow patterns, validation rules and recommended tool sequences. Use FIRST to onboard as an agent, or when asked 'what can this server do', 'how should I chain these tools', 'what are the parameter rules'. This describes the MCP server itself, not crypto data.

ParametersJSON Schema
NameRequiredDescriptionDefault
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds context about the tool's role in agent onboarding and that it describes the MCP server, not crypto data. No 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, front-loaded with purpose, and every sentence adds value. No redundancy or filler.

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 tool's purpose (capabilities discovery), the description covers essential aspects. However, without an output schema, a brief note on what the response contains (e.g., JSON structure) would improve completeness.

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

Parameters5/5

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

Schema coverage is 100% for the single 'rationale' parameter. The description adds significant value by explaining why the rationale is required, providing concrete examples, warning against including PII, and noting logging purposes.

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 it retrieves server capabilities, workflow patterns, validation rules, and tool sequences. It distinguishes from sibling tools by explicitly stating it describes the MCP server itself, not crypto data.

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 advises 'Use FIRST to onboard as an agent' and provides specific queries that trigger this tool, such as 'what can this server do' or 'how should I chain these tools'. It also clarifies what the tool does NOT cover.

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

getChangelogIDsD
Read-onlyIdempotent
Inspect

Changelog IDs (Starter+)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior2/5

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

Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds no behavioral context beyond the structured data, such as pagination behavior, output format, or data freshness.

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

Conciseness2/5

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

The description is too sparse to be effective. While short, it sacrifices clarity and completeness, failing to provide necessary information in a concise yet informative way.

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

Completeness1/5

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

Despite rich annotations and a simple parameter set, the description fails to explain what changelog IDs are, how to use pagination, or what the output contains. This is insufficient for an AI agent to correctly select and invoke the tool.

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

Parameters2/5

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

Schema description coverage is only 33% (only rationale has a description). The tool description does not explain the purpose of page and limit parameters, nor does it add meaning beyond the schema defaults.

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

Purpose2/5

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

The description 'Changelog IDs (Starter+)' is vague and lacks a verb or specific resource. It does not clearly state what the tool does (e.g., retrieve changelog IDs) and does not distinguish it from sibling tools like getTickers or getCoins.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., getCoinEvents or getMappings). There is no mention of context, prerequisites, or exclusions.

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

getCoinByIdA
Read-onlyIdempotent
Inspect

Get descriptive project information about a coin (description, links, team, tags). Does NOT include price; for price/market cap use getTickersById.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinIdYesCanonical CoinPaprika coin slug in 'symbol-name' format, e.g. 'btc-bitcoin', 'eth-ethereum', 'ada-cardano'. Do NOT pass ticker symbols ('BTC', 'AAVE') or guess the slug — it is not derivable from the symbol (e.g. AAVE resolves to 'aave-new', which you could not guess). Call search or resolveId first to resolve a symbol or name to its canonical id.
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds non-obvious behavioral trait: explicitly states it does NOT include price, which is 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 very short sentences that front-load purpose and distinction, with zero wasteful words. Every sentence adds value.

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?

For a simple tool with 2 required params and no output schema, the description fully covers purpose, usage context, param details, and alternatives. Agent has all needed information.

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

Parameters5/5

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

Schema coverage is 100% but description adds extensive detail: coinId parameter explains format, examples, and critical usage rules (no ticker symbols, use search/resolveId). Rationale parameter provides clear guidance on required content and privacy.

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 descriptive project information about a coin' and specifies exact contents (description, links, team, tags). It also explicitly distinguishes from getTickersById for price data.

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 tells when not to use (for price) and directs to alternative sibling tool. Also includes guidance in coinId parameter description to use search/resolveId to obtain the correct slug.

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

getCoinEventsA
Read-onlyIdempotent
Inspect

Get the timeline of events for a coin (launches, partnerships, hard forks, conference talks) with dates and descriptions. Use when asked 'what is happening with X', 'upcoming events for Ethereum', 'X roadmap events'. For prices or market data use getTickersById.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
coinIdYesCanonical CoinPaprika coin slug in 'symbol-name' format, e.g. 'btc-bitcoin', 'eth-ethereum', 'ada-cardano'. Do NOT pass ticker symbols ('BTC', 'AAVE') or guess the slug — it is not derivable from the symbol (e.g. AAVE resolves to 'aave-new', which you could not guess). Call search or resolveId first to resolve a symbol or name to its canonical id.
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior3/5

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

Annotations declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. Description adds that it returns dates and descriptions but no further behavioral details (e.g., ordering, pagination). Adequate given annotations cover safety.

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: first defines purpose with examples, second provides usage context and alternative. 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?

No output schema, but description mentions return includes dates and descriptions. For a timeline tool, this is mostly sufficient; however, missing details like event types or ordering. Still reasonably 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 67% with detailed descriptions for coinId and rationale. Tool description does not add new parameter information beyond what schema 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?

Description clearly states verb 'Get' and resource 'timeline of events for a coin' with specific examples (launches, partnerships, hard forks, conference talks). It distinguishes from sibling getTickersById by directing price queries away.

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?

Description provides explicit usage triggers ('what is happening with X', 'upcoming events for Ethereum', 'X roadmap events') and alternatives ('For prices or market data use getTickersById').

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

getCoinExchangesA
Read-onlyIdempotent
Inspect

List the exchanges that LIST a specific coin (venue names only). Use for 'which exchanges list X', 'is X on Coinbase', 'where is X listed'. For where to BUY with per-market price and volume use getCoinMarkets; for the coin's live price use getTickersById.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
coinIdYesCanonical CoinPaprika coin slug in 'symbol-name' format, e.g. 'btc-bitcoin', 'eth-ethereum', 'ada-cardano'. Do NOT pass ticker symbols ('BTC', 'AAVE') or guess the slug — it is not derivable from the symbol (e.g. AAVE resolves to 'aave-new', which you could not guess). Call search or resolveId first to resolve a symbol or name to its canonical id.
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, establishing safety. The description adds useful behavioral context by specifying that the output is 'venue names only', which implies a restricted response. However, it does not mention pagination or rate limits, which would further enhance transparency.

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 extremely concise: one sentence for purpose, followed by usage examples and clear alternatives. Every sentence adds value, and there is no redundant or ambiguous language.

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 tool's simplicity (3 parameters, no output schema), the description covers purpose, usage context, and alternatives well. However, it lacks any mention of the optional limit parameter or default behavior, which would make it fully complete. Annotations cover safety, so the description carries appropriate weight.

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

Parameters2/5

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

The description adds no information about parameters beyond what is already in the input schema. The schema covers coinId format and rationale requirement well, but the limit parameter (schema description coverage 67%) lacks any description in both schema and tool description. Since the description does not compensate for this gap, the parameter semantics are weak.

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 it lists exchanges that list a specific coin, returning only venue names. It provides concrete example queries ('which exchanges list X', 'is X on Coinbase') and explicitly distinguishes from sibling tools like getCoinMarkets and getTickersById, which cover different use cases.

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 scenarios ('Use for 'which exchanges list X', 'is X on Coinbase', 'where is X listed') and direct alternatives for other cases ('For where to BUY with per-market price and volume use getCoinMarkets; for the coin's live price use getTickersById'). This leaves no ambiguity about tool selection.

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

getCoinMarketsA
Read-onlyIdempotent
Inspect

Get the specific markets and trading pairs where a coin trades, with per-market price and 24h volume. Use for 'where can I buy X', 'X price on Binance', 'best market for X'. For just the list of exchange names use getCoinExchanges.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
coinIdYesCanonical CoinPaprika coin slug in 'symbol-name' format, e.g. 'btc-bitcoin', 'eth-ethereum', 'ada-cardano'. Do NOT pass ticker symbols ('BTC', 'AAVE') or guess the slug — it is not derivable from the symbol (e.g. AAVE resolves to 'aave-new', which you could not guess). Call search or resolveId first to resolve a symbol or name to its canonical id.
quotesNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds that it returns per-market price and volume, but discloses no other behavioral traits. 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?

Extremely concise: two sentences plus usage guidance. Every sentence adds value, 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?

Despite no output schema and moderate parameter coverage, the description covers purpose, usage context, and distinguishes from a sibling. Missing explicit return format details, but overall sufficient for an AI 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 50% (coinId and rationale have descriptions; limit and quotes do not). The tool description provides no additional parameter-level details beyond the schema, so it does not compensate for missing schema descriptions.

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 specific markets and trading pairs for a coin with per-market price and 24h volume, and provides example queries. It distinguishes itself from sibling getCoinExchanges.

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 scenarios are given ('where can I buy X', 'X price on Binance', 'best market for X'), and it tells when to use the sibling instead ('For just the list of exchange names use getCoinExchanges').

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

getCoinOHLCVHistoricalA
Read-onlyIdempotent
Inspect

Get OHLC candles (open/high/low/close plus volume) for a coin over a date range, for price charts, backtests and technical analysis. Use for 'daily chart for the last month', 'hourly candles since Jan 1'. For a single past date's spot value use getTickersHistoricalById; not for the current price. Requires Starter+ plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoOptional end timestamp. Same formats as start. Defaults to now if omitted.
limitNoOptional. Number of candles (default 50, max 250).
quoteNoOptional quote currency code (default 'usd'). Examples: 'usd', 'btc', 'eth'.usd
startYesRequired. Start timestamp. Accepts ISO 8601 ('2026-01-15T00:00:00Z') or date-only ('2026-01-15'). UTC.
coinIdYesCanonical CoinPaprika coin slug in 'symbol-name' format, e.g. 'btc-bitcoin', 'eth-ethereum', 'ada-cardano'. Do NOT pass ticker symbols ('BTC', 'AAVE') or guess the slug — it is not derivable from the symbol (e.g. AAVE resolves to 'aave-new', which you could not guess). Call search or resolveId first to resolve a symbol or name to its canonical id.
intervalNoOptional. Candle interval. Defaults to '24h' for daily candles.24h
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive. The description adds the behavioral constraint of requiring a Starter+ plan, which is valuable beyond annotations. No contradiction. Could mention data freshness or rate limits but not necessary.

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 succinct paragraphs: first for purpose and examples, second for usage guidance and plan requirement. 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?

Despite lacking an output schema, the description covers all inputs and usage scenarios comprehensively. Could mention response structure but not necessary given complexity.

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

Parameters5/5

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

Schema coverage is 100%, and the description adds significant value beyond schema: explains coinId format in detail, warns against ticker symbols, advises resolving first. Provides examples for start/end formats and rationale. All parameters are well explained with usage context.

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 gets OHLC candles for a coin over a date range, and distinguishes it from related tools like getTickersHistoricalById (for single past date spot) and from current price tools. Siblings like getCoinOHLCVLatest are implicitly differentiated.

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 (historical OHLCV over date range) and when not (current price or single past date spot). Provides concrete examples ('daily chart for the last month', 'hourly candles since Jan 1'). Also mentions plan requirement.

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

getCoinOHLCVLatestA
Read-onlyIdempotent
Inspect

Get the latest full-day OHLC candle (open/high/low/close plus volume) for a coin. For the live spot price use getTickersById.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteNousd
coinIdYesCanonical CoinPaprika coin slug in 'symbol-name' format, e.g. 'btc-bitcoin', 'eth-ethereum', 'ada-cardano'. Do NOT pass ticker symbols ('BTC', 'AAVE') or guess the slug — it is not derivable from the symbol (e.g. AAVE resolves to 'aave-new', which you could not guess). Call search or resolveId first to resolve a symbol or name to its canonical id.
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior3/5

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

Annotations already indicate readOnly, openWorld, idempotent, non-destructive. The description does not add behavioral info beyond stating it returns OHLCV data, which is consistent.

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, one focused on purpose and one on a key alternative. No wasted words or redundancy.

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?

No output schema, so the description should ideally mention the return structure (e.g., an object with open/high/low/close/volume). It does not, and it omits differentiation from getCoinOHLCVToday, leaving a gap for agents to understand which candle type is returned.

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?

The coinId parameter description is thorough, specifying format and the need to resolve via search/resolveId, which adds significant value beyond the schema. The rationale parameter is explained with examples. quote has a default but no description, leaving it partially uncovered.

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

Purpose4/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 latest full-day OHLC candle and contrasts with getTickersById for live spot prices. However, it does not explicitly distinguish from the sibling getCoinOHLCVToday or getCoinOHLCVHistorical, relying on the tool name alone.

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

Usage Guidelines3/5

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

Provides one alternative (getTickersById for live spot price) but lacks guidance on when to use this over getCoinOHLCVToday or getCoinOHLCVHistorical. The rationale parameter requirement is not a usage guideline for selecting this tool.

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

getCoinOHLCVTodayA
Read-onlyIdempotent
Inspect

Get today's in-progress OHLC candle for a coin. For the current spot price use getTickersById; for past candles use getCoinOHLCVHistorical.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteNousd
coinIdYesCanonical CoinPaprika coin slug in 'symbol-name' format, e.g. 'btc-bitcoin', 'eth-ethereum', 'ada-cardano'. Do NOT pass ticker symbols ('BTC', 'AAVE') or guess the slug — it is not derivable from the symbol (e.g. AAVE resolves to 'aave-new', which you could not guess). Call search or resolveId first to resolve a symbol or name to its canonical id.
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
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 the safety and side-effect profile. The description adds that the candle is 'in-progress' (i.e., updating during the day), which provides minor behavioral context beyond annotations. No 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?

Two short sentences: one for purpose, one for sibling differentiation. No unnecessary words. 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?

The description covers purpose and usage guidelines well. It does not describe the return format (no output schema provided), but given the tool is a simple single-candle query and siblings cover other timeframes, the level of detail is nearly complete for an agent to select and invoke it correctly.

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 67% (two of three parameters have descriptions). The description does not add parameter-level details beyond what the schema provides. With coverage above 50%, the baseline 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 purpose: 'Get today's in-progress OHLC candle for a coin.' It uses a specific verb+resource and immediately distinguishes itself from siblings by naming getTickersById for spot price and getCoinOHLCVHistorical for past candles.

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 this tool versus two specific alternatives (getTickersById for spot price, getCoinOHLCVHistorical for past candles). It provides clear context, though it doesn't exhaustively list all cases where the tool should not be used.

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

getCoinsA
Read-onlyIdempotent
Inspect

List available coins (id, name, symbol, rank). Use to discover coins or map a name to an id. Does NOT include prices; for prices use getTickers or getTickersById.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional. Items per page (default 50, max 250). Server clamps requests above 250.
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds the valuable behavioral detail that prices are not included, 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, no wasted words. Front-loaded with the core action and output, then usage guidance. Highly efficient.

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?

For a simple listing tool with two well-documented parameters and no output schema, the description provides all necessary context: what is returned, use cases, and what is excluded. Complete for agent decision-making.

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 the schema fully documents both parameters. The description adds general usage context but does not enhance parameter meaning beyond 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 uses specific verb 'List' with resource 'coins' and specifies fields (id, name, symbol, rank). It also explicitly states what the tool does not do (prices), distinguishing it from sibling tools getTickers and getTickersById.

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 ('discover coins' or 'map a name to an id') and when not to use ('Does NOT include prices; for prices use getTickers or getTickersById'), providing clear guidance on alternatives.

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

getContractsA
Read-onlyIdempotent
Inspect

List the token contract addresses tracked on a specific platform, mapping each contract to its CoinPaprika coin id. Use when asked 'contracts on ethereum', 'what tokens does X chain have', or to map a contract address to a coin id. Get the platform id first from getPlatforms; for a single contract's price use getTickerByContract.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
platformIdYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, making the safety profile clear. The description adds that the tool returns a mapping of contracts to coin IDs, which is useful behavioral context beyond safety. 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?

The description is three concise sentences that front-load the core purpose, then provide usage guidance and prerequisite. No wasted words; every sentence earns its place.

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?

Given the tool has 3 parameters, no output schema, and moderate complexity, the description covers purpose, usage, and a prerequisite. However, it omits explanation of the limit parameter and the required rationale parameter (beyond schema), and does not describe the output format. These gaps reduce completeness.

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 only 33% (only rationale has a description). The description indirectly explains platformId by referencing getPlatforms, but does not mention the limit parameter or clarify the rationale parameter's purpose beyond what the schema provides. It adds some meaning but does not fully compensate for the low 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 token contract addresses tracked on a platform and maps each to a CoinPaprika coin id. The verb 'list' and resource 'contract addresses' are specific, and the mapping to coin IDs is explicit. It distinguishes itself from siblings like getTickerByContract (for single price) and getHistoricalTickerByContract.

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 usage scenarios: 'contracts on ethereum', 'what tokens does X chain have', or mapping contract addresses. Tells users to first get platformId from getPlatforms, and for a single contract price to use getTickerByContract. This clearly differentiates when to use this tool vs alternatives.

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

getExchangeByIDA
Read-onlyIdempotent
Inspect

Get details for a specific exchange (volume, market count, trust score, links, fiat support). Use when asked 'tell me about Binance', 'Coinbase exchange stats', 'is X a trustworthy exchange'. For the pairs traded there use getExchangeMarkets; find the exchange id first with search or getExchanges.

ParametersJSON Schema
NameRequiredDescriptionDefault
quotesNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
exchangeIdYes
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the description doesn't need to repeat safety. It adds transparency by listing the returned data fields (volume, market count, trust score, etc.), which helps the agent understand the output.

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 two sentences, each serving a distinct purpose: the first states what the tool does, the second gives usage guidance and alternatives. No wasted words, well front-loaded.

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 read-only lookup tool with no output schema, the description adequately explains what data is returned (volume, market count, trust score, etc.) and provides context on how to obtain the exchange ID. However, it does not address the optional quotes parameter, which could affect completeness.

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

Parameters2/5

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

Schema coverage is only 33% (only rationale has description). The description does not explain the exchangeId or quotes parameters. While it mentions finding the exchange ID via search, it doesn't describe the parameter's format or purpose. The quotes parameter is entirely unaddressed.

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 details for a specific exchange, listing specific data points (volume, market count, trust score, links, fiat support) and provides example queries like 'tell me about Binance'. It also distinguishes itself from sibling tool getExchangeMarkets, which is for pairs traded.

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 the tool (e.g., when asked about a specific exchange) and when not to (use getExchangeMarkets for traded pairs). Also advises to find the exchange ID first via search or getExchanges, offering a clear usage workflow.

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

getExchangeMarketsA
Read-onlyIdempotent
Inspect

List the trading pairs (markets) on a specific exchange with price and 24h volume per pair. Use when asked 'what pairs trade on Binance', 'markets on Kraken', 'BTC pairs on X exchange'. For exchange-level stats use getExchangeByID.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
quotesNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
exchangeIdYes
Behavior4/5

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

Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds that it returns 'price and 24h volume per pair', which is useful behavioral context beyond the annotations. No contradiction. Score 4 for adding value without needing to re-state 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 two sentences long, front-loaded with purpose, and includes usage examples and alternatives. Every sentence earns its place with no filler.

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?

No output schema exists, but the description mentions return includes price and 24h volume. For a tool with 4 parameters, the description could be more complete by detailing the parameters (especially limit, quotes) and expected response format. Score 3 is adequate but not thorough.

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

Parameters2/5

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

Schema description coverage is only 25% (only 'rationale' has a description). The description does not explain any of the parameters ('exchangeId', 'limit', 'quotes', 'rationale'). It fails to add meaning beyond what the schema provides for 3 out of 4 parameters. Score 2 indicates significant gap.

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 uses a specific verb ('List') and resource ('trading pairs (markets) on a specific exchange'), provides concrete example queries, and distinguishes itself from a sibling tool (getExchangeByID). This meets criteria for a score of 5.

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 states when to use the tool ('Use when asked...') and gives an alternative for exchange-level stats ('For exchange-level stats use getExchangeByID'). This provides clear guidance for the agent.

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

getExchangesA
Read-onlyIdempotent
Inspect

List all exchanges tracked by CoinPaprika with rank, trust score and volume. Use when asked 'top exchanges', 'biggest crypto exchanges', 'list exchanges by volume', or to find an exchange id before calling getExchangeByID.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
quotesNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds value by specifying the returned data fields (rank, trust score, volume), but does not mention any limitations like pagination or rate limits, which would further enhance transparency.

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 two sentences long, front-loaded with the primary action, and contains no superfluous words. Every sentence contributes value.

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?

The description explains what the tool does and when to use it, but it omits details about the output structure (no output schema) and how the 'limit' parameter affects results. This leaves some ambiguity for agent understanding.

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

Parameters1/5

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

The input schema has three parameters with only 33% description coverage (only 'rationale' has a description). The description does not mention any parameters, failing to add meaning beyond the schema. Given low coverage, the description should compensate, but it does not.

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 the tool lists exchanges with rank, trust score, and volume. It differentiates from sibling getExchangeByID by indicating it can be used to find an exchange ID for that specific tool.

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 queries ('top exchanges', 'biggest crypto exchanges', 'list exchanges by volume') and a specific use case (finding exchange ID before calling getExchangeByID). This clearly guides when to use this tool over alternatives.

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

getGlobalA
Read-onlyIdempotent
Inspect

Get a global crypto market overview: total market cap, total 24h volume, Bitcoin dominance, and market-wide 24h change. Use for 'how is the crypto market doing', 'total market cap', 'BTC dominance'. For a single coin's price use getTickersById.

ParametersJSON Schema
NameRequiredDescriptionDefault
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the description adds value by detailing the data fields returned. 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, then usage guidance and alternative, no redundant information.

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?

For a simple tool with one required parameter (rationale) and no output schema, the description fully covers what the tool does and when to use it.

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?

Only parameter 'rationale' is already well-documented in the input schema with a clear description. The tool description does not add further parameter-level details beyond what schema provides, and schema coverage is 100%, so 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?

Description explicitly states the tool retrieves a global crypto market overview with specific metrics (total market cap, volume, Bitcoin dominance, 24h change) and provides example queries, clearly distinguishing it from sibling tool getTickersById.

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?

Clearly states when to use this tool ('how is the crypto market doing', 'total market cap', 'BTC dominance') and explicitly points to getTickersById for single coin prices, providing a direct alternative.

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

getHistoricalTickerByContractA
Read-onlyIdempotent
Inspect

Get historical price and market data of a token by its contract address. Not for the current price (use getTickerByContract). Requires Starter+ plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoOptional end timestamp. Same formats as start. Defaults to now if omitted.
limitNoOptional. Number of data points (default 50, max 250).
quoteNoOptional quote currency code (default 'usd').usd
startYesRequired. Start timestamp. Accepts ISO 8601 ('2026-01-15T00:00:00Z') or date-only ('2026-01-15'). UTC.
intervalNoOptional. Sampling interval. Common values: '5m', '15m', '30m', '1h', '6h', '12h', '24h', '7d', '14d', '30d'. Upstream supports additional intervals; consult CoinPaprika docs if you need something outside this list.5m
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
platformIdYesPlatform identifier (e.g., 'eth-ethereum', 'bnb-binance-coin'). Use getPlatforms to discover valid platforms.
contractAddressYesToken contract address on the platform. EVM addresses are case-insensitive; Solana addresses are case-sensitive base58.
Behavior4/5

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

Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds that the rationale parameter is logged and reviewed, and that a specific plan is required. This adds useful context beyond annotations 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 two sentences, front-loading the purpose and then providing usage exclusions and requirements. Every sentence earns its place with 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?

The description does not explain the output format (e.g., OHLCV data structure) despite no output schema. Given the number of parameters and sibling tools, this lack of detail on return values leaves moderate gaps 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 the baseline is 3. The description reinforces the contract address usage and adds the plan requirement, but adds little extra meaning beyond the schema's parameter descriptions.

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 'historical price and market data of a token by its contract address'. It distinguishes from 'getTickerByContract' for current price, meeting the criteria for a specific verb+resource with sibling differentiation.

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 not to use ('Not for the current price') and provides the alternative ('use getTickerByContract'). It also mentions the required plan ('Requires Starter+ plan'), offering clear context.

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

getMappingsD
Read-onlyIdempotent
Inspect

API ID mappings (Business)

ParametersJSON Schema
NameRequiredDescriptionDefault
dtiNo
isinNo
coingeckoNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
coinpaprikaNo
coinmarketcapNo
cryptocompareNo
Behavior2/5

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

Annotations already provide readOnlyHint, destructiveHint, etc. The description adds no behavioral context beyond what annotations already state, missing opportunity to explain output format or side effects.

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

Conciseness2/5

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

Extremely concise but at the cost of clarity. Only 4 words; fails to convey essential information for a tool with 7 parameters.

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

Completeness1/5

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

Given the tool's complexity (7 parameters, no output schema), the description is wholly inadequate. It does not explain what mappings are, the meaning of input fields, or expected output.

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

Parameters1/5

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

Schema coverage is only 14% and the description does not describe any parameters. With low coverage, the description should compensate but does not.

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

Purpose2/5

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

The description 'API ID mappings (Business)' is vague. It hints at mapping identifiers but does not specify what kind of mappings or differentiate from siblings like getCoinById. It is barely more than the tool name.

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

Usage Guidelines1/5

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

No guidance on when to use this tool vs alternatives. No mention of context, prerequisites, or exclusions.

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

getPeopleByIdC
Read-onlyIdempotent
Inspect

Person details

ParametersJSON Schema
NameRequiredDescriptionDefault
personIdYes
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior2/5

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

The description adds no behavioral information beyond what annotations already provide (readOnly, idempotent, etc.). It does not explain return format or side effects, which are minimal but still useful to mention.

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

Conciseness2/5

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

The description is under-specified at two words. It is not conciseness but rather a lack of substance. Front-loading is irrelevant when there is virtually no content.

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

Completeness2/5

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

With 2 required parameters, no output schema, and no behavioral details, the description is inadequate for an AI agent to use the tool correctly. It omits what data is returned and any additional context.

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

Parameters2/5

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

The description does not clarify the 'personId' parameter, which has no schema description. While 'rationale' is well-documented in the schema, the tool description fails to compensate for the missing 'personId' description.

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

Purpose2/5

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

The description 'Person details' is vague and merely restates the tool name's implied purpose. It does not specify what the tool returns or how it differs from sibling tools like 'getCoinById' or 'getExchangeByID'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description lacks any context about prerequisites, typical scenarios, or exclusions.

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

getPlatformsA
Read-onlyIdempotent
Inspect

List the smart-contract platforms (blockchains such as ethereum, bnb, polygon) for which CoinPaprika indexes token contracts. Use when asked 'which chains are supported for contract lookups', 'list contract platforms', or to pick a platform id before calling getContracts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds useful context about the purpose (indexing token contracts) and the relationship to getContracts, justifying a slightly above-average score.

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 two sentences front-loaded with the core purpose, followed by usage examples. Every sentence is informative, and there is no fluff.

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 list tool with comprehensive annotations, the description covers the main purpose and usage context well. It could mention the limit parameter's role in pagination, but this is a minor gap.

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

Parameters2/5

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

Schema coverage is 50% (rationale has a description, limit does not). The description does not explain the limit parameter (default 50) or its effect. It adds no meaning beyond the schema, which already details the rationale parameter well.

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 smart-contract platforms (blockchains) indexed by CoinPaprika, with specific examples (ethereum, bnb, polygon). It distinguishes itself from siblings by mentioning it's used to pick a platform id before calling getContracts, which is a neighboring tool.

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 guidance is provided: 'Use when asked which chains are supported for contract lookups, list contract platforms, or to pick a platform id before calling getContracts.' This tells the agent exactly when to invoke this tool.

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

getTagByIdD
Read-onlyIdempotent
Inspect

Tag details

ParametersJSON Schema
NameRequiredDescriptionDefault
tagIdYes
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
additionalFieldsNo
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety. However, the description adds no extra behavioral context such as return format, error handling, or what happens if tagId is invalid.

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

Conciseness2/5

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

The description is extremely short (two words) but sacrifices clarity for brevity. It omits essential details, making it under-specified rather than concise.

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

Completeness1/5

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

Given the tool has three parameters (two required), no output schema, and no explanation of what 'tag details' includes, the description is completely inadequate for an agent to understand its purpose and usage.

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

Parameters1/5

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

Schema description coverage is only 33% (only rationale has a description focusing on why to provide it, not its role). The description 'Tag details' adds no meaning to the parameters tagId or additionalFields, failing to compensate for the low coverage.

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

Purpose2/5

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

The description 'Tag details' is minimal and does not specify the verb or resource clearly. It restates the domain (tags) but not that it retrieves a single tag by ID, failing to distinguish from siblings like getTags which likely lists all tags.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description gives no context on when to use this tool versus alternatives like getTags, nor any conditions or prerequisites.

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

getTagsC
Read-onlyIdempotent
Inspect

List tags

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
additionalFieldsNo
Behavior2/5

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

The annotations (readOnlyHint=true, etc.) already cover safety and idempotency. However, the description adds no behavioral context beyond 'List tags', such as pagination, ordering, or result format. It provides minimal value beyond what annotations already convey.

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

Conciseness2/5

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

The description is extremely concise at two words, but it is under-specified. While brevity is positive, the content does not earn its place as it omits critical information.

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

Completeness1/5

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

Given the presence of three parameters (one required with a detailed rationale), no output schema, and many sibling tools, the description is incomplete. It does not explain what tags are, how results are returned, or how to use parameters effectively.

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

Parameters1/5

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

Schema coverage is at 33% (only rationale has a description in schema). The description does not mention any parameters or their semantics. It fails to compensate for the low coverage.

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

Purpose4/5

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

The description 'List tags' clearly states the verb (list) and resource (tags), but it does not distinguish this tool from siblings like getTagById or getCoins. The purpose is clear but lacks differentiation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as getTagById or getCoins. The description does not mention any context or exclusions.

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

getTickerByContractA
Read-onlyIdempotent
Inspect

Get the current price and market data of a token by its contract address (for on-chain and DeFi tokens). Use when you have a 0x... or contract address rather than a name. For history use getHistoricalTickerByContract.

ParametersJSON Schema
NameRequiredDescriptionDefault
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
platformIdYes
contractAddressYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is clear. The description adds context about the type of data (current price and market data) and the scope (on-chain and DeFi tokens), which adds value beyond annotations without contradicting them.

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, front-loaded with key information. No wasted words. Every sentence serves a purpose: stating the action, providing usage context, and directing to an alternative.

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 simplicity (a read operation on current data) and the annotations covering idempotency/readonly, the description sufficiently covers what the tool returns and when to use it. No output schema is needed for such a straightforward getter.

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 only 33%; only 'rationale' has a description. The description clarifies that 'contractAddress' is a 0x... address for on-chain/DeFi tokens, adding meaning. However, 'platformId' remains undocumented. Baseline for low coverage is higher, but the description partially compensates.

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'), resource ('current price and market data of a token'), and method ('by its contract address'). It also distinguishes from the sibling tool 'getHistoricalTickerByContract' by noting the historical variant.

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 when-to-use guidance is provided: 'Use when you have a 0x... or contract address rather than a name.' It also directs to an alternative for history: 'For history use getHistoricalTickerByContract.'

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

getTickersA
Read-onlyIdempotent
Inspect

Get current prices, market caps and 24h changes for the top cryptocurrencies ranked by market cap. Use for 'top 5 coins', 'top crypto today', 'biggest cryptocurrencies', or a market snapshot. For one specific coin use getTickersById.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
quotesNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior3/5

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

Annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint) already declare the tool safe and non-destructive. The description adds that it returns current prices, market caps, and 24h changes, but does not go beyond these basic traits or mention any additional behavioral details like rate limits.

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 two well-structured sentences. The first sentence states the core functionality, and the second adds usage context and alternative tool. No unnecessary words, and key information is front-loaded.

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?

While the description covers purpose and usage guidelines well, it lacks explanation for two of three parameters and provides no information about the response format. Given no output schema, more detail on result structure would improve completeness.

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

Parameters2/5

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

Schema description coverage is only 33% (only 'rationale' is described). The description does not explain the 'limit' or 'quotes' parameters, leaving them ambiguous. Given low coverage, the description fails to compensate by adding parameter meaning.

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 identifies the tool as retrieving current prices, market caps, and 24h changes for top cryptocurrencies ranked by market cap. It uses specific verbs and resources, and explicitly distinguishes from sibling tool getTickersById.

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 examples ('top 5 coins', 'market snapshot') and states when to use the alternative getTickersById for a single coin, offering clear guidance on tool selection.

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

getTickersByIdA
Read-onlyIdempotent
Inspect

Get the current price, market cap, 24h change and volume of a specific cryptocurrency in USD (or another quote currency). Use when asked 'what is the price of X', 'how much is Bitcoin worth', 'BTC to USD', 'ETH price now'. For past prices use getTickersHistoricalById.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinIdYesCanonical CoinPaprika coin slug in 'symbol-name' format, e.g. 'btc-bitcoin', 'eth-ethereum', 'ada-cardano'. Do NOT pass ticker symbols ('BTC', 'AAVE') or guess the slug — it is not derivable from the symbol (e.g. AAVE resolves to 'aave-new', which you could not guess). Call search or resolveId first to resolve a symbol or name to its canonical id.
quotesNo
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds value by detailing the exact fields returned (price, market cap, 24h change, volume) and mentions the data currency (current) and quote currency flexibility (USD or other). No contradictions 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?

The description is extremely concise: two sentences covering purpose and usage, plus a one-sentence alternative reference. Every sentence earns its place, and the most critical information (what the tool does and when to use) is front-loaded.

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 low complexity (read-only, few parameters) and rich annotations, the description is complete. It explains the output fields, hints at the quotes parameter, and guides the agent to resolve coin IDs first. No output schema exists, but the description covers return values sufficiently.

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 67%, so baseline is 3. The tool description adds meaning by mentioning 'USD (or another quote currency)', which indirectly explains the 'quotes' parameter (not described in schema). The 'coinId' and 'rationale' parameters are well-described in schema, and the description reinforces the need to resolve the coinId 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?

The description clearly states the tool retrieves current price, market cap, 24h change, and volume for a specific cryptocurrency. It specifies the resource (cryptocurrency) and verb (get), and distinguishes from the historical sibling tool via explicit mention of alternative use cases.

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 explicit examples of when to use ('what is the price of X', 'BTC to USD') and names the alternative for past prices (getTickersHistoricalById). While it lacks explicit 'when not to use' statements beyond the historical case, the examples and reference to alternative cover common usage scenarios.

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

getTickersHistoricalByIdA
Read-onlyIdempotent
Inspect

Get a coin's price and market cap at a single past date or time (a point-in-time value). Use for 'price of BTC last Tuesday', 'ETH market cap on 2024-01-01'. For OHLC chart candles over a range use getCoinOHLCVHistorical, not this. Not for the current price (use getTickersById). Requires Starter+ plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoOptional end timestamp. Same formats as start. Defaults to now if omitted.
limitNoOptional. Number of data points (default 50, max 250).
quoteNoOptional quote currency code (default 'usd'). Examples: 'usd', 'btc', 'eth'.usd
startYesRequired. Start timestamp. Accepts ISO 8601 ('2026-01-15T00:00:00Z') or date-only ('2026-01-15'). UTC.
coinIdYesCanonical CoinPaprika coin slug in 'symbol-name' format, e.g. 'btc-bitcoin', 'eth-ethereum', 'ada-cardano'. Do NOT pass ticker symbols ('BTC', 'AAVE') or guess the slug — it is not derivable from the symbol (e.g. AAVE resolves to 'aave-new', which you could not guess). Call search or resolveId first to resolve a symbol or name to its canonical id.
intervalNoOptional. Sampling interval. Common values: '5m', '15m', '30m', '1h', '6h', '12h', '24h', '7d', '14d', '30d'. Upstream supports additional intervals; consult CoinPaprika docs if you need something outside this list.5m
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnly, openWorld, idempotent, non-destructive. Description adds behavioral context: requires a paid plan, returns a single value. No contradictions. Could mention output format briefly, but overall solid.

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?

Five sentences, each adds value. Front-loaded with purpose, then usage examples, exclusions, and plan requirement. No redundant or vague statements. Perfectly scoped.

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 7 parameters handled in schema and description, and absence of output schema, the description covers key contextual aspects (when-to-use, exclusions, slug clarification, plan). Missing slight detail on return format, but not critical for selection/invocation.

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

Parameters5/5

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

Schema covers 100% of parameters but description adds critical context beyond schema descriptions: warns against guessing coin slugs, explains acceptable start formats, emphasizes rationale requirement with examples. Significantly aids correct invocation.

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 verb ('Get'), resource ('a coin's price and market cap at a single past date/time'), and provides concrete examples ('price of BTC last Tuesday'). Explicitly distinguishes from sibling tools (getCoinOHLCVHistorical for ranges, getTickersById for current price).

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 (point-in-time historical data), when not to use (range or current price), and alternatives (getCoinOHLCVHistorical, getTickersById). Also mentions required plan (Starter+). No ambiguity.

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

keyInfoB
Read-onlyIdempotent
Inspect

Verify API key (Pro)

ParametersJSON Schema
NameRequiredDescriptionDefault
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, so the description doesn't need to restate. However, it adds minimal behavioral context beyond the title; e.g., no details on what the tool returns or side effects.

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?

Extremely concise with one sentence. No unnecessary information, though could benefit from a bit more structure to aid readability.

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?

Given the simple tool (1 param, no output schema), the description is somewhat complete but lacks expected outcome details (e.g., whether it returns key validity, user info, etc.). Annotations help but don't fully compensate.

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 'rationale' parameter, which is fully described in the schema. The description adds no additional parameter meaning beyond the schema.

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

Purpose4/5

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

Description states 'Verify API key (Pro)', clearly indicating the verb and resource. It distinguishes from siblings focused on coins, exchanges, etc., by focusing on authentication. However, it doesn't elaborate on what 'Verify' entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'status' or other tools. No exclusions or context provided.

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

priceConverterA
Read-onlyIdempotent
Inspect

Convert an amount from one crypto or fiat to another at the current rate ('how much is 0.5 BTC in USD', 'convert 100 USDC to EUR'). For a plain coin price without an amount, use getTickersById.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoOptional. Amount of base currency to convert (default 1). Passing 0 returns a 0-valued response, which is rarely what you want — use 1 to get a unit-rate quote.
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
baseCurrencyIdYesRequired. Source CoinPaprika coin slug (e.g., 'btc-bitcoin'). Full slugs only; symbols like 'BTC' are rejected upstream.
quoteCurrencyIdYesRequired. Target CoinPaprika coin slug (e.g., 'usd-us-dollars', 'eth-ethereum').
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds that it operates 'at the current rate' and gives examples, which is useful context. No contradictions; the description complements annotations well.

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 two sentences, front-loading the purpose and examples, then directing to an alternative. Every sentence adds value without redundancy or fluff.

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 is mostly complete for a simple conversion tool. It lacks an explicit mention of the return format, but the examples imply a numeric conversion result. Given no output schema, a slight improvement would be to state what the response contains (e.g., 'returns the converted amount').

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 the baseline is 3. The description does not add parameter-specific details beyond the examples, but the schema already provides adequate descriptions for baseCurrencyId, quoteCurrencyId, amount, and rationale. No extra value needed.

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 converts an amount between crypto/fiat at the current rate, with concrete examples ('0.5 BTC in USD'). It also distinguishes itself from the sibling getTickersById, 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 explicitly tells when to use this tool (converting amounts) and when not to use it (plain coin price without amount), directing users to getTickersById as an alternative. This provides strong usage guidance.

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

resolveIdA
Read-onlyIdempotent
Inspect

Resolve a coin name or symbol ('bitcoin', 'BTC', 'AAVE') to its single canonical CoinPaprika id ('btc-bitcoin', 'aave-new'). Call this FIRST whenever you have a bare symbol or name and want the coin's price, since ids are not derivable from symbols; then pass the id to getTickersById.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
limitNo
queryYes
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds that the rationale field is logged and reviewed, providing transparency about data usage. 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?

Two sentences with zero wasted text. The description is front-loaded with examples and workflow. Every sentence adds essential context.

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 4 parameters and no output schema, the description covers the primary use case well but omits details on 'type' and 'limit' parameters. The output is not described, though the purpose implies it returns an ID. Additional guidance on pagination or ambiguity resolution would improve completeness.

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

Parameters2/5

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

The description only explains the 'query' parameter implicitly via examples. The 'type', 'limit', and 'rationale' parameters are left unexplained; schema coverage is only 25%. Given low coverage, the description should have compensated but did not.

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 uses a specific verb ('Resolve') and defines the resource ('coin name or symbol') to a single canonical ID. It provides clear examples and distinguishes from sibling tools by specifying a prerequisite workflow (call this first before getTickersById).

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 ('Call this FIRST whenever you have a bare symbol or name') and why (ids are not derivable from symbols). Also indicates the next step ('then pass the id to getTickersById'). No ambiguity about context.

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

statusA
Read-onlyIdempotent
Inspect

Get the CoinPaprika MCP server's status and configuration (uptime, mode, enabled features). Use when asked 'is the server up', 'what mode am I in', 'server status'. This reports the MCP server itself, not the crypto market; for market health use getGlobal.

ParametersJSON Schema
NameRequiredDescriptionDefault
rationaleYesREQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'Building a portfolio dashboard; need OHLCV for ETH last 7 days.' This is logged and reviewed to improve the MCP. Do not include user PII or secrets — use generic descriptions.
Behavior3/5

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

Annotations already provide comprehensive behavioral hints (readOnlyHint, idempotentHint, etc.), rendering the description's additional context (uptime, mode, features) as complementary but not essential. The description 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 consists of two efficient sentences: the first states purpose and output, the second gives usage guidance and sibling disambiguation. No extraneous information.

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?

For a simple, read-only status tool with one parameter and no output schema, the description fully covers purpose, usage, and disambiguation. No gaps remain.

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% (the sole 'rationale' parameter has a detailed description). The tool description adds no further parameter semantics beyond what the schema provides, so a baseline score of 3 applies.

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 'the CoinPaprika MCP server's status and configuration' with specific attributes (uptime, mode, enabled features). It uses a specific verb-resource pair ('Get...status') and distinguishes from sibling tools like 'getGlobal' by clarifying it reports on the MCP server itself, not the crypto market.

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 states when to use the tool: 'when asked "is the server up", "what mode am I in", "server status"'. It also provides a clear when-not-to-use by directing market health queries to 'getGlobal', offering an alternative sibling tool.

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 or gap back to the CoinPaprika MCP maintainers: call it when you got stuck, a response was unexpected, information you needed was missing, or a tool did not behave as documented. Use when the user says 'this is wrong', 'report this', 'that did not work'. Low friction, partial feedback is welcome, and every submission is read.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYesREQUIRED: What you (or the user behind you) were trying to accomplish.
expectedNoOPTIONAL: What you expected to happen.
observedNoOPTIONAL: What actually happened.
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.
Behavior4/5

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

Adds context beyond annotations: 'Low friction, partial feedback is welcome, and every submission is read.' This informs the agent about expected behavior (non-destructive, human review) without contradicting the all-false 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, front-loaded with purpose, then usage guidelines, then behavioral note. No wasted words; every sentence adds value.

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?

Simple feedback tool with 6 parameters well-documented in schema. Description provides usage context and behavioral traits. No output schema needed; complete for the tool's purpose.

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% with good parameter descriptions. Description adds little over schema, only encouraging partial feedback. Baseline 3 is appropriate as schema carries the load.

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 'Report a problem or gap' and specifies the resource (CoinPaprika MCP maintainers). It distinguishes from sibling tools which are all data retrieval or utility; no other tool serves a feedback function.

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: 'call it when you got stuck, a response was unexpected...' and gives user cues like 'this is wrong'. No exclusions or alternatives needed since no sibling tool does feedback.

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