Skip to main content
Glama
coinpaprika

CoinPaprika MCP Server

Official

CoinPaprika MCP Server

A Model Context Protocol (MCP) server that provides on-demand access to CoinPaprika's cryptocurrency market data API. Built specifically for AI assistants like Claude to programmatically fetch real-time prices, tickers, exchange data, OHLCV candles, and more with zero configuration.

TL;DR

# Install globally
npm install -g @coinpaprika/mcp

# Start the server
coinpaprika-mcp

# Or run directly without installation
npx @coinpaprika/mcp@latest

CoinPaprika MCP connects Claude to live crypto market data for 12,000+ cryptocurrencies. The free tier needs no API key. Installation | Configuration | API Reference

Prefer zero setup? Use the hosted MCP server at mcp.coinpaprika.com: no installation, no API key to start, 31 tools (the 30 here plus submitFeedback). See Hosted server for transport endpoints.

Related MCP server: Crypto Tracker MCP Server

What Can You Build?

  • Market Dashboards: Real-time market overview with global stats, top coins, and volume trends

  • Coin Analysis Tools: Deep-dive into any cryptocurrency: price, team, events, exchanges, and markets

  • Price Trackers: Track prices across multiple quote currencies with historical OHLCV data

  • Exchange Comparisons: Compare trading pairs and volumes across 350+ exchanges

  • Portfolio Valuations: Convert an amount between currencies ('0.5 BTC in USD') and track price changes over time

  • Contract Lookup: Find tokens by their smart contract address across multiple platforms

Installation

Installing via Smithery

To install CoinPaprika MCP for Claude Desktop automatically via Smithery:

npx -y smithery mcp add coinpaprika/coinpaprika

Manual Installation

# Install globally (recommended for regular use)
npm install -g @coinpaprika/mcp

# Start the server
coinpaprika-mcp

Claude Desktop Integration

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "coinpaprika": {
      "command": "npx",
      "args": ["@coinpaprika/mcp@latest"]
    }
  }
}

With API Key (for paid-tier features)

{
  "mcpServers": {
    "coinpaprika": {
      "command": "npx",
      "args": ["@coinpaprika/mcp@latest"],
      "env": {
        "COINPAPRIKA_API_KEY": "your-api-key-here"
      }
    }
  }
}

Claude Code Integration

# Add as MCP server in Claude Code
claude mcp add coinpaprika -- npx @coinpaprika/mcp@latest

# With API key
COINPAPRIKA_API_KEY=your-key claude mcp add coinpaprika -- npx @coinpaprika/mcp@latest

Hosted server (no installation)

If you prefer zero setup, point any MCP-compatible client directly at the hosted server at mcp.coinpaprika.com. The landing page provides setup instructions and documentation. The following transport endpoints are available:

Transport

Endpoint

Use Case

Streamable HTTP

https://mcp.coinpaprika.com/streamable-http

Recommended for most clients

SSE

https://mcp.coinpaprika.com/sse

Legacy SSE transport

JSON-RPC

https://mcp.coinpaprika.com/json-rpc

Direct JSON-RPC

Note: These are MCP protocol endpoints. They won't display anything in a browser. Visit mcp.coinpaprika.com for the landing page.

{
  "mcpServers": {
    "coinpaprika": {
      "type": "streamable-http",
      "url": "https://mcp.coinpaprika.com/streamable-http"
    }
  }
}

Available Tools (30)

Discovery & System

Tool

Description

getCapabilities

Server capabilities, workflow patterns, validation rules, and best practices. Start here.

status

Server status and configuration

getGlobal

Global market overview: total market cap, 24h volume, BTC dominance ('how is the market doing')

Coins

Tool

Description

Required Parameters

getCoins

List all coins (id, name, symbol, rank); no prices, use getTickers for prices

none

getCoinById

Coin project details (description, team, links); no price, use getTickersById

coinId

getCoinEvents

Upcoming events for a coin

coinId

getCoinExchanges

Exchanges listing a coin

coinId

getCoinMarkets

Markets/exchanges trading a coin ('where to buy X', 'X price on Binance')

coinId

Tickers & Prices

Tool

Description

Required Parameters

getTickers

Current prices + market caps for top coins by market cap ('top 5 coins', market snapshot)

none

getTickersById

Current price, market cap & 24h change of one coin ('BTC price', 'how much is ETH')

coinId

getCoinOHLCVLatest

Latest full-day OHLC candle (not the live price)

coinId

getCoinOHLCVToday

Today's in-progress OHLC candle

coinId

priceConverter

Convert an amount between currencies ('0.5 BTC in USD')

baseCurrencyId, quoteCurrencyId

Exchanges

Tool

Description

Required Parameters

getExchanges

List all exchanges

none

getExchangeByID

Exchange details

exchangeId

getExchangeMarkets

Markets on a specific exchange

exchangeId

Tags & People

Tool

Description

Required Parameters

getTags

List all tags/categories

none

getTagById

Tag details

tagId

getPeopleById

Person/team member details

personId

Contracts

Tool

Description

Required Parameters

getPlatforms

List contract platforms

none

getContracts

Contracts on a platform

platformId

getTickerByContract

Token price by contract address (on-chain/DeFi tokens)

platformId, contractAddress

Search & Resolution

Tool

Description

Required Parameters

search

Search coins/exchanges/people/tags by name; use FIRST to get an id

q

resolveId

Resolve a name/symbol to canonical id; call FIRST before price tools

type, query

Paid-Tier Tools

These tools require a paid CoinPaprika API plan. Without an API key, they return guidance directing you to upgrade.

Tool

Plan Required

Description

getCoinOHLCVHistorical

Starter+

Historical OHLCV candle data

getTickersHistoricalById

Starter+

Historical ticker snapshots

getHistoricalTickerByContract

Starter+

Historical ticker by contract

getChangelogIDs

Starter+

Changelog of coin ID changes

keyInfo

Pro

Verify API key details

getMappings

Business

Cross-platform ID mappings

API Key Configuration

The free tier provides access to most tools without any API key. For paid-tier features (historical data, mappings, etc.), set the COINPAPRIKA_API_KEY environment variable:

# Set via environment variable
export COINPAPRIKA_API_KEY=your-api-key-here
coinpaprika-mcp

# Or pass inline
COINPAPRIKA_API_KEY=your-api-key-here npx @coinpaprika/mcp@latest

Get an API key at coinpaprika.com/api/pricing.

Example Usage

// Start by getting capabilities for workflow guidance:
const caps = await getCapabilities();

// Get global market overview:
const global = await getGlobal();

// Find a coin by name:
const results = await search({ q: "ethereum" });

// Get detailed coin info:
const bitcoin = await getCoinById({ coinId: "btc-bitcoin" });

// Get current ticker with USD and BTC quotes:
const ticker = await getTickersById({ coinId: "eth-ethereum", quotes: "USD,BTC" });

