CoinPaprika
REMOTE · MCP.COINPAPRIKA.COM · 2 COMPONENTS · SCANNED SEP 20
Real-time crypto market data: prices, tickers, exchanges, OHLCV candles, and metadata.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security77
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability56
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 8480 tokens (~273/item across 31 items; 31 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage90
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 65% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 31 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 31 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the CoinPaprika MCP server?
CoinPaprika is a hosted endpoint at https://mcp.coinpaprika.com/streamable-http, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.coinpaprika.com
claude mcp add --transport http com-coinpaprika-coinpaprika 'https://mcp.coinpaprika.com/streamable-http'
{
"mcpServers": {
"com-coinpaprika-coinpaprika": {
"url": "https://mcp.coinpaprika.com/streamable-http"
}
}
} {
"servers": {
"com-coinpaprika-coinpaprika": {
"type": "http",
"url": "https://mcp.coinpaprika.com/streamable-http"
}
}
} [mcp_servers.com-coinpaprika-coinpaprika] url = "https://mcp.coinpaprika.com/streamable-http"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-coinpaprika-coinpaprika": {
"type": "remote",
"url": "https://mcp.coinpaprika.com/streamable-http",
"enabled": true
}
}
} openclaw mcp add com-coinpaprika-coinpaprika --url 'https://mcp.coinpaprika.com/streamable-http' --transport streamable-http
mcp_servers:
com-coinpaprika-coinpaprika:
url: "https://mcp.coinpaprika.com/streamable-http" {
"McpServers": {
"com-coinpaprika-coinpaprika": {
"Transport": "http",
"Url": "https://mcp.coinpaprika.com/streamable-http"
}
}
} assistant mcp add com-coinpaprika-coinpaprika -t streamable-http -u 'https://mcp.coinpaprika.com/streamable-http'
{
"mcpServers": {
"com-coinpaprika-coinpaprika": {
"type": "http",
"url": "https://mcp.coinpaprika.com/streamable-http"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Sept 26 −1
- Tool “getHistoricalTickerByContract” rewrote its description, which is the text the model reads security
- Tool “getTickersHistoricalById” rewrote its description, which is the text the model reads security
- Tool “getExchangeMarkets” now declares an output schema ▲ functional
- Tool “getCapabilities” now declares an output schema ▲ functional
- Tool “getChangelogIDs” now declares an output schema ▲ functional
- Tool “getCoinById” now declares an output schema ▲ functional
- Tool “getCoinEvents” now declares an output schema ▲ functional
- Tool “getCoinExchanges” now declares an output schema ▲ functional
- Tool “getCoinMarkets” now declares an output schema ▲ functional
- Tool “getCoinOHLCVHistorical” now declares an output schema ▲ functional
- Tool “getCoinOHLCVLatest” now declares an output schema ▲ functional
- Tool “getCoinOHLCVToday” now declares an output schema ▲ functional
- Tool “getCoins” now declares an output schema ▲ functional
- Tool “getContracts” now declares an output schema ▲ functional
- Tool “getExchangeByID” now declares an output schema ▲ functional
- Tool “getExchanges” now declares an output schema ▲ functional
- Tool “getGlobal” now declares an output schema ▲ functional
- Tool “getHistoricalTickerByContract” now declares an output schema ▲ functional
- Tool “getMappings” now declares an output schema ▲ functional
- Tool “getPeopleById” now declares an output schema ▲ functional
- Tool “getPlatforms” now declares an output schema ▲ functional
- Tool “getTagById” now declares an output schema ▲ functional
- Tool “getTags” now declares an output schema ▲ functional
- Tool “getTickerByContract” now declares an output schema ▲ functional
- Tool “getTickers” now declares an output schema ▲ functional
- Tool “getTickersById” now declares an output schema ▲ functional
- Tool “getTickersHistoricalById” now declares an output schema ▲ functional
- Tool “keyInfo” now declares an output schema ▲ functional
- Tool “priceConverter” now declares an output schema ▲ functional
- Tool “resolveId” now declares an output schema ▲ functional
- Tool “search” now declares an output schema ▲ functional
- Tool “status” now declares an output schema ▲ functional
- Tool “submitFeedback” now declares an output schema ▲ functional
- First check of Tool coverage: 100 functional
- Schema quality: excellent → good functional
- Server version: 1.3.3 → 1.4.0 functional
- “getCapabilities” reworded the description of “rationale” cosmetic
- “getChangelogIDs” reworded the description of “rationale” cosmetic
- “getCoinById” reworded the description of “coinId” cosmetic
- “getCoinById” reworded the description of “rationale” cosmetic
- “getCoinEvents” reworded the description of “coinId” cosmetic
- “getCoinEvents” reworded the description of “rationale” cosmetic
- “getCoinExchanges” reworded the description of “coinId” cosmetic
- “getCoinExchanges” reworded the description of “rationale” cosmetic
- “getCoinMarkets” reworded the description of “coinId” cosmetic
- “getCoinMarkets” reworded the description of “rationale” cosmetic
- “getCoinOHLCVHistorical” reworded the description of “coinId” cosmetic
- “getCoinOHLCVHistorical” reworded the description of “rationale” cosmetic
- “getCoinOHLCVLatest” reworded the description of “coinId” cosmetic
- “getCoinOHLCVLatest” reworded the description of “rationale” cosmetic
- “getCoinOHLCVToday” reworded the description of “coinId” cosmetic
- “getCoinOHLCVToday” reworded the description of “rationale” cosmetic
- “getCoins” reworded the description of “rationale” cosmetic
- “getContracts” reworded the description of “rationale” cosmetic
- “getExchangeByID” reworded the description of “rationale” cosmetic
- “getExchangeMarkets” reworded the description of “rationale” cosmetic
- “getExchanges” reworded the description of “rationale” cosmetic
- “getGlobal” reworded the description of “rationale” cosmetic
- “getHistoricalTickerByContract” reworded the description of “interval” cosmetic
- “getHistoricalTickerByContract” reworded the description of “rationale” cosmetic
- “getMappings” reworded the description of “rationale” cosmetic
- “getPeopleById” reworded the description of “rationale” cosmetic
- “getPlatforms” reworded the description of “rationale” cosmetic
- “getTagById” reworded the description of “rationale” cosmetic
- “getTags” reworded the description of “rationale” cosmetic
- “getTickerByContract” reworded the description of “rationale” cosmetic
- “getTickers” reworded the description of “rationale” cosmetic
- “getTickersById” reworded the description of “coinId” cosmetic
- “getTickersById” reworded the description of “rationale” cosmetic
- “getTickersHistoricalById” reworded the description of “coinId” cosmetic
- “getTickersHistoricalById” reworded the description of “interval” cosmetic
- “getTickersHistoricalById” reworded the description of “rationale” cosmetic
- “keyInfo” reworded the description of “rationale” cosmetic
- “priceConverter” reworded the description of “amount” cosmetic
- “priceConverter” reworded the description of “rationale” cosmetic
- “resolveId” reworded the description of “rationale” cosmetic
- “search” reworded the description of “rationale” cosmetic
- “status” reworded the description of “rationale” cosmetic
- 27 Aug 26 +1
- Stability: 0.97 → pass security
- 26 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 2 Aug 26 0
- Schema quality: unverified → excellent ▲ functional
- 1 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://mcp.coinpaprika.com/streamable-http
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=coinpaprika.com | CN=WE1,O=Google Trust Services,C=US | 17 Sept 2026 | 16 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | b81d99f6b756f66b0e81f99b65370d7f |
| SANs: coinpaprika.com, mcp.coinpaprika.com, *.mcp.coinpaprika.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of mcp.coinpaprika.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| coinpaprika.com. | present | 2371 | 13 | Verified |
| mcp.coinpaprika.com. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.coinpaprika.com/streamable-http | Verified | 200 | |
| http (plaintext) | http://mcp.coinpaprika.com/streamable-http | HTTPS enforced | 301 | https://mcp.coinpaprika.com/streamable-http |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
getCapabilities ~161
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.
| Name | Type | Req | Description |
|---|---|---|---|
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| api | object | yes | – |
| coin_id_format | object | – | – |
| note | string | – | – |
| plan_tiers | object | yes | – |
| server | object | yes | – |
| tools_count | number | – | – |
No examples provided.
getChangelogIDs ~208
Get the ids of recent changes to CoinPaprika's coin and exchange listings (additions, renames, delistings) for syncing a local dataset. Use for 'what changed recently', 'new or delisted coins', 'listing changelog'. Read-only; page (default 1) and limit (default 50) paginate the feed. Requires your own Starter+ CoinPaprika key; without one this hosted server returns a plan-required message.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| page | number | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| ids | array | yes | – |
No examples provided.
getCoinById ~270
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.
| Name | Type | Req | Description |
|---|---|---|---|
| coinId | string | yes | Canonical 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… |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | CoinPaprika coin slug, format symbol-name (e.g. 'btc-bitcoin'). |
| is_active | boolean | – | – |
| is_new | boolean | – | – |
| name | string | – | – |
| rank | number | – | – |
| symbol | string | – | – |
| type | string | – | 'coin' or 'token'. |
No examples provided.
getCoinEvents ~282
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.
| Name | Type | Req | Description |
|---|---|---|---|
| coinId | string | yes | Canonical 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… |
| limit | number | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| events | array | yes | – |
No examples provided.
getCoinExchanges ~287
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.
| Name | Type | Req | Description |
|---|---|---|---|
| coinId | string | yes | Canonical 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… |
| limit | number | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| exchanges | array | yes | – |
No examples provided.
getCoinMarkets ~295
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.
| Name | Type | Req | Description |
|---|---|---|---|
| coinId | string | yes | Canonical 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… |
| limit | number | – | – |
| quotes | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| markets | array | yes | – |
No examples provided.
getCoinOHLCVHistorical ~522
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).
| Name | Type | Req | Description |
|---|---|---|---|
| coinId | string | yes | Canonical 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… |
| end | string | – | Optional end timestamp. Same formats as start. Defaults to now if omitted. |
| interval | string | – | Optional. Candle interval. Defaults to '24h' for daily candles. |
| limit | number | – | Optional. Number of candles (default 50, max 250). |
| quote | string | – | Optional quote currency code (default 'usd'). Examples: 'usd', 'btc', 'eth'. |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| start | string | yes | Required. Start timestamp. Accepts ISO 8601 ('2026-01-15T00:00:00Z') or date-only ('2026-01-15'). UTC. |
| Name | Type | Req | Description |
|---|---|---|---|
| ohlcv | array | yes | – |
No examples provided.
getCoinOHLCVLatest ~286
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.
| Name | Type | Req | Description |
|---|---|---|---|
| coinId | string | yes | Canonical 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… |
| quote | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| ohlcv | array | yes | – |
No examples provided.
getCoinOHLCVToday ~276
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.
| Name | Type | Req | Description |
|---|---|---|---|
| coinId | string | yes | Canonical 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… |
| quote | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| ohlcv | array | yes | – |
No examples provided.
getCoins ~186
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Optional. Items per page (default 50, max 250). Server clamps requests above 250. |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| coins | array | yes | – |
No examples provided.
getContracts ~258
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| platformId | string | yes | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| contracts | array | yes | – |
No examples provided.
getExchangeByID ~202
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.
| Name | Type | Req | Description |
|---|---|---|---|
| exchangeId | string | yes | – |
| quotes | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | – | – |
| adjusted_rank | number|null | – | – |
| api_status | boolean | – | – |
| currencies | number | – | – |
| description | string|null | – | – |
| fiats | array | – | – |
| id | string | – | – |
| last_updated | string | – | – |
| links | – | – | – |
| markets | number | – | – |
| markets_data_fetched | boolean | – | – |
| message | string|null | – | – |
| name | string | – | – |
| quotes | object | – | – |
| reported_rank | number|null | – | – |
| website_status | boolean | – | – |
No examples provided.
getExchangeMarkets ~273
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.
| Name | Type | Req | Description |
|---|---|---|---|
| exchangeId | string | yes | – |
| limit | number | – | – |
| quotes | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| markets | array | yes | – |
No examples provided.
getExchanges ~251
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| quotes | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| exchanges | array | yes | – |
No examples provided.
getGlobal ~172
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.
| Name | Type | Req | Description |
|---|---|---|---|
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
Structured output declared, but exposes no named fields.
No examples provided.
getHistoricalTickerByContract ~604
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). Free tier on this hosted server: daily intervals up to a year back and hourly intervals up to 24 hours back; anything else returns a structured CP402_PAID_ENDPOINT stub.
| Name | Type | Req | Description |
|---|---|---|---|
| contractAddress | string | yes | Token contract address on the platform. EVM addresses are case-insensitive; Solana addresses are case-sensitive base58. |
| end | string | – | Optional end timestamp. Same formats as start. Defaults to now if omitted. |
| interval | string | – | Optional. Sampling interval, default '1d'. On this hosted server (free tier) daily and coarser intervals ('1d', '24h', '7d', '14d', '30d', '90d', '365d') are served for the last year and hourly ones… |
| limit | number | – | Optional. Number of data points (default 50, max 250). |
| platformId | string | yes | Platform identifier (e.g., 'eth-ethereum', 'bnb-binance-coin'). Use getPlatforms to discover valid platforms. |
| quote | string | – | Optional quote currency code (default 'usd'). |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| start | string | yes | Required. Start timestamp. Accepts ISO 8601 ('2026-01-15T00:00:00Z') or date-only ('2026-01-15'). UTC. |
| Name | Type | Req | Description |
|---|---|---|---|
| ticks | array | yes | – |
No examples provided.
getMappings ~256
Get mappings between CoinPaprika ids and external or legacy identifiers (CoinMarketCap, CoinGecko, CryptoCompare, ISIN, DTI) so you can reconcile ids across systems. Use for 'map CoinPaprika ids to X', 'id crosswalk', 'external id mapping'. Read-only; every parameter is an optional filter for that provider's id, and supplying more than one narrows the result. Requires your own Business-plan CoinPaprika key; without one this hosted server returns a plan-required message.
| Name | Type | Req | Description |
|---|---|---|---|
| coingecko | string | – | – |
| coinmarketcap | string | – | – |
| coinpaprika | string | – | – |
| cryptocompare | string | – | – |
| dti | string | – | – |
| isin | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| mappings | array | yes | – |
No examples provided.
getPeopleById ~236
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.
| Name | Type | Req | Description |
|---|---|---|---|
| personId | string | yes | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| description | string|null | – | – |
| id | string | – | – |
| links | – | – | – |
| name | string | – | – |
| positions | array | – | – |
| teams_count | number | – | – |
No examples provided.
getPlatforms ~173
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| platforms | array | yes | – |
No examples provided.
getTagById ~270
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.
| Name | Type | Req | Description |
|---|---|---|---|
| additionalFields | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| tagId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| coin_counter | number | – | – |
| coins | array | – | Present when additionalFields=coins is requested. |
| description | string|null | – | – |
| ico_counter | number | – | – |
| icos | array | – | – |
| id | string | – | – |
| name | string | – | – |
| type | string | – | – |
No examples provided.
getTags ~269
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.
| Name | Type | Req | Description |
|---|---|---|---|
| additionalFields | string | – | – |
| limit | number | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| tags | array | yes | – |
No examples provided.
getTickerByContract ~194
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contractAddress | string | yes | – |
| platformId | string | yes | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| beta_value | number|null | – | – |
| circulating_supply | number|null | – | – |
| first_data_at | string | – | – |
| id | string | – | – |
| last_updated | string | – | – |
| max_supply | number|null | – | – |
| name | string | – | – |
| quotes | object | – | Keyed by quote currency code (e.g. 'USD', 'BTC'). |
| rank | number | – | – |
| symbol | string | – | – |
| total_supply | number|null | – | May be 0 as a sentinel for tokens with no supply cap. Cross-reference with CoinPaprika docs for sentinel semantics. |
No examples provided.
getTickers ~190
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| quotes | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| tickers | array | yes | – |
No examples provided.
getTickersById ~305
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.
| Name | Type | Req | Description |
|---|---|---|---|
| coinId | string | yes | Canonical 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… |
| quotes | string | – | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| beta_value | number|null | – | – |
| circulating_supply | number|null | – | – |
| first_data_at | string | – | – |
| id | string | – | – |
| last_updated | string | – | – |
| max_supply | number|null | – | – |
| name | string | – | – |
| quotes | object | – | Keyed by quote currency code (e.g. 'USD', 'BTC'). |
| rank | number | – | – |
| symbol | string | – | – |
| total_supply | number|null | – | May be 0 as a sentinel for tokens with no supply cap. Cross-reference with CoinPaprika docs for sentinel semantics. |
No examples provided.
getTickersHistoricalById ~657
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). Free tier on this hosted server: daily intervals up to a year back and hourly intervals up to 24 hours back; anything else returns a structured CP402_PAID_ENDPOINT stub.
| Name | Type | Req | Description |
|---|---|---|---|
| coinId | string | yes | Canonical 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… |
| end | string | – | Optional end timestamp. Same formats as start. Defaults to now if omitted. |
| interval | string | – | Optional. Sampling interval, default '1d'. On this hosted server (free tier) daily and coarser intervals ('1d', '24h', '7d', '14d', '30d', '90d', '365d') are served for the last year and hourly ones… |
| limit | number | – | Optional. Number of data points (default 50, max 250). |
| quote | string | – | Optional quote currency code (default 'usd'). Examples: 'usd', 'btc', 'eth'. |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| start | string | yes | Required. Start timestamp. Accepts ISO 8601 ('2026-01-15T00:00:00Z') or date-only ('2026-01-15'). UTC. |
| Name | Type | Req | Description |
|---|---|---|---|
| ticks | array | yes | – |
No examples provided.
keyInfo ~192
Get details and usage for the CoinPaprika API key you supplied: 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 you to supply your own paid-plan CoinPaprika key; without one this hosted server returns a plan-required message instead of calling the API. It reports your key, never the server's.
| Name | Type | Req | Description |
|---|---|---|---|
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | – | – |
No examples provided.
priceConverter ~298
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | – | Optional. Amount of base currency to convert (default 1). Passing 0 returns a 0-valued response, which is rarely what you want; use 1 to get a unit-rate quote. |
| baseCurrencyId | string | yes | Required. Source CoinPaprika coin slug (e.g., 'btc-bitcoin'). Full slugs only; symbols like 'BTC' are rejected upstream. |
| quoteCurrencyId | string | yes | Required. Target CoinPaprika coin slug (e.g., 'usd-us-dollars', 'eth-ethereum'). |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | – | – |
| base_currency_id | string | – | – |
| base_currency_name | string | – | – |
| base_price_last_updated | string | – | – |
| price | number | – | – |
| quote_currency_id | string | – | – |
| quote_currency_name | string | – | – |
| quote_price_last_updated | string | – | – |
No examples provided.
resolveId ~276
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| query | string | yes | – |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| type | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | – |
No examples provided.
search ~268
Broadly search CoinPaprika across coins, exchanges, ICOs, people and tags by name or symbol when the entity type is unknown or you are exploring. Use for 'find anything called X'. If you specifically need a coin's canonical id to fetch its price, prefer resolveId. Read-only; q is the query, categories filters entity types, limit caps results. No API key required.
| Name | Type | Req | Description |
|---|---|---|---|
| categories | string | – | Optional. Comma-separated category filter: 'currencies', 'exchanges', 'icos', 'people', 'tags'. Omit to search all categories. |
| limit | number | – | Optional. Items PER CATEGORY (not total). Default 50. |
| modifier | string | – | Optional. Upstream-specific search modifier. |
| q | string | yes | Required. Search query (case-insensitive, partial-match). |
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| currencies | array | – | – |
| exchanges | array | – | – |
| icos | array | – | – |
| people | array | – | – |
| tags | array | – | – |
No examples provided.
status ~170
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.
| Name | Type | Req | Description |
|---|---|---|---|
| rationale | string | yes | REQUIRED. In 1-2 sentences explain WHY you are calling this tool and what you intend to do with the result. Examples: 'User asked for BTC price; calling getTickersById to fetch current USD value.' 'B… |
| Name | Type | Req | Description |
|---|---|---|---|
| api_base | string | – | – |
| mode | string | – | – |
| paid_features | string | – | – |
| status | string | – | – |
| tier | string | – | – |
No examples provided.
submitFeedback ~193
Report a problem or gap back to the CoinPaprika MCP maintainers: call it when you got stuck, a response was unexpected, information you needed was missing, or a tool did not behave as documented. Use when the user says 'this is wrong', 'report this', 'that did not work'. Low friction, partial feedback is welcome, and every submission is read.
| Name | Type | Req | Description |
|---|---|---|---|
| attempted_tools | array | – | OPTIONAL: List of tool names you called, in order, before submitting this feedback. |
| blocked_at | string | – | OPTIONAL: Tool name or step where you got stuck. |
| expected | string | – | OPTIONAL: What you expected to happen. |
| goal | string | yes | REQUIRED: What you (or the user behind you) were trying to accomplish. |
| observed | string | – | OPTIONAL: What actually happened. |
| severity | string | – | OPTIONAL: How badly this affected your task. Default 'minor'. |
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | – |
| ok | boolean | yes | True if the feedback row was persisted. |
| severity | string | – | – |
| tracking_id | string|null | – | Stable id agents can reference in follow-up submissions; null if persistence failed. |
No examples provided.
What is the CoinPaprika MCP server?
CoinPaprika is an MCP server listed in the public MCP registry as com.coinpaprika/coinpaprika. Real-time crypto market data: prices, tickers, exchanges, OHLCV candles, and metadata. This page covers its hosted endpoint (https://mcp.coinpaprika.com/streamable-http).
Is the CoinPaprika MCP server safe to use?
CoinPaprika scores 82 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the CoinPaprika MCP server expose?
CoinPaprika exposes 31 tools: getCoins, getCoinById, getCoinEvents, getCoinExchanges, getCoinMarkets, and 26 more. Their descriptions and schemas cost roughly 8,480 tokens of context every time the server is loaded.
Does the CoinPaprika MCP server require authentication?
No. We connected to CoinPaprika without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the CoinPaprika MCP server still maintained?
CoinPaprika is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.