DexPaprika MCP server allows access real-time and historical data on crypto tokens, DEX trading activity, and liquidity across multiple blockchains. It enables natural language queries for exploring market trends, token performance, and DeFi analytics through a standardized interface.
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.
## 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
Breaking Change: The global /pools
endpoint has been removed. If you’re upgrading from v1.0.x, please see the Migration Guide below.
To install DexPaprika for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @coinpaprika/dexpaprika-mcp --client claude
## 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.
Watch our step-by-step tutorial on setting up and using the DexPaprika MCP server:
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.
The global getTopPools
function has been removed due to API deprecation.
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
The MCP server exposes these specific endpoints Claude can access:
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", ...}]} |
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 |
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 |
search |
Finds tokens, pools, DEXes by name/id | query |
Multi-entity search results |
// 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
});
When working with Claude, try these specific technical queries (updated for v1.1.0):
Common Issues:
Migration Issues:
getNetworkPools
instead with a specific network parameter## 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
See CHANGELOG.md{:target=“_blank”} for detailed release notes and migration guides.
This project is licensed under the MIT License - see the LICENSE{:target=“_blank”} file for details.