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