Skip to content

CoinPaprika

by coinpaprika.com · remote · no sign-in to list tools · v1.4.0 · published by com.coinpaprika

Real-time crypto market data: prices, tickers, exchanges, OHLCV candles, and metadata.

Changes · 2

27 tools: 2 change things and 25 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http coinpaprika https://mcp.coinpaprika.com/streamable-http

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "priceConverter" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

27 tools

Changes things 2Claude Code: ask
  • priceConverterConvert an amount from one crypto or fiat to another at the current rate, e.g.1 finding

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "priceConverter" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • submitFeedbackReport 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…No findings

    Why it is in this group

    • The name "submitFeedback" says "submit": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
Only reads 25Claude Code: allow
  • getCapabilitiesGet the server's capabilities, supported workflow patterns, validation rules and recommended tool sequences.No findings

    Why it is in this group

    • The name "getCapabilities" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getCoinByIdGet descriptive project information about a coin: description, links, team and tags.No findings

    Why it is in this group

    • The name "getCoinById" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getCoinEventsGet the timeline of events for a coin (launches, partnerships, hard forks, conference talks) with dates and descriptions.No findings

    Why it is in this group

    • The name "getCoinEvents" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getCoinExchangesList the exchanges that LIST a specific coin (venue names only).No findings

    Why it is in this group

    • The name "getCoinExchanges" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getCoinMarketsGet the specific markets and trading pairs where a coin trades, with per-market price and 24h volume.No findings

    Why it is in this group

    • The name "getCoinMarkets" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getCoinOHLCVLatestGet the latest full-day OHLC candle (open, high, low, close and volume) for a coin.No findings

    Why it is in this group

    • The name "getCoinOHLCVLatest" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getCoinOHLCVTodayGet today's in-progress OHLC candle for a coin.No findings

    Why it is in this group

    • The name "getCoinOHLCVToday" says "get": a word for reading.
    Description, as the server wrote it
    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 yesterday's full candle use getCoinOHLCVLatest, and for older prices getTickersHistoricalById. Read-only; coinId is a canonical id (resolve with resolveId). No API key required.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getCoinsList all available coins with id, name, symbol and rank.No findings

    Why it is in this group

    • The name "getCoins" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getContractsList the token contract addresses tracked on one platform as a list, mapping each contract to its CoinPaprika coin id.No findings

    Why it is in this group

    • The name "getContracts" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getExchangeByIDGet details for a specific exchange: 24h volume, market count, trust score, links and fiat support.No findings

    Why it is in this group

    • The name "getExchangeByID" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getExchangeMarketsList 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.No findings

    Why it is in this group

    • The name "getExchangeMarkets" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getExchangesList exchanges tracked by CoinPaprika as a list ranked by rank, each with id, name, trust score, active market count and 24h volume.No findings

    Why it is in this group

    • The name "getExchanges" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getGlobalGet a global crypto market overview: total market cap, total 24h volume, Bitcoin dominance, and market-wide 24h change.No findings

    Why it is in this group

    • The name "getGlobal" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getHistoricalTickerByContractGet a token's price and market history by its contract address, as a time series.No findings

    Why it is in this group

    • The name "getHistoricalTickerByContract" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getPeopleByIdGet 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.No findings

    Why it is in this group

    • The name "getPeopleById" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getPlatformsList the smart-contract platforms (blockchains such as ethereum, bnb, polygon) for which CoinPaprika indexes token contracts.No findings

    Why it is in this group

    • The name "getPlatforms" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getTagByIdGet 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 und…No findings

    Why it is in this group

    • The name "getTagById" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getTagsList 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…No findings

    Why it is in this group

    • The name "getTags" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getTickerByContractGet the current price and market data of a token by its contract address (for on-chain and DeFi tokens).No findings

    Why it is in this group

    • The name "getTickerByContract" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getTickersGet current prices, market caps and 24h changes for the top cryptocurrencies ranked by market cap.No findings

    Why it is in this group

    • The name "getTickers" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getTickersByIdGet the current price, market cap, 24h change and volume of one cryptocurrency in USD or another quote currency.No findings

    Why it is in this group

    • The name "getTickersById" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • getTickersHistoricalByIdGet a coin's price, market cap and volume at past times as point-in-time snapshots (not OHLC candles).No findings

    Why it is in this group

    • The name "getTickersHistoricalById" says "get": a word for reading.
    Description, as the server wrote it
    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 today's and yesterday's OHLC candles use getCoinOHLCVToday and getCoinOHLCVLatest; 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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • resolveIdResolve a fuzzy coin, exchange, person or tag name or symbol to a ranked list of candidate CoinPaprika ids, best first (take the top one).No findings

    Why it is in this group

    • The name "resolveId" says "resolve": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true
  • statusGet the CoinPaprika MCP server's status and configuration (uptime, mode, enabled features).No findings

    Why it is in this group

    • The name "status" says "status": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.4.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http coinpaprika https://mcp.coinpaprika.com/streamable-http

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__coinpaprika__getCoins",
      "mcp__coinpaprika__getCoinById",
      "mcp__coinpaprika__getCoinEvents",
      "mcp__coinpaprika__getCoinExchanges",
      "mcp__coinpaprika__getCoinMarkets",
      "mcp__coinpaprika__getCoinOHLCVLatest",
      "mcp__coinpaprika__getCoinOHLCVToday",
      "mcp__coinpaprika__getTickers",
      "mcp__coinpaprika__getTickersById",
      "mcp__coinpaprika__getTickersHistoricalById",
      "mcp__coinpaprika__getExchanges",
      "mcp__coinpaprika__getExchangeByID",
      "mcp__coinpaprika__getExchangeMarkets",
      "mcp__coinpaprika__getPeopleById",
      "mcp__coinpaprika__getTags",
      "mcp__coinpaprika__getTagById",
      "mcp__coinpaprika__getPlatforms",
      "mcp__coinpaprika__getContracts",
      "mcp__coinpaprika__getTickerByContract",
      "mcp__coinpaprika__getHistoricalTickerByContract",
      "mcp__coinpaprika__status",
      "mcp__coinpaprika__getGlobal",
      "mcp__coinpaprika__search",
      "mcp__coinpaprika__resolveId",
      "mcp__coinpaprika__getCapabilities"
    ],
    "ask": [
      "mcp__coinpaprika__priceConverter",
      "mcp__coinpaprika__submitFeedback"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as coinpaprika. Review it before you use it.