ccxt-mcp
1
The CCXT MCP Server is designed for trading using the CCXT library and supports multiple exchanges. It includes features for managing orders, viewing trade data, and performing trading analysis. It is suitable for both development and production environments with testnet support.
CCXT MCP Server
A Model Context Protocol (MCP) server that provides trading functionality through the CCXT library.
Features
- Fetch ticker data for any symbol
- Get order book data
- View recent trades
- Create orders (market, limit, etc.)
- Cancel orders
- Fetch account balance
- Trading analysis prompts
- Order management guidance
- Testnet support
- Supports any exchange that CCXT supports
- Cached exchange instances for better performance
Project Structure
src/ccxt_mcp/
├── __init__.py # Main server file
├── utils/
│ └── exchange.py # Exchange management with testnet support
├── tools/
│ ├── fetch_ticker.py # Ticker data tool
│ ├── fetch_order_book.py # Order book tool
│ ├── fetch_trades.py # Trades tool
│ ├── create_order.py # Order creation tool
│ ├── cancel_order.py # Order cancellation tool
│ └── fetch_balance.py # Balance fetching tool
└── prompts/
├── trading_analysis.py # Trading analysis prompt
├── order_management.py # Order management prompt
└── testnet_guidance.py # Testnet guidance prompt
Setup to run MCP server
Prerequisites:
These are instructions for Claude Desktop but this mcp server could be used for any MCP Client.
- Download github repo:
git clone https://github.com/pcriadoperez/ccxt-mcp.git
-
Enter folder
cd ccxt-mcp
-
Install mcp server
mcp install run.py
-
Open Claude desktop -> Settings -> Developer -> Edit config
- Add your env variables
- You may have Replace in command you uv location (You can find it running
which uv
) - It should look like the below config
{
"mcpServers": {
"CCXT Trading Server": {
"command": "/Users/pablo/.local/bin/uv",
"args": [
"run",
"--with",
"ccxt",
"--with",
"mcp[cli]",
"mcp",
"run",
"/Users/pablo/github/ccxt-mcp-2/run.py"
],
"env":{
"BINANCE_APIKEY": "BINANCE_APIKEY",
"BINANCE_SECRET": "BINANCE_SECRET"
}
}
}
}
- Close and open claude
Setup for contributing
- Clone the repository:
git clone https://github.com/pcriadoperez/ccxt-mcp.git
cd ccxt-mcp
- Install dependencies:
uv pip install -e .
- Set up environment variables:
# Copy the example environment file
cp .env.example .env
# Edit .env with your API keys
# Add your exchange API keys in the format:
# {EXCHANGE_ID}_API_KEY=your_api_key
# {EXCHANGE_ID}_SECRET=your_secret
Dev usage
- Run the Dev MCP server:
mcp dev run.py
Security
- Never commit your
.env
file - Use environment variables for API keys
- Consider using a secrets management service for production
- Testnet is recommended for development and testing
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
MIT