npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

dexpaprika-mcp

v1.2.0

Published

A Model Context Protocol server for DexPaprika cryptocurrency data with network-specific pool queries

Downloads

182

Readme

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:

DexPaprika MCP Tutorial

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 getNetworkPools instead 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 CHANGELOG.md for detailed release notes and migration guides.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Additional Resources