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.
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:
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
Coins
Tickers & Prices
Exchanges
Tags & People
Contracts
Search & Resolution
Paid-Tier Tools
These tools require a paid CoinPaprika API plan. Without an API key, they return guidance directing you to upgrade.
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.quotablock 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 atmcp.coinpaprika.comreturns nometablock at all, so do not write client code that depends on one
Troubleshooting
Common Issues:
- Rate limiting: If receiving
CP429_RATE_LIMITerrors, 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-nameformat (e.g.,btc-bitcoin, notbitcoinorBTC). UsesearchorresolveIdto find correct IDs - Paid-tier errors:
CP402_INSUFFICIENT_PLANorCP403_FORBIDDENmean the endpoint requires a paid plan. SetCOINPAPRIKA_API_KEYenvironment variable - Timeout errors: Large data requests may take longer, so reduce the
limitparameter - 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
- CoinPaprika API Documentation
- API Pricing & Plans
- Hosted MCP Server, zero-setup option
- DexPaprika MCP, DEX and DeFi data companion package
- Model Context Protocol Specification
- CoinPaprika, comprehensive cryptocurrency market data
- DexPaprika, onchain DEX analytics