Quick Start
The JSON-RPC endpoint provides reliable access to cryptocurrency data for AI agents and custom applications. Endpoint:https://mcp.coinpaprika.com/json-rpc
Basic Usage
Search for cryptocurrencies
Response Format
Results are returned inresult.content[0].text
as stringified JSON:
Error Handling
The MCP server returns standard JSON-RPC error codes. Upstream HTTP statuses may map to messages like400/402/403/429
. Inspect the JSON-RPC error.message
field for specific error details.
Best Practices
- Implement caching to reduce redundant requests
- Use reasonable retry policies with jitter for network resilience
- Handle errors gracefully with proper fallback mechanisms
- Consider batching multiple requests when possible
Available Tools
To discover all available tools, use thetools/list
method:
Tool Call Structure
All tools follow this structure:Field | Description | Example |
---|---|---|
name | Tool name | "search" |
arguments | Tool-specific parameters | {"q": "bitcoin", "limit": 5} |
Available Tools
Tool | Description | Arguments | Example |
---|---|---|---|
getGlobal | Market overview | none | {} |
getCoins | List coins | limit: number (50) | {"limit": 25} |
getCoinById | Coin details | coinId: string | {"coinId": "btc-bitcoin"} |
getCoinEvents | Events for a coin | coinId: string; limit: number (50) | {"coinId": "btc-bitcoin", "limit": 10} |
getCoinExchanges | Exchanges for a coin | coinId: string; limit: number (50) | {"coinId": "btc-bitcoin", "limit": 10} |
getCoinMarkets | Markets for a coin | coinId: string; quotes: string; limit: number (50) | {"coinId": "btc-bitcoin", "quotes": "usd,btc", "limit": 10} |
getTickers | All tickers | quotes: string; limit: number (50) | {"quotes": "usd", "limit": 10} |
getTickersById | Ticker for coin | coinId: string; quotes: string | {"coinId": "btc-bitcoin", "quotes": "usd"} |
getPeopleById | Person details | personId: string | {"personId": "satoshi-nakamoto"} |
getTags | List tags | additionalFields: string; limit: number (50) | {"additionalFields": "id,name", "limit": 10} |
getTagById | Tag details | tagId: string; additionalFields: string | {"tagId": "defi"} |
getExchanges | List exchanges | quotes: string; limit: number (50) | {"quotes": "usd", "limit": 10} |
getExchangeByID | Exchange details | exchangeId: string; quotes: string | {"exchangeId": "binance", "quotes": "usd"} |
getExchangeMarkets | Markets on exchange | exchangeId: string; quotes: string; limit: number (50) | {"exchangeId": "binance", "quotes": "usd", "limit": 10} |
getPlatforms | List contract platforms | limit: number (50) | {"limit": 10} |
getContracts | Contracts for a platform | platformId: string; limit: number (50) | {"platformId": "eth-ethereum", "limit": 10} |
getTickerByContract | Ticker by contract address | platformId: string; contractAddress: string | {"platformId": "eth-ethereum", "contractAddress": "0x..."} |
priceConverter | Convert base to quote | baseCurrencyId: string; quoteCurrencyId: string; amount: number (0) | {"baseCurrencyId": "btc-bitcoin", "quoteCurrencyId": "usd", "amount": 1} |
search | Search currencies, exchanges, icos, people, tags | q: string; categories: string; modifier: string; limit: number (50) | {"q": "btc", "categories": "currencies,exchanges", "modifier": "symbol", "limit": 5} |
Call Pattern Template
What’s Next?
Connect Claude Desktop or Cursor
Set up AI-powered access to cryptocurrency data
Explore Available Tools
Discover all the cryptocurrency data tools available