// Get OHLCV data for today:
const ohlcv = await getCoinOHLCVToday({ coinId: "btc-bitcoin" });

// Convert 1 BTC to USD:
const conversion = await priceConverter({
  baseCurrencyId: "btc-bitcoin",
  quoteCurrencyId: "usd-us-dollars",
  amount: 1
});

// List top 10 exchanges:
const exchanges = await getExchanges({ limit: 10 });

// Resolve fuzzy query to exact coin ID:
const resolved = await resolveId({ type: "coin", query: "cardano" });

Sample Prompts for Claude

  • "What's the current price of Bitcoin and Ethereum? Show me 24h change."

  • "Give me a comprehensive analysis of Cardano: price, team, events, and top exchanges."

  • "Compare the top 5 crypto exchanges by trading volume."

  • "Convert 10 ETH to USD and show the current exchange rate."

  • "Find all coins tagged as 'defi' and show their market caps."

  • "What exchanges list Solana and what trading pairs are available?"

  • "Show me the OHLCV data for Bitcoin today."

  • "Search for all coins related to 'layer-2' and rank them by market cap."

  • "Look up the team behind Ethereum. Who are the key people?"

  • "Get the ticker for USDT by its Ethereum contract address."

Rate Limits & Performance

  • Free Tier Limits: 20,000 calls per month, no API key needed. Paid plans start at $99/month for 400,000 calls: https://coinpaprika.com/api/pricing/

  • Response Time: 100-500ms for most endpoints

  • Data Coverage: 12,000+ cryptocurrencies, 350+ exchanges

  • Error Handling: Structured errors with codes, suggestions, and retry guidance

  • Quota Info: Running this package yourself, every response carries a meta.quota block with the monthly free-tier allowance and the number of calls this server process has made since it started. That count is process-local, not your account balance. The hosted server at mcp.coinpaprika.com returns no meta block at all, so do not write client code that depends on one

Troubleshooting

Common Issues:

  • Rate limiting: If receiving CP429_RATE_LIMIT errors, back off and retry. The free-tier quota is monthly, not daily, so a sustained 429 means the monthly allowance is spent

  • Invalid coin ID: Coin IDs use symbol-name format (e.g., btc-bitcoin, not bitcoin or BTC). Use search or resolveId to find correct IDs

  • Paid-tier errors: CP402_INSUFFICIENT_PLAN or CP403_FORBIDDEN mean the endpoint requires a paid plan. Set COINPAPRIKA_API_KEY environment variable

  • Timeout errors: Large data requests may take longer, so reduce the limit parameter

  • Network errors: Check network connectivity, the service requires internet access

Development

# Clone the repository
git clone https://github.com/coinpaprika/coinpaprika-mcp.git
cd coinpaprika-mcp

# Install dependencies
npm install

# Run in development
npm start

# Build for production
npm run build

Changelog

See CHANGELOG.md for detailed release notes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Additional Resources

Available Tools

30 tools
getCapabilitiesA

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

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden. It discloses the tool returns capabilities, patterns, rules, and sequences, and clarifies it is about the server not crypto data. It lacks explicit mention of being read-only or non-destructive, but the nature of a capabilities endpoint implies safety, so it is mostly transparent.

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?

Concise: three sentences, each essential. First sentence states function, second gives usage cues, third clarifies scope. No fluff or repetition, front-loaded with purpose.

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

Completeness4/5

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

Given no output schema, the description provides a good high-level overview of what is returned (capabilities, patterns, rules, sequences). It also explains when to use and what it does not cover (crypto data). For a simple capabilities tool, this is nearly complete; could benefit from specifying that output is structured (e.g., JSON), but not critical.

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?

There are zero parameters and schema coverage is 100% (empty object). The description adds meaning by explaining what the tool returns, which is valuable beyond the schema. Baseline 4 is appropriate as there is nothing to add about parameters.

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

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 guidance on when to use the tool: 'Use FIRST to onboard as an agent', and specifies exact queries like 'what can this server do', 'how should I chain these tools', 'what are the parameter rules'. This leaves no ambiguity about its appropriate context.

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

getChangelogIDsA

List ids of recent changes to CoinPaprika's coin and exchange listings (additions, renames, delistings) as a paginated feed, newest first, so you can sync or reconcile a local dataset. Returns change records, each with the affected id and change type; an empty page means no more changes. Use for 'what listings changed recently', 'new or delisted coins', 'listing changelog'. For the current full coin list use getCoins instead. Read-only. Params: page (optional, default 1) selects the page; limit (optional, default 50) sets records per page. Requires a Starter+ plan (COINPAPRIKA_API_KEY).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default: 1)
limitNoNumber of results per page (default: 50)

TDQS

A4.5/5.0
Behavior4/5

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

Describes return format (change records with affected id and type) and pagination behavior (empty page means no more changes). Declares read-only and mentions API key. Lacks details on pagination mechanics like total pages or rate limits, but sufficient for a simple listing.

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?

Single paragraph, front-loaded with main action, followed by details, use cases, alternatives, read-only note, param info, and requirement. No wasted words.

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

Completeness5/5

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

Given the tool's simplicity (two nullable params, no output schema), the description covers the tool's purpose, usage, parameters, and output structure. Explains empty page case. Complete for a paginated changelog listing.

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?

Parameters page and limit are fully described in the schema. The description restates defaults and purpose, adding minimal context beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists IDs of recent changes (additions, renames, delistings) as a paginated feed, newest first. It provides specific use cases and distinguishes from sibling tool getCoins.

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 (sync/reconcile dataset, check recent changes) and when not to use (use getCoins for full list). Also mentions API key requirement (Starter+ plan).

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

getCoinByIdA

Get descriptive project information about a coin: description, links, team and tags. Use for 'tell me about Uniswap', 'what is this project'. Does NOT include price; for price and market cap use getTickersById. Read-only; coinId is a canonical id (resolve with resolveId). No API key required.

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.

TDQS

A4.7/5.0
Behavior4/5

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

Despite no annotations, the description discloses that the tool is read-only and requires no API key. These are key behavioral traits. However, it does not cover potential error behaviors (e.g., invalid coinId) or rate limits, which would be beneficial for agent decision-making. The disclosure is adequate but not exhaustive.

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, with no redundant information. Every sentence serves a purpose: stating what the tool does, providing usage examples, clarifying what it does not do, and giving parameter resolution guidance. It is front-loaded with the core purpose.

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 lists the returned info types (description, links, team, tags), which is helpful given no output schema. However, it does not specify whether additional fields exist or the exact structure. For a simple lookup tool with one parameter and many siblings, the description provides good context but could be slightly more detailed on the return format.

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?

The input schema covers the single parameter coinId with 100% coverage, but the description adds significant value: it clarifies that coinId is a canonical slug in 'symbol-name' format, warns against using ticker symbols, explains that slugs are not derivable from symbols, and directs the agent to use search or resolveId first. This greatly enhances semantic understanding.

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

