mcp-server-ccxt
by: Nayshins
Cryptocurrency Market Data MCP Server
📌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
-
Open your Claude Desktop configuration at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Add the server configuration:
{
"mcpServers": {
"crypto": {
"command": "python",
"args": ["/path/to/crypto_server.py"]
}
}
}
- Restart Claude Desktop
Available Tools
-
get-price
Get current price for any trading pair
Example: "What's the current price of BTC/USDT on Binance?" -
get-market-summary
Fetch detailed market information
Example: "Show me a market summary for ETH/USDT" -
get-top-volumes
List top trading pairs by volume
Example: "What are the top 5 trading pairs on Kraken?" -
list-exchanges
Show all supported exchanges
Example: "Which exchanges are supported?" -
get-historical-ohlcv
Get historical candlestick data
Example: "Show me the last 7 days of BTC/USDT price data in 1-hour intervals" -
get-price-change
Calculate price changes over different timeframes
Example: "What's the 24-hour price change for SOL/USDT?" -
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 SDKccxt
: 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
- Fork the repository
- Create a feature branch
- Make your changes
- 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
-
Exchange Connection Errors
- Check your internet connection
- Verify the exchange is operational
- Ensure the trading pair exists on the selected exchange
-
Rate Limiting
- Implement delays between requests
- Use different exchanges for high-frequency queries
- Check exchange-specific rate limits
-
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