---
slug: "ccxt-ccxt-mcp-2"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/pcriadoperez/ccxt-mcp@main/README.md"
repo: "https://github.com/pcriadoperez/ccxt-mcp"
source_file: "README.md"
branch: "main"
---
# CCXT MCP Server

A Model Context Protocol (MCP) server that provides trading functionality through the CCXT library.

![ScreenRecording2025-04-19at17 22 45-ezgif com-speed](https://github.com/user-attachments/assets/1fd98f5d-60b0-449c-98d9-7eca23a9cf0f)

![cursor](https://github.com/user-attachments/assets/d90caaec-e23b-45f7-a6db-2cbfcd4568ce)


## 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.

1. Download github repo:
```bash
git clone https://github.com/pcriadoperez/ccxt-mcp.git
```
2. Enter folder
`cd ccxt-mcp`

3. Install mcp server
`mcp install run.py`

4. 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

```json
{
  "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"
      }
    }
  }
}
```

5. Close and open claude

## Setup for contributing

1. Clone the repository:
```bash
git clone https://github.com/pcriadoperez/ccxt-mcp.git
cd ccxt-mcp
```

2. Install dependencies:
```bash
uv pip install -e .
```

3. Set up environment variables:
```bash
# 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

1. Run the Dev MCP server:
```bash
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

1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request

## License

MIT 
