coinpaprika/dexpaprika-mcp
If you are the rightful owner of dexpaprika-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
DexPaprika MCP Server provides on-demand access to cryptocurrency and DEX data, specifically designed for AI assistants like Claude.
DexPaprika MCP Server
A Model Context Protocol (MCP) server that provides on-demand access to DexPaprika's cryptocurrency and DEX data API. Built specifically for AI assistants like Claude to programmatically fetch real-time token, pool, and DEX data with zero configuration.
TL;DR
# Install globally
npm install -g dexpaprika-mcp
# Start the server
dexpaprika-mcp
# Or run directly without installation
npx dexpaprika-mcp
DexPaprika MCP connects Claude to live DEX data across multiple blockchains. No API keys required. Installation | Configuration | API Reference
🚨 Version 1.2.0 Update Highlights
New: Batched token prices tool getTokenMultiPrices and enhanced getNetworkDexes parameters. See examples below.
🚨 Version 1.1.0 Update Notice
Breaking Change: The global /pools endpoint has been removed. If you're upgrading from v1.0.x, please see the Migration Guide below.
What Can You Build?
- Token Analysis Tools: Track price movements, liquidity depth changes, and volume patterns
- DEX Comparisons: Analyze fee structures, volume, and available pools across different DEXes
- Liquidity Pool Analytics: Monitor TVL changes, impermanent loss calculations, and price impact assessments
- Market Analysis: Cross-chain token comparisons, volume trends, and trading activity metrics
- Portfolio Trackers: Real-time value tracking, historical performance analysis, yield opportunities
- Technical Analysis: Perform advanced technical analysis using historical OHLCV data, including trend identification, pattern recognition, and indicator calculations
Installation
Installing via Smithery
To install DexPaprika for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @coinpaprika/dexpaprika-mcp --client claude
Manual Installation
# Install globally (recommended for regular use)
npm install -g dexpaprika-mcp
# Verify installation
dexpaprika-mcp --version
# Start the server
dexpaprika-mcp
The server runs on port 8010 by default. You'll see MCP server is running at http://localhost:8010 when successfully started.
Video Tutorial
Watch our step-by-step tutorial on setting up and using the DexPaprika MCP server:
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": {
    "dexpaprika": {
      "command": "npx",
      "args": ["dexpaprika-mcp"]
    }
  }
}
After restarting Claude Desktop, the DexPaprika tools will be available to Claude automatically.
Migration from v1.0.x to v1.1.0
⚠️ Breaking Changes
The global getTopPools function has been removed due to API deprecation.
Migration Steps
Before (v1.0.x):
// This will no longer work
getTopPools({ page: 0, limit: 10, sort: 'desc', orderBy: 'volume_usd' })
After (v1.1.0):
// Use network-specific queries instead
getNetworkPools({ network: 'ethereum', page: 0, limit: 10, sort: 'desc', orderBy: 'volume_usd' })
getNetworkPools({ network: 'solana', page: 0, limit: 10, sort: 'desc', orderBy: 'volume_usd' })
// To query multiple networks, call getNetworkPools for each network
// Or use the search function for cross-network searches
Benefits of the New Approach
- Better Performance: Network-specific queries are faster and more efficient
- More Relevant Results: Get pools that are actually relevant to your use case
- Improved Scalability: Better suited for handling large amounts of data across networks
Technical Capabilities
The MCP server exposes these specific endpoints Claude can access:
Network Operations
| Function | Description | Example | 
|---|---|---|
| getNetworks | Retrieves all supported blockchain networks and metadata | {"id": "ethereum", "name": "Ethereum", "symbol": "ETH", ...} | 
| getNetworkDexes | Lists DEXes available on a specific network | {"dexes": [{"id": "uniswap_v3", "name": "Uniswap V3", ...}]} | 
Pool Operations
| Function | Description | Required Parameters | Example Usage | 
|---|---|---|---|
| getNetworkPools | [PRIMARY] Gets top pools on a specific network | network,limit | Get Solana's highest liquidity pools | 
| getDexPools | Gets top pools for a specific DEX | network,dex | List pools on Uniswap V3 | 
| getPoolDetails | Gets detailed pool metrics | network,poolAddress | Complete metrics for USDC/ETH pool | 
| getPoolOHLCV | Retrieves time-series price data for various analytical purposes (technical analysis, ML models, backtesting) | network,poolAddress,start,interval | 7-day hourly candles for SOL/USDC | 
| getPoolTransactions | Lists recent transactions in a pool | network,poolAddress | Last 20 swaps in a specific pool | 
Token Operations
| Function | Description | Required Parameters | Output Fields | 
|---|---|---|---|
| getTokenDetails | Gets comprehensive token data | network,tokenAddress | price_usd,volume_24h,liquidity_usd, etc. | 
| getTokenPools | Lists pools containing a token | network,tokenAddress | Returns all pools with liquidity metrics | 
| getTokenMultiPrices | Batched USD prices for multiple tokens | network,tokens[] | Array of { id, chain, price_usd } | 
| search | Finds tokens, pools, DEXes by name/id | query | Multi-entity search results | 
Example Usage
// With Claude, get details about a specific token:
const solanaJupToken = await getTokenDetails({
  network: "solana", 
  tokenAddress: "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"
});
// Find all pools for a specific token with volume sorting:
const jupiterPools = await getTokenPools({
  network: "solana", 
  tokenAddress: "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
  orderBy: "volume_usd",
  limit: 5
});
// Get top pools on Ethereum (v1.1.0 approach):
const ethereumPools = await getNetworkPools({
  network: "ethereum",
  orderBy: "volume_usd",
  limit: 10
});
// Get historical price data for various analytical purposes (technical analysis, ML models, backtesting):
const ohlcvData = await getPoolOHLCV({
  network: "ethereum",
  poolAddress: "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640", // ETH/USDC on Uniswap V3
  start: "2023-01-01",
  interval: "1d",
  limit: 30
});
// 1.2.0: Get batched prices for multiple tokens (repeatable tokens query)
const prices = await getTokenMultiPrices({
  network: "ethereum",
  tokens: [
    "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", // WETH
    "0xdac17f958d2ee523a2206206994597c13d831ec7"  // USDT
  ]
});
Sample Prompts for Claude
When working with Claude, try these specific technical queries (updated for v1.1.0):
- "Analyze the JUP token on Solana. Fetch price, volume, and top liquidity pools."
- "Compare trading volume between Uniswap V3 and SushiSwap on Ethereum."
- "Get the 7-day OHLCV data for SOL/USDC on Raydium and plot a price chart."
- "Find the top 5 pools by liquidity on Fantom network and analyze their fee structures."
- "Get recent transactions for the ETH/USDT pool on Uniswap and analyze buy vs sell pressure."
- "Show me the top 10 pools on Ethereum by 24h volume using getNetworkPools."
- "Search for all pools containing the ARB token and rank them by volume."
- "Retrieve OHLCV data for BTC/USDT to analyze volatility patterns and build a price prediction model."
- "First get all available networks, then show me the top pools on each major network."
Rate Limits & Performance
- Free Tier Limits: 60 requests per minute
- Response Time: 100-500ms for most endpoints (network dependent)
- Data Freshness: Pool and token data updated every 15-30s
- Error Handling: 429 status codes indicate rate limiting
- OHLCV Data Availability: Historical data typically available from token/pool creation date
Troubleshooting
Common Issues:
- Rate limiting: If receiving 429 errors, reduce request frequency
- Missing data: Some newer tokens/pools may have incomplete historical data
- Timeout errors: Large data requests may take longer, consider pagination
- Network errors: Check network connectivity, the service requires internet access
- OHLCV limitations: Maximum range between start and end dates is 1 year; use pagination for longer timeframes
Migration Issues:
- "getTopPools not found": This function has been removed. Use getNetworkPoolsinstead with a specific network parameter
- "410 Gone" errors: You're using a deprecated endpoint. Check the error message for guidance on the correct endpoint to use
Development
# Clone the repository
git clone https://github.com/coinpaprika/dexpaprika-mcp.git
cd dexpaprika-mcp
# Install dependencies
npm install
# Run with auto-restart on code changes
npm run watch
# Build for production
npm run build
# Run tests
npm test
Changelog
See for detailed release notes and migration guides.
License
This project is licensed under the MIT License - see the file for details.
Additional Resources
- DexPaprika API Documentation
- Model Context Protocol Specification
- DexPaprika - Comprehensive onchain analytics market data
- CoinPaprika - Comprehensive cryptocurrency market data