Purpose5/5

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

The description clearly states the tool returns 'descriptive project information about a coin: description, links, team and tags.' It uses a specific verb ('Get') and resource ('descriptive project information'), and explicitly distinguishes itself from sibling getTickersById by noting what it does not include (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?

The description provides explicit use cases ('tell me about Uniswap', 'what is this project') and direct guidance on when to avoid this tool ('Does NOT include price; for price and market cap use getTickersById'). It also explains that coinId must be canonical and how to resolve it, giving clear prerequisites.

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

getCoinEventsA

Get the timeline of events for a coin (launches, partnerships, hard forks, conference talks) with dates and descriptions. Use for 'what is happening with X', 'upcoming events for Ethereum', 'X roadmap events'. For prices use getTickersById. Read-only; coinId is a canonical id, limit caps results. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of events to return (default: 50, max: 250)
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.

TDQS

A4.6/5.0
Behavior4/5

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

Discloses read-only nature, authentication requirement ('No API key required'), and parameter details (limit caps). No annotations exist, so the description carries the full burden. Could improve by noting response format or error behavior, but adequate for a simple read tool.

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, each sentence provides essential information without redundancy. Purpose and usage are front-loaded. No unnecessary words.

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

Completeness4/5

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

Given no output schema, the description mentions 'dates and descriptions', which hints at return structure. For a tool with only 2 parameters and a straightforward purpose, this is largely complete. Could explicitly state that the response will be an array of event objects, but not required.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining coinId format (canonical slug, not ticker) with examples, and clarifies limit default and max. This goes beyond the 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 identifies the action ('Get the timeline of events for a coin'), the resource ('events like launches, partnerships, hard forks, conference talks'), and distinguishes from the sibling getTickersById by specifying it is for events, not prices.

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 ('what is happening with X', 'upcoming events for Ethereum') and when not to ('For prices use getTickersById'), providing clear guidance and an alternative tool.

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

getCoinExchangesA

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 live price use getTickersById. Read-only; coinId is a canonical id, limit caps results. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of exchanges to return (default: 50, max: 250)
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.

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It states read-only, canonical id format, limit cap, and no auth. Missing error handling details but sufficient for a simple list tool.

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: purpose, alternatives, behavior/params. No wasted words, front-loaded with core action.

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?

Covers purpose, usage, behavior, parameters, and output scope (venue names only). Complete for a read-only list tool with no output schema.

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

Parameters4/5

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

Schema coverage is 100%, baseline 3. Description adds critical guidance on coinId format and warns against ticker symbols, providing examples. For limit, it reiterates cap but adds little 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?

The description clearly states it lists exchanges listing a specific coin, with specific use case examples. It distinguishes from siblings getCoinMarkets and getTickersById by explicitly naming them.

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 this tool (for 'which exchanges list X') and when to use alternatives (getCoinMarkets, getTickersById). Also notes read-only and no API key required.

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

getCoinMarketsA

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. Read-only; coinId is a canonical id, quotes sets quote currencies, limit caps results. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of markets to return (default: 50, max: 250)
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.
quotesNoComma-separated quote currencies

TDQS

A4.5/5.0
Behavior4/5

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

Discloses read-only behavior, parameter roles, and that no API key is required. With no annotations, it covers key behavioral aspects, though could mention rate limits or errors.

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?

Concise paragraph with front-loaded purpose, use cases, sibling differentiation, and behavioral notes. 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?

Given full schema coverage, simple functionality, and no output schema, the description adequately covers purpose, usage, behavioral attributes, and parameter hints.

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%, baseline 3. Description adds only marginal context beyond schema (e.g., 'canonical id', 'caps results'), but does not significantly enhance parameter understanding.

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

Purpose5/5

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

The description clearly states the tool returns specific markets and trading pairs with price and volume for a coin, and explicitly distinguishes it from getCoinExchanges for exchange names only.

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 use cases ('where can I buy X', 'price on Binance'), directs to sibling for alternatives, and mentions prerequisites like canonical coinId resolution.

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

getCoinOHLCVHistoricalA

Get OHLC candles (open, high, low, close, volume) for a coin. Use for 'daily chart last month', 'hourly candles since Jan 1'. For one past price use getTickersHistoricalById; for the latest candle use getCoinOHLCVLatest. Read-only. Params: coinId (required) canonical id like 'btc-bitcoin' (resolve via resolveId); start (required) and end (optional, default now) accept 'yyyy-mm-dd' or ISO 8601; interval (optional, default '24h'): one of '5m', '15m', '30m', '1h', '6h', '12h', '24h'; quote (optional, default 'usd'); limit (optional, default 50, max 250) caps candles. Requires a Starter+ plan (COINPAPRIKA_API_KEY).

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoEnd date (ISO 8601 or yyyy-mm-dd)
limitNoNumber of data points (default: 50, max: 250)
quoteNoQuote currency (default: usd)usd
startYesStart date (ISO 8601 or yyyy-mm-dd)
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.
intervalNoInterval (default: 24h)24h

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It declares read-only and notes API key plan requirement. However, it does not cover error behaviors (e.g., invalid dates) or rate limits. Still adds useful context beyond schema.

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?

Well-structured: purpose, examples, parameter breakdown. Slightly verbose but each sentence adds value. Could be a bit tighter, but efficient overall.

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, and description does not explain return format or pagination. For a historical data tool, missing response structure is a notable gap. Adequate given parameter clarity, but incomplete.

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%, baseline 3. Description adds significant value: explains coinId format and resolution, interval enum options, date formats, default values, limit cap, and required plan. Goes well beyond 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?

Description clearly states the tool gets OHLC candles for a coin and explicitly distinguishes from sibling tools (getTickersHistoricalById for one past price, getCoinOHLCVLatest for latest candle). Verb+resource+scope is specific.

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 concrete examples like 'daily chart last month' and 'hourly candles since Jan 1', explicitly mentions read-only nature, and names alternative tools for different scenarios, guiding correct tool selection.

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

getCoinOHLCVLatestA

Get the latest full-day OHLC candle (open, high, low, close and volume) for a coin. Use for 'yesterday's candle for BTC'. For the live spot price use getTickersById. Read-only; coinId must be a canonical id (resolve a bare symbol with resolveId first), quote defaults to usd. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteNoQuote currency (default: usd)usd
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.

TDQS

A4.8/5.0
Behavior4/5

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

States read-only and no API key required. Could mention data freshness or return structure, but adequate given no 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, front-loaded with purpose and action, no unnecessary words.

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

Completeness5/5

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

Complete for a simple tool: explains what, how, when, prerequisites, and related tools. No output schema but single candle result is intuitive.

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?

Adds important context beyond schema: coinId must be canonical and how to resolve it, quote defaults to usd. Schema already covers descriptions, but description enriches.

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?

Describes specific action: get latest full-day OHLC candle. Clearly distinguishes from getTickersById (live spot price) and other OHLC tools via context.

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 (e.g., yesterday's candle) and when to use alternative (getTickersById). Also provides prerequisite: resolve canonical id via resolveId.

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

getCoinOHLCVTodayA

Get today's in-progress OHLC candle for a coin. Use for 'today's high and low for ETH'. For the current spot price use getTickersById; for past candles use getCoinOHLCVHistorical. Read-only; coinId is a canonical id (resolve with resolveId). No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteNoQuote currency (default: usd)usd
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.

TDQS

A4.7/5.0
Behavior4/5

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

Declares the tool as read-only and requiring no API key. Highlights that coinId must be a canonical slug resolved via search or resolveId. Lacks details on output structure or edge cases (e.g., empty data early in day), but overall is transparent for a simple read operation.

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 (three sentences) and front-loaded with the main purpose. Every sentence provides essential information without redundancy.

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

Completeness4/5

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

Given no output schema, the description does not explain the return format. However, it covers the main usage, parameter semantics, and differentiates from siblings. Minor gap: could mention what happens if no data exists yet.

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?

With 100% schema coverage, the description adds significant value beyond the schema. It explains the coinId format and warns against guessing slugs, and references the resolveId/search tools. This helps prevent common errors.

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 today's in-progress OHLC candle for a coin, with an example use case. It differentiates from siblings by explicitly mentioning alternatives for spot price (getTickersById) and past candles (getCoinOHLCVHistorical).

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 (today's high and low) and when not to use (spot price or historical candles), naming specific siblings. Also provides guidance on coinId resolution and notes that no API key is required.

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

getCoinsA

List all available coins with id, name, symbol and rank. Use to discover coins or map a name to an id. Does NOT include prices; for prices use getTickers or getTickersById. Read-only; limit caps the number of coins returned. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of coins to return (default: 50, max: 250)

TDQS

A4.7/5.0
Behavior4/5

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

Discloses read-only nature, limit capping, and no prices. No annotations present, so description carries burden; lacks pagination details but sufficient for a simple list.

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, no fluff, front-loaded with primary purpose. 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?

Complete for a simple list tool with one parameter and no output schema. Covers contents, limitations, and usage context.

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?

Only parameter (limit) has full schema coverage; description adds context 'caps the number of coins returned' and reinforces default/max implicitly.

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

Purpose5/5

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

Clearly states the tool lists coins with id, name, symbol, rank. Explicitly distinguishes from price-related siblings (getTickers, 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?

Provides explicit use cases (discover coins, map name to id) and when to avoid (for prices). States read-only and no API key required.

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

getContractsA

List the token contract addresses tracked on one platform as a list, mapping each contract to its CoinPaprika coin id. Use for 'contracts on ethereum', 'what tokens does BSC have', or to map a contract address to a coin id. Find the platformId first with getPlatforms; for one contract's live price use getTickerByContract, and for its history use getHistoricalTickerByContract. Read-only. Params: platformId (required) is a platform id such as 'eth-ethereum' or 'bsc-binance-smart-chain'; limit (optional, default 50, max 250) caps how many contracts return. An unknown platformId returns an error. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of contracts to return (default: 50, max: 250)
platformIdYesPlatform ID (e.g., eth-ethereum)

TDQS

A4.6/5.0
Behavior4/5

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

Declares read-only and describes error conditions. No annotations provided, so description carries full burden. Could mention if pagination or rate limits apply, but overall clear.

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

Conciseness4/5

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

Description is thorough yet well-structured, front-loading the main purpose. Each sentence provides useful information. Slightly long but justified given the content.

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

Completeness5/5

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

Fully covers usage, prerequisites, alternatives, param details, and edge cases. No output schema exists, but description doesn't need to explain return values as it's a list of contracts.

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

Parameters4/5

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

Schema coverage is 100%, but description adds useful context: examples of platformId values, explanation of limit's purpose and cap, and behavior on unknown platformId. Adds value 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?

Clearly states the tool lists token contract addresses for a platform, mapping to CoinPaprika coin ids. Provides specific use cases and distinguishes from sibling tools like getTickerByContract 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?

Explicitly instructs to find platformId first via getPlatforms and directs users to alternative tools for single contract price or history. Also explains param behavior and error on unknown platformId.

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

getExchangeByIDA

Get details for a specific exchange: 24h volume, market count, trust score, links and fiat support. Use for '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. Read-only; exchangeId is an exchange id such as binance. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
quotesNoComma-separated quote currencies
exchangeIdYesExchange ID (e.g., binance)

TDQS

A4.9/5.0
Behavior5/5

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

No annotations provided, but the description fully covers behavioral aspects: 'Read-only', 'No API key required', and gives an example of the exchangeId parameter value. Discloses what data is returned (details, volume, etc.).

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 a short note on read-only and auth. Every sentence adds unique value—purpose, usage guidelines, parameter hint, and behavioral context. No wasted words.

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

Completeness5/5

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

Given 2 parameters, no output schema, and no annotations, the description covers all critical aspects: purpose, usage examples, parameter example, read-only safety, auth requirements, and sibling tool differentiation. Completely adequate for an agent to select and invoke correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds value by providing an example for exchangeId ('such as binance'), which clarifies the parameter's format beyond the schema. Quotes parameter is not elaborated further, but the example for exchangeId justifies a 4.

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: 24h volume, market count, trust score, links, and fiat support. It provides example queries ('tell me about Binance') and distinguishes from sibling tools like getExchangeMarkets and getExchanges.

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 ('tell me about Binance') and when to use alternatives: 'For the pairs traded there use getExchangeMarkets; find the exchange id first with search or getExchanges.'

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

getExchangeMarketsA

List the trading pairs (markets) on one exchange as a list, each with the pair, base and quote coin ids, latest price, 24h volume and category. Use for 'what pairs trade on Binance', 'markets on Kraken', 'BTC pairs on Coinbase'. For exchange-level stats such as trust score use getExchangeByID; find the exchangeId first with getExchanges. Read-only. Params: exchangeId (required) is an exchange id such as 'binance'; quotes (optional, default 'usd') is a comma-separated list of quote currencies for the figures, e.g. 'usd,btc'; limit (optional, default 50, max 250) caps how many markets return. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of markets to return (default: 50, max: 250)
quotesNoComma-separated quote currencies
exchangeIdYesExchange ID (e.g., binance)

TDQS

A5/5.0
Behavior5/5

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

No annotations, so description must cover behavior. It declares read-only, no API key required, and explains limit behavior (caps at max 250). Fully transparent.

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?

Efficiently structured: main purpose, usage examples, parameter details. No redundant sentences. Each 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?

Despite no output schema, description mentions return fields (pair, base/quote ids, price, volume, category). Also explains relationship with sibling tools for full workflow.

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 context: exchangeId is an exchange id like 'binance', quotes is comma-separated with default 'usd', limit default 50 and max 250, enhancing schema.

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

Purpose5/5

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

Description clearly states it lists trading pairs (markets) with specific fields like pair, base/quote coin ids, latest price, 24h volume, category. Distinguishes from getExchangeByID for exchange-level stats, showing clear purpose.

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 to use (e.g., 'what pairs trade on Binance') and when not (use getExchangeByID for trust score). Also instructs to find exchangeId with getExchanges first.

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

getExchangesA

List exchanges tracked by CoinPaprika as a list ranked by rank, each with id, name, trust score, active market count and 24h volume. Use for 'top exchanges by volume', 'biggest crypto exchanges', or to find an exchangeId before calling getExchangeByID. For one exchange's full stats use getExchangeByID; for its trading pairs use getExchangeMarkets. Read-only. Params: quotes (optional, default 'usd') is a comma-separated list of quote currencies for the volume figures, for example 'usd,btc'; limit (optional, default 50, max 250) caps how many exchanges return. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of exchanges to return (default: 50, max: 250)
quotesNoComma-separated quote currencies

TDQS

A5/5.0
Behavior5/5

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

Discloses read-only nature, no API key requirement, and parameter limits (default/max for limit, format for quotes). No annotations provided, but description fully covers behavioral traits.

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?

Compact yet complete: main purpose first, then usage guidance, then parameter details. Every sentence adds value without redundancy.

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

Completeness5/5

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

Given no output schema, description explains what each exchange includes (id, name, trust score, etc.). Covers auth, read-only, and parameter constraints adequately.

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?

Adds meaning beyond schema: explains quotes as 'comma-separated list of quote currencies for the volume figures' with example 'usd,btc', and limit with default/max values.

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 'List exchanges tracked by CoinPaprika as a list ranked by rank' with specific fields, distinguishing it from siblings like getExchangeByID and getExchangeMarkets.

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 to use this tool ('top exchanges by volume', 'biggest crypto exchanges') and names alternatives (getExchangeByID, getExchangeMarkets).

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

getGlobalA

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. Read-only; takes no parameters and needs no API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

Description states it is read-only, takes no parameters, and needs no API key. This is sufficient given the tool's simplicity, but no additional behavioral details like rate limits are provided.

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 front-load the purpose, usage guidelines, and key constraints. No unnecessary 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?

Covers the tool's purpose and use cases well, but does not describe the output format (e.g., JSON structure). However, given no output schema, this is a minor gap.

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?

No parameters exist, so baseline 4 is appropriate. Description adds no parameter info, which is fine as schema coverage is 100% with zero parameters.

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

Purpose5/5

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

Description clearly states it provides a global crypto market overview including total market cap, volume, Bitcoin dominance, and market-wide change. It distinguishes from siblings like getTickersById for single coin prices.

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 to use (e.g., 'how is the crypto market doing') and when not to (use getTickersById for single coin). Also mentions read-only and no API key required.

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

getHistoricalTickerByContractA

Get a token's price and market history by its contract address, as a time series. Use for 'token price on 2024-01-01 by address', 'hourly history for a contract'. For its current price use getTickerByContract; by coin id use getTickersHistoricalById. Read-only. Params: platformId (required) chain id like 'eth-ethereum'; contractAddress (required) token address; start (required) and end (optional, default now) accept 'yyyy-mm-dd' or ISO 8601; interval (optional, default '5m'); quote (optional, default 'usd'); limit (optional, default 50, max 250) caps points. Requires a Starter+ plan (COINPAPRIKA_API_KEY).

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoEnd date
limitNoNumber of data points (default: 50, max: 250)
quoteNoQuote currency (default: usd)usd
startYesStart date (ISO 8601 or yyyy-mm-dd)
intervalNoInterval (default: 5m)5m
platformIdYesPlatform ID (e.g., eth-ethereum)
contractAddressYesContract address

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses read-only nature, subscription requirement (Starter+ plan from COINPAPRIKA_API_KEY), and parameter defaults/constraints. However, it does not describe the return format or pagination behavior, which would be helpful given no output schema.

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

Conciseness4/5

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

The description is dense but well-structured: main purpose first, then use cases, then parameter details. It is slightly verbose but every sentence adds value. Could be tightened but still effective.

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 7 parameters (3 required), no output schema, and 28 sibling tools, this description is remarkably complete. It covers all parameters with defaults, constraints, and examples, mentions auth requirements, and provides usage context. No gaps for a historical data retrieval tool.

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: clarifies start as required, end as optional defaulting to now, interval default '5m', quote default 'usd', limit default 50 with max 250, and explains platformId and contractAddress with examples.

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 historical price and market history by contract address as a time series. It distinguishes from siblings like getTickerByContract (current price) and getTickersHistoricalById (by coin id), 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?

Provides explicit use cases ('Use for 'token price on 2024-01-01 by address', 'hourly history for a contract'') and directs to alternatives for current price or by coin ID, offering clear when-to-use guidance.

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

getMappingsA

Cross-reference CoinPaprika ids with external or legacy identifiers. Returns crosswalk rows linking a CoinPaprika id to its external ids; only matching rows return and no match returns an empty list. Use for 'map CoinPaprika id to CoinGecko', 'which coin is this CoinMarketCap id', 'find id for an ISIN'. Read-only. All params are optional string filters; provide at least one, extra filters narrow further: coinpaprika (a CoinPaprika id), coinmarketcap, coingecko, cryptocompare (each that provider's id), isin (an ISIN code), dti (a Digital Token Identifier). Requires a Business plan (COINPAPRIKA_API_KEY).

ParametersJSON Schema
NameRequiredDescriptionDefault
dtiNoDTI to look up
isinNoISIN to look up
coingeckoNoCoinGecko ID to look up
coinpaprikaNoCoinPaprika ID to look up
coinmarketcapNoCoinMarketCap ID to look up
cryptocompareNoCryptoCompare ID to look up

TDQS

A4.7/5.0
Behavior4/5

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

The description discloses that the tool is read-only, returns only matching rows (empty list if none), and that all params are optional filters. Without annotations, this provides adequate behavioral 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 concise (few sentences), front-loaded with the main purpose, and contains 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.

Completeness5/5

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

Given the tool's complexity (6 optional params, no output schema), the description covers purpose, behavior, parameter semantics, and usage examples. It explains return behavior and constraints completely.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for each parameter. The description adds value by explaining that params are filters, that providing at least one is necessary, and that extra filters narrow results. This clarifies usage beyond the schema.

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

Purpose5/5

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

The tool is clearly named and the description states 'Cross-reference CoinPaprika ids with external or legacy identifiers', which is a specific verb and resource. It distinguishes itself from sibling tools that focus on single-entity data by emphasizing mapping between multiple identifiers.

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 use cases ('map CoinPaprika id to CoinGecko', 'which coin is this CoinMarketCap id', 'find id for an ISIN'), notes that params are optional but at least one should be provided, and mentions the Business plan requirement. This gives clear when-to-use guidance.

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

getPeopleByIdA

Get the profile of one person in crypto by id: name, description or bio, teams_count, positions held, and linked projects plus social and code accounts. Use for 'who is Vitalik Buterin', 'background on Charlie Lee', 'projects tied to this founder'. Find the personId first with search or resolveId using type 'people'; this tool needs the exact id, not a name. Read-only. Params: personId (required) is a canonical person id such as 'vitalik-buterin' or 'satoshi-nakamoto'; an unknown id returns not found. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
personIdYesPerson ID (e.g., vitalik-buterin)

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It declares read-only, notes that unknown IDs return not found, and states no API key required. No contradictions, but could mention rate limits or other constraints.

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

Conciseness5/5

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

Description is well-structured, starting with purpose, then use cases, then parameter details. Every sentence adds value, 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?

With one parameter and no output schema, description lists key return fields and prerequisites. It could be more detailed about exact return structure, but it's sufficient for a profile tool.

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

Parameters4/5

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

Schema coverage is 100% for the one parameter, but description adds examples (e.g., 'vitalik-buterin') and behavior on unknown ID, which provides useful context beyond the schema.

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

Purpose5/5

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

The description clearly states the tool gets a person's profile by ID, listing specific fields like name, bio, teams, positions, projects, and social accounts. It distinguishes itself from sibling tools by focusing on people profiles.

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 use cases like 'who is Vitalik Buterin' and instructions to first find personId via search or resolveId. It clearly states the tool requires an exact ID, not a name, which prevents misuse.

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

getPlatformsA

List the smart-contract platforms (blockchains such as ethereum, bnb, polygon) for which CoinPaprika indexes token contracts. Use for 'which chains are supported for contract lookups', 'list contract platforms', or to pick a platform id before calling getContracts. Read-only; limit caps results. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of platforms to return (default: 50, max: 250)

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries full burden and clearly states read-only, limit caps results, and no API key required. This fully discloses behavioral traits for a safe, bounded operation. There is 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, using three sentences with no unnecessary words. It front-loads the core purpose and provides essential context immediately.

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 tool has one parameter, no required fields, and no output schema. The description explains purpose, usage, and safety (read-only, no API key). However, it does not describe the return format or structure of the response, which would be helpful for an agent. Nevertheless, for a simple list tool with rich sibling context, it is nearly 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 description coverage is 100%, so baseline is 3. The description does not add new meaning beyond the schema for the limit parameter—it only restates default and max values present in schema. No additional context about how the limit affects results or usage is provided.

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 examples (ethereum, bnb, polygon). It distinguishes from siblings like getContracts by noting the platform id is used before calling getContracts, and from other list tools by its specific resource.

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 provides use cases: 'Use for which chains are supported for contract lookups, list contract platforms, or to pick a platform id before calling getContracts.' It also mentions read-only status, limit caps, and that no API key is required, offering clear guidance on when and how to use.

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

getTagByIdA

Get details for one CoinPaprika tag (a category such as 'defi' or 'stablecoin'): its id, name, description, coin_counter, ico_counter, and optionally the coins and ICOs grouped under it. Use for 'what coins are in the defi tag', 'show the stablecoin category', 'tokens tagged ai'. To list every tag or find a tagId first use getTags. Read-only. Params: tagId (required) is a tag id from getTags such as 'defi'; additionalFields (optional, default none) is a comma-separated list of extra sections, valid values 'coins' and 'icos' (example 'coins,icos'). An unknown tagId returns an error. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagIdYesTag ID (e.g., blockchain-service)
additionalFieldsNoComma-separated additional fields (e.g., coins,icos)

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, but description covers read-only nature, parameter details, error behavior, and auth requirements. Missing potential rate limits or response size, but adequate for a simple get tool.

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?

Concise, front-loaded with purpose, then usage, then parameter details. Every sentence adds value without redundancy.

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

Completeness5/5

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

Given the tool's simplicity (2 params, no output schema), the description covers all needed context: return fields, optional fields, error case, and auth. No gaps.

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

Parameters4/5

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

Schema coverage is 100%, and the description adds concrete examples ('defi' for tagId, 'coins,icos' for additionalFields) and clarifies valid values, enhancing understanding beyond the schema.

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

Purpose5/5

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

The description clearly states it gets details for one tag by ID, listing returned fields and example use cases. It distinguishes itself from sibling 'getTags' which 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 Guidelines5/5

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

Explicitly explains when to use (e.g., 'what coins are in the defi tag') and refers to 'getTags' as alternative to find tagId. Also notes read-only, error on unknown tagId, and no API key required.

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

getTagsA

List all CoinPaprika tags (categories such as 'defi', 'stablecoin', 'memecoin', 'ai') used to group coins, returned as a list with each tag's id, name, coin_counter and ico_counter. Use for 'what crypto categories exist', 'list market sectors', or to find a tagId before calling getTagById. For the coins inside one tag use getTagById. Read-only. Params: additionalFields (optional, default none) is a comma-separated list of extra sections per tag, valid values 'coins' and 'icos' (example 'coins,icos'; omit for just summaries); limit (optional, default 50, max 250) caps how many tags return. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of tags to return (default: 50, max: 250)
additionalFieldsNoComma-separated additional fields (e.g., coins,icos)

TDQS

A4.8/5.0
Behavior5/5

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

No annotations provided, but the description explicitly says 'Read-only' and details parameter behavior (valid values for additionalFields, limit range). 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.

Conciseness4/5

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

The description is efficient and front-loaded with main purpose. It includes all necessary details without excessive verbosity, though slightly long.

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?

No output schema, but description explains return fields (id, name, coin_counter, ico_counter). Covers parameters, use cases, and distinction from sibling. Complete for a list tool.

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

Parameters4/5

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

Schema coverage is 100% (both parameters described in schema). The description adds meaning beyond schema by explaining valid values for additionalFields ('coins','icos') and noting limit cap (max 250).

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 'List all CoinPaprika tags' with examples of categories. It distinguishes from the sibling tool getTagById by specifying that getTagById is for coins inside a tag.

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: 'for ''what crypto categories exist'', ''list market sectors'', or to find a tagId before calling getTagById.' Also states when not to use: 'For the coins inside one tag use getTagById.'

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

getTickerByContractA

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 contract address (0x...) rather than a name. For history use getHistoricalTickerByContract. Read-only; platformId is the chain (e.g. eth-ethereum) and contractAddress the token address. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformIdYesPlatform ID (e.g., eth-ethereum)
contractAddressYesContract address

TDQS

A4.6/5.0
Behavior4/5

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

The description states it is read-only and no API key required. No annotations provided, so description carries full burden. It could mention rate limits or data freshness, but it's sufficiently transparent.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no superfluous 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?

Given no output schema, the description hints at return data ('current price and market data') but doesn't detail fields. For a simple tool with 2 params, it's mostly complete.

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

Parameters4/5

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

Schema coverage is 100% with descriptions. The description adds an example for platformId (eth-ethereum) and clarifies the parameter roles, which is helpful but not essential.

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 current price and market data by contract address. It distinguishes from sibling getHistoricalTickerByContract which is for history.

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

Usage Guidelines5/5

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

Explicitly says 'Use when you have a contract address' and 'For history use getHistoricalTickerByContract'. Also mentions platformId and contractAddress roles and that no API key is required.

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

getTickersA

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. Read-only; quotes sets the quote currencies (default USD), limit caps results. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of tickers to return (default: 50, max: 250)
quotesNoComma-separated quote currencies (e.g., USD,BTC,ETH)

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description bears full burden. It describes read-only nature, parameter roles (quotes default USD, limit caps results). Could add further details like rate limits or response structure but overall adequate.

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 redundancy, front-loaded with purpose and usage. 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?

Given 2 optional params, no output schema, no annotations, description sufficiently covers usage, parameter behavior, and safety (read-only). Agent can confidently invoke.

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 descriptions for both parameters. Description adds default for quotes and clarifies that limit caps results. However, it doesn't add substantial meaning beyond schema, so baseline 3.

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

Purpose5/5

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

The description clearly states the tool retrieves current prices, market caps, and 24h changes for top cryptocurrencies by market cap. It provides specific verb 'Get' and resource, and distinguishes from sibling 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 lists use cases like 'top 5 coins', 'top crypto today', and advises using getTickersById for single coins. Also mentions no API key needed.

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

getTickersByIdA

Get the current price, market cap, 24h change and volume of one cryptocurrency in USD or another quote currency. Use for 'what is the price of X', 'how much is Bitcoin worth', 'BTC to USD', 'ETH price now'. For past prices use getTickersHistoricalById. Read-only; coinId is a canonical id (resolve a bare symbol with resolveId first), quotes sets the quote currency (default USD). No API key required.

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.
quotesNoComma-separated quote currencies

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, but the description discloses read-only nature, no API key required, and the data fields returned. Could mention rate limits or update frequency, but adequate for a simple data query tool.

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 with no redundancy. Front-loads the main purpose and key features. All sentences are informative and necessary.

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?

While the description covers purpose, usage, and parameters, it could be more explicit about the return object structure beyond listing fields. However, for a standard ticker tool, this is nearly complete.

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 the description adds significant value beyond the schema: explains coinId format, warns against using ticker symbols, recommends resolveId, and explains quotes default. This surpasses baseline.

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

Purpose5/5

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

The description clearly states the tool returns current price, market cap, 24h change, and volume for one cryptocurrency, with example queries. It distinguishes from getTickersHistoricalById for past prices.

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

Usage Guidelines5/5

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

Explicitly says when to use (current price queries) and when not to (past prices, directing to getTickersHistoricalById). Provides usage examples and prerequisites like resolving coinId via resolveId.

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

getTickersHistoricalByIdA

Get a coin's price, market cap and volume at past times as point-in-time snapshots (not OHLC candles). Use for 'price of BTC last Tuesday', 'ETH market cap on 2024-01-01'. For OHLC chart candles use getCoinOHLCVHistorical; for the current price use getTickersById. Read-only. Params: coinId (required) canonical id like 'btc-bitcoin' (resolve via resolveId); start (required) and end (optional, default now) accept 'yyyy-mm-dd' or ISO 8601; interval (optional, default '5m'); quote (optional, default 'usd'); limit (optional, default 50, max 250) caps points. Requires a Starter+ plan (COINPAPRIKA_API_KEY).

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoEnd date
limitNoNumber of data points (default: 50, max: 250)
quoteNoQuote currency (default: usd)usd
startYesStart date (ISO 8601 or yyyy-mm-dd)
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.
intervalNoInterval (default: 5m)5m

TDQS

A5/5.0
Behavior5/5

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

The description explicitly states the tool is read-only, explains it returns point-in-time snapshots (not OHLC), and notes limitations like max 250 data points and plan requirement. No annotations provided, so description carries full burden and does it 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?

Well-structured with clear sections (purpose, usage, parameters, requirements). Each sentence adds value, no redundancy. Front-loaded with purpose.

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 no annotations, no output schema, and 6 parameters (2 required, 4 optional), the description covers all aspects: purpose, alternatives, parameter details with examples, defaults, limits, and API key requirement. Very thorough.

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?

Despite 100% schema coverage, the description adds critical context: explains coinId format with examples and warning against guessing, date formats, default values, and limit cap. This goes well beyond the 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 historical point-in-time snapshots of price, market cap, and volume, and explicitly distinguishes from siblings like getCoinOHLCVHistorical (OHLC candles) and getTickersById (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?

Provides specific use cases ('price of BTC last Tuesday') and explicit alternatives for when not to use this tool (OHLC: getCoinOHLCVHistorical, current price: getTickersById). Also mentions read-only nature and plan requirement.

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

keyInfoA

Get details and usage for the current CoinPaprika API key: plan, quota, requests remaining and expiry. Use for 'what plan am I on', 'how many requests are left', 'is my API key valid'. Read-only; takes no parameters. Requires a configured COINPAPRIKA_API_KEY (Pro plan); without a key the call is rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior4/5

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

States read-only and that the call is rejected without a valid key. No annotations are provided, so the description carries full burden. It could mention potential error codes or return structure, but current details are sufficient for basic understanding.

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

Conciseness5/5

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

Three sentences, each serving a distinct purpose: describing what it does, when to use it, and prerequisites. No redundant or vague language.

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 no output schema, the description effectively outlines return values (plan, quota, requests remaining, expiry) and prerequisite (configured key). For a simple informational tool, this is complete and leaves no critical gaps.

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?

The input schema has zero parameters, and the description confirms 'takes no parameters'. Schema coverage is 100%, and the description adds no unnecessary param info beyond stating the absence.

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 details and usage for the current API key, listing specific fields: plan, quota, requests remaining, expiry. It distinguishes itself from sibling tools (e.g., getCoins, getTickers) by focusing on key info rather than market 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 provides usage context: 'Use for 'what plan am I on', 'how many requests are left', 'is my API key valid''. Also notes read-only nature and prerequisite of a configured COINPAPRIKA_API_KEY, guiding appropriate invocation.

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

priceConverterA

Convert an amount from one crypto or fiat to another at the current rate, e.g. 'how much is 0.5 BTC in USD', 'convert 100 USDC to EUR'. For a plain coin price without an amount, use getTickersById. Read-only; baseCurrencyId and quoteCurrencyId are canonical ids and amount is the quantity to convert. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoAmount to convert (default: 0)
baseCurrencyIdYesRequired. Source CoinPaprika coin slug (e.g., 'btc-bitcoin'). Full slugs only; ticker symbols like 'BTC' are rejected upstream. Call search or resolveId first.
quoteCurrencyIdYesRequired. Target CoinPaprika coin slug (e.g., 'usd-us-dollars', 'eth-ethereum'). Full slugs only; ticker symbols like 'USD' are rejected upstream.

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Declares read-only and no API key required. Gives clear constraints on parameter format. Could mention rate limits or error behavior, but adequate for a simple conversion tool.

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 examples, no filler. Purpose, usage guidance, and parameter nuance are front-loaded and efficient.

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?

Lacks output schema, but the conversion result is intuitive. For a simple tool, the description covers input constraints and usage adequately. Slight gap: no mention of what happens on invalid IDs (likely error), but acceptable.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for all 3 parameters. Description adds value by clarifying canonical slugs and that ticker symbols are rejected, and that amount defaults to 0. Builds on schema rather than repeating it.

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

Purpose5/5

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

Clearly states it converts an amount between crypto/fiat at current rate, with examples. Explicitly differentiates from sibling 'getTickersById' for plain coin prices without amount.

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

Usage Guidelines5/5

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

Provides explicit when-to-use (conversion with amount) and when-not-to (plain price without amount, use getTickersById). Also notes that baseCurrencyId and quoteCurrencyId require canonical slugs, not ticker symbols, and that no API key is needed.

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

resolveIdA

Resolve a fuzzy coin, exchange, person or tag name or symbol to a ranked list of candidate CoinPaprika ids, best first (take the top one). Call FIRST when you have a bare name or symbol but need an id, since ids are not derivable, then pass the id to getTickersById for price. Returns candidates with id, name, symbol, type and rank; an empty list means no match. Read-only. Params: type (required; one of 'coin', 'exchange', 'people', 'tags') sets entity kind; query (required) is the fuzzy text; limit (optional, default 50, max 250) caps candidates. Answers 'id for AAVE', 'resolve Vitalik'. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesResource type to resolve
limitNoNumber of results (default: 50, max: 250)
queryYesFuzzy search query

TDQS

A4.8/5.0
Behavior5/5

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

No annotations provided, but description discloses read-only behavior, no API key required, returns ranked list with empty list meaning no match, and fuzzy search nature.

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?

Single paragraph is dense but contains all essential info without fluff; slightly improved structure could help readability, but remains 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?

No output schema, but description explains return structure (id, name, symbol, type, rank) and empty list meaning, plus no API key requirement. Fully informative for an agent.

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

Parameters4/5

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

Schema coverage is 100% but description adds extra context: lists enum values, explains query purpose, limit defaults/max, and gives usage examples, adding value 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?

The description clearly states the tool resolves fuzzy names/symbols to candidate IDs, specifies resources (coin, exchange, people, tag), provides examples, and distinguishes from siblings like 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 says 'Call FIRST when you have a bare name or symbol but need an id' and advises to pass the id to getTickersById for price, giving clear when-to-use and next-step guidance.

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

statusA

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. Read-only; takes no parameters and needs no API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It declares read-only, no parameters, no API key needed. Lacks mention of output format or response structure, but adequate for a status tool.

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, zero wasted words. Front-loaded key info: purpose, usage examples, exclusions, and constraints.

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?

Complete for a simple status tool. Mentions uptime, mode, enabled features as outputs. Distinguishes from sibling getGlobal. No output schema, but description compensates sufficiently.

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?

No parameters. Schema coverage 100%. Description reinforces 'takes no parameters', adding value 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?

The description uses specific verb 'Get' and resource 'CoinPaprika MCP server's status and configuration'. It clearly states what the tool does and distinguishes it from market tools like getGlobal.

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

Usage Guidelines5/5

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

Explicitly states when to use: 'when asked is the server up, what mode am I in, server status' and when not to: 'for market health use getGlobal'. Provides clear exclusion.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 30 tool updatesv1.3.0
    • First observedgetCapabilities
    • First observedgetChangelogIDs
    • First observedgetCoinById
    • First observedgetCoinEvents
    • First observedgetCoinExchanges
    • First observedgetCoinMarkets
    • First observedgetCoinOHLCVHistorical
    • First observedgetCoinOHLCVLatest
    • First observedgetCoinOHLCVToday
    • First observedgetCoins
    • First observedgetContracts
    • First observedgetExchangeByID
    • First observedgetExchangeMarkets
    • First observedgetExchanges
    • First observedgetGlobal
    • First observedgetHistoricalTickerByContract
    • First observedgetMappings
    • First observedgetPeopleById
    • First observedgetPlatforms
    • First observedgetTagById
    • First observedgetTags
    • First observedgetTickerByContract
    • First observedgetTickers
    • First observedgetTickersById
    • First observedgetTickersHistoricalById
    • First observedkeyInfo
    • First observedpriceConverter
    • First observedresolveId
    • First observedsearch
    • First observedstatus

TDQS

A4.5/5.0

Scored across 30 tools

Disambiguation5/5

Each tool targets a distinct data point (e.g., global stats, coin list, current price, OHLCV, exchange details, tags, search, etc.). Even similar tools like getTickersById vs getTickerByContract are clearly separated by input type (canonical ID vs contract address). The descriptions consistently clarify when to use each tool, minimizing ambiguity.

Naming Consistency4/5

The majority of tools follow a consistent 'get' + noun pattern (e.g., getGlobal, getCoins, getTickers). However, a few tools like keyInfo, status, priceConverter, search, and resolveId deviate from this pattern, introducing slight inconsistency. Despite this, the naming is still clear and predictable overall.

Tool Count3/5

With 30 tools, the server covers a broad domain (cryptocurrency market data) comprehensively. While the count exceeds the ideal range of 3–15, it is justified by the depth of features (global stats, coins, tickers, OHLCV, exchanges, tags, people, contracts, search, conversion, mappings, changelog). It is on the higher end but not excessive for a full-featured data API.

Completeness5/5

The tool set covers nearly all major aspects of crypto market data: global overview, coin metadata, current and historical prices, OHLCV candles, exchange details, tags, people, contract addresses, fuzzy search, ID resolution, price conversion, cross-referencing, and changelogs. There are no obvious gaps for a read-only data source; it provides a complete lifecycle for querying market information.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides real-time access to cryptocurrency and DEX data across multiple blockchains, enabling users to analyze tokens, pools, trading volumes, and perform technical analysis through DexPaprika's API. No API keys required for seamless integration with AI assistants.
    11
    81 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects AI agents to real-time cryptocurrency market data from CoinGecko API, enabling price lookups, coin details, market rankings, search, and trending crypto queries through natural language.
    7 npm
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Live market data for AI agents. 8 tools: real-time crypto prices, OHLCV candles, order books, market cap rankings, trending coins, technical analysis (RSI/SMA/z-score), asset comparison, and Fear & Greed index. Zero API keys, zero dependencies.
    8
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables access to Coinpaprika cryptocurrency data, including coin listings, prices, historical OHLC, market overview, and search through MCP tools.
    5 npm
    MIT