CCXT MCP Server
About
# CCXT MCP Server [](https://smithery.ai/server/@jcwleo/ccxt-mcp-server) This project provides a Model Context Protocol (MCP) server that exposes various functions from the [CCXT](https://github.com/ccxt/ccxt) library as tools for Large Language…
Details
- License
- MIT
Explore
CCXT Integration: Wraps common CCXT functions for exchange interaction.
Asynchronous: Built using asyncio and ccxt.async_support for efficient non-blocking operations.
Clear Tool Definitions: Uses typing.Annotated and pydantic.Field for clear parameter descriptions and constraints, making it easier for LLMs (and developers) to understand and use the tools.
Authentication Handling: Supports API key, secret, and passphrase authentication for private endpoints.
- Public & Private Tools: Provides separate tools for public market data and private account actions.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
CCXT MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
This server exposes the following tools, categorized by whether they require API authentication.
fetch_account_balance: Fetches the current account balance.
fetch_deposit_address: Fetches the deposit address for a currency.
withdraw_cryptocurrency: Withdraws cryptocurrency to a specified address.
fetch_open_positions: Fetches open positions (primarily for futures/derivatives).
set_trading_leverage: Sets leverage for a trading symbol (primarily for futures).
create_spot_limit_order: Places a new spot limit order.
create_spot_market_order: Places a new spot market order.
create_futures_limit_order: Places a new futures limit order.
create_futures_market_order: Places a new futures market order.
cancel_order: Cancels an existing open order.
fetch_order_history: Fetches the history of orders (open/closed).
fetch_my_trade_history: Fetches the history of trades executed by the user.
fetch_ohlcv: Fetches historical OHLCV (candlestick) data.
fetch_funding_rate: Fetches the funding rate for a perpetual futures contract.
fetch_long_short_ratio: Fetches the long/short ratio (requires exchange-specific params).
fetch_option_contract_data: Fetches market data for an options contract.
fetch_market_ticker: Fetches the latest price ticker data for a symbol.
fetch_public_market_trades: Fetches recent public trades for a symbol.
-
calculate_technical_indicator_tool: Fetches OHLCV data and calculates a specified technical indicator (e.g., RSI, SMA, EMA, MACD, Bollinger Bands, Stochastic Oscillator, Average True Range (ATR)).
Each tool has detailed parameter descriptions available via the MCP protocol itself, thanks to the use of
Annotated and pydantic.Field.Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"ccxt mcp server": {
"ccxt-mcp-server": {
"command": "python",
"args": [
"-m",
"venv",
".venv"
]
}
}
}
}
McpServers
{
"ccxt-mcp-server": {
"command": "python",
"args": [
"-m",
"venv",
".venv"
]
}
}
This project provides a Model Context Protocol (MCP) server that exposes various functions from the CCXT library as tools for Large Language Models (LLMs).
It allows LLMs to interact with cryptocurrency exchanges for tasks like fetching balances, market data, creating orders, and more, in a standardized and asynchronous way.
This server is built using FastMCP, which simplifies the process of creating MCP servers in Python.
Features
CCXT Integration: Wraps common CCXT functions for exchange interaction.
Asynchronous: Built using asyncio and ccxt.async_support for efficient non-blocking operations.
Clear Tool Definitions: Uses typing.Annotated and pydantic.Field for clear parameter descriptions and constraints, making it easier for LLMs (and developers) to understand and use the tools.
Authentication Handling: Supports API key, secret, and passphrase authentication for private endpoints.
Public & Private Tools: Provides separate tools for public market data and private account actions.
Installation
1. Clone the repository (if you haven't already):
git clone https://github.com/jcwleo/ccxt-mcp-server.git
cd ccxt-mcp-server
2. Create and activate a virtual environment (recommended):
python -m venv .venv
source .venv/bin/activate # On Windows use .venv\Scripts\activate
3. Install dependencies:
The required libraries are listed in requirements.txt. You can install them using pip or uv.
Using pip:
pip install -r requirements.txt
* Using
uv (if installed): uv pip install -r requirements.txt
# Or, if you prefer uv's environment management:
# uv sync
Running the Server
Once the dependencies are installed, you can run the MCP server directly:
uv run uvicorn mcp_server:app
You should see output indicating the server has started, similar to:
```
Starting CCXT MCP Server (Async with Annotated Params and Tool Metadata)...
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



