CoinPaprika MCP Server
OfficialCoinPaprika 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@latestCoinPaprika 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/coinpaprikaManual Installation
# Install globally (recommended for regular use)
npm install -g @coinpaprika/mcp
# Start the server
coinpaprika-mcpClaude 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@latestHosted 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:
Transport | Endpoint | Use Case |
Streamable HTTP |
| Recommended for most clients |
SSE |
| Legacy SSE transport |
JSON-RPC |
| Direct JSON-RPC |
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
Tool | Description |
| Server capabilities, workflow patterns, validation rules, and best practices. Start here. |
| Server status and configuration |
| Global market overview: total market cap, 24h volume, BTC dominance ('how is the market doing') |
Coins
Tool | Description | Required Parameters |
| List all coins (id, name, symbol, rank); no prices, use getTickers for prices | none |
| Coin project details (description, team, links); no price, use getTickersById |
|
| Upcoming events for a coin |
|
| Exchanges listing a coin |
|
| Markets/exchanges trading a coin ('where to buy X', 'X price on Binance') |
|
Tickers & Prices
Tool | Description | Required Parameters |
| Current prices + market caps for top coins by market cap ('top 5 coins', market snapshot) | none |
| Current price, market cap & 24h change of one coin ('BTC price', 'how much is ETH') |
|
| Latest full-day OHLC candle (not the live price) |
|
| Today's in-progress OHLC candle |
|
| Convert an amount between currencies ('0.5 BTC in USD') |
|
Exchanges
Tool | Description | Required Parameters |
| List all exchanges | none |
| Exchange details |
|
| Markets on a specific exchange |
|
Tags & People
Tool | Description | Required Parameters |
| List all tags/categories | none |
| Tag details |
|
| Person/team member details |
|
Contracts
Tool | Description | Required Parameters |
| List contract platforms | none |
| Contracts on a platform |
|
| Token price by contract address (on-chain/DeFi tokens) |
|
Search & Resolution
Tool | Description | Required Parameters |
| Search coins/exchanges/people/tags by name; use FIRST to get an id |
|
| Resolve a name/symbol to canonical id; call FIRST before price tools |
|
Paid-Tier Tools
These tools require a paid CoinPaprika API plan. Without an API key, they return guidance directing you to upgrade.
Tool | Plan Required | Description |
| Starter+ | Historical OHLCV candle data |
| Starter+ | Historical ticker snapshots |
| Starter+ | Historical ticker by contract |
| Starter+ | Changelog of coin ID changes |
| Pro | Verify API key details |
| Business | Cross-platform ID mappings |
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@latestGet 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 spentInvalid coin ID: Coin IDs use
symbol-nameformat (e.g.,btc-bitcoin, notbitcoinorBTC). UsesearchorresolveIdto find correct IDsPaid-tier errors:
CP402_INSUFFICIENT_PLANorCP403_FORBIDDENmean the endpoint requires a paid plan. SetCOINPAPRIKA_API_KEYenvironment variableTimeout errors: Large data requests may take longer, so reduce the
limitparameterNetwork 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 buildChangelog
See CHANGELOG.md for detailed release notes.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Additional Resources
Hosted MCP Server, zero-setup option
DexPaprika MCP, DEX and DeFi data companion package
CoinPaprika, comprehensive cryptocurrency market data
DexPaprika, onchain DEX analytics
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/coinpaprika/coinpaprika-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server