MCP HubMCP Hub
Nayshins

mcp-server-ccxt

by: Nayshins

Cryptocurrency Market Data MCP Server

36created 24/12/2024
Visit
Crypto
Market

📌Overview

Purpose: The MCP server provides real-time and historical cryptocurrency market data integration for LLMs, enabling them to analyze market trends and retrieve trading information.

Overview: This Model Context Protocol (MCP) server facilitates direct access to both current prices and extensive historical data across major cryptocurrency exchanges, allowing for detailed market analysis and insights.

Key Features:

  • Real-time Market Data: Offers current prices, market summaries, and top trading pairs across multiple exchanges to help users stay updated on market conditions.

  • Historical Analysis: Provides OHLCV (candlestick) data, price change statistics, and volume history with customizable timeframes for comprehensive market evaluation.


Cryptocurrency Market Data MCP Server

A Model Context Protocol (MCP) server that provides real-time and historical cryptocurrency market data through integration with major exchanges. This server enables LLMs like Claude to fetch current prices, analyze market trends, and access detailed trading information.

Features

  • Real-time Market Data

    • Current cryptocurrency prices
    • Market summaries with bid/ask spreads
    • Top trading pairs by volume
    • Multiple exchange support
  • Historical Analysis

    • OHLCV (candlestick) data
    • Price change statistics
    • Volume history tracking
    • Customizable timeframes
  • Exchange Support

    • Binance
    • Coinbase
    • Kraken
    • KuCoin
    • HyperLiquid
    • Huobi
    • Bitfinex
    • Bybit
    • OKX
    • MEXC

Installation

Installing via Smithery

To install Cryptocurrency Market Data Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install mcp-server-ccxt --client claude

Installing Manually

# Using uv (recommended)
uv pip install mcp ccxt

# Using pip
pip install mcp ccxt

Usage

Running the Server

python crypto_server.py

Connecting with Claude Desktop

  1. Open your Claude Desktop configuration at:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the server configuration:

{
    "mcpServers": {
        "crypto": {
            "command": "python",
            "args": ["/path/to/crypto_server.py"]
        }
    }
}
  1. Restart Claude Desktop

Available Tools

  1. get-price
    Get current price for any trading pair
    Example: "What's the current price of BTC/USDT on Binance?"

  2. get-market-summary
    Fetch detailed market information
    Example: "Show me a market summary for ETH/USDT"

  3. get-top-volumes
    List top trading pairs by volume
    Example: "What are the top 5 trading pairs on Kraken?"

  4. list-exchanges
    Show all supported exchanges
    Example: "Which exchanges are supported?"

  5. get-historical-ohlcv
    Get historical candlestick data
    Example: "Show me the last 7 days of BTC/USDT price data in 1-hour intervals"

  6. get-price-change
    Calculate price changes over different timeframes
    Example: "What's the 24-hour price change for SOL/USDT?"

  7. get-volume-history
    Track trading volume over time
    Example: "Show me the trading volume history for ETH/USDT over the last week"

Example Queries

Here are some example questions you can ask Claude once the server is connected:

- What's the current Bitcoin price on Binance?
- Show me the top 5 trading pairs by volume on Coinbase
- How has ETH/USDT performed over the last 24 hours?
- Give me a detailed market summary for SOL/USDT on Kraken
- What's the trading volume history for BNB/USDT over the last week?

Technical Details

Dependencies

  • mcp: Model Context Protocol SDK
  • ccxt: Cryptocurrency Exchange Trading Library
  • Python 3.9 or higher

Architecture

The server uses:

  • CCXT's async support for efficient exchange communication
  • MCP's tool system for LLM integration
  • Standardized data formatting for consistent outputs
  • Connection pooling for optimal performance

Error Handling

The server implements robust error handling for:

  • Invalid trading pairs
  • Exchange connectivity issues
  • Rate limiting
  • Malformed requests
  • Network timeouts

Development

Running Tests

# To be implemented
pytest tests/

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

Local Development

# Clone the repository
git clone [repository-url]
cd crypto-mcp-server

# Install dependencies
uv pip install -e .

Troubleshooting

Common Issues

  1. Exchange Connection Errors

    • Check your internet connection
    • Verify the exchange is operational
    • Ensure the trading pair exists on the selected exchange
  2. Rate Limiting

    • Implement delays between requests
    • Use different exchanges for high-frequency queries
    • Check exchange-specific rate limits
  3. Data Formatting Issues

    • Verify trading pair format (e.g., BTC/USDT, not BTCUSDT)
    • Check timeframe specifications
    • Ensure numerical parameters are within valid ranges

License

MIT License - See LICENSE file for details

Acknowledgments

  • CCXT for exchange integrations
  • Model Context Protocol for the MCP specification
  • The cryptocurrency exchanges for providing market data APIs