CCXT MCP Server

by lazydinosaur

CCXT MCP Server allows AI models to interact with cryptocurrency exchange APIs via the Model Context Protocol using the CCXT library, supporting over 100 exchanges. Configuration can be done via direct settings in Claude Desktop or using a separate JSON config file specified by the --config option.

Financestdio or Streamable HTTPCommunity

Repository-wide counts · Cached 2025-10-28

Overview

The CCXT MCP Server MCP server is a publicly available project. Review the upstream repository for installation instructions, supported tools, compatibility, permissions, and current maintenance status.

Configuration

Configuration, transport, authentication, and runtime requirements vary by project. Open the repository before connecting and use the smallest set of credentials and permissions required.

Open the CCXT MCP Server repository to read the latest documentation.

KEEP EXPLORING

Compare source, connection, and authentication details before choosing an implementation.

View the complete category

Financial Datasets MCP Server

financial-datasets

Community

一个模型上下文协议(MCP)服务器,提供股票市场数据的访问,包括财务报表(收入表、资产负债表、现金流量表)、股票价格和市场新闻。需要通过环境变量 FINANCIAL_DATASETS_API_KEY 设置 API 密钥,配置在 .env 文件中。

stock-api

zhangxiangliang

Community

TypeScript stock market data tool supporting A-share, Hong Kong, and US stock quotes. Supports Node.js, browser, CLI, and MCP usage with zero runtime dependencies. No external data files required.

a-share-mcp

24mlight

Community

A MCP 服务器,专注于A股市场,提供股票基础信息、历史K线数据、财务指标、宏观经济数据等。采用Baostock作为数据源,无需付费账户。

Augur

BruceLanLan

Community

Augur is a local research memory system designed to help you remember when you knew what, what changed, and who disagreed on what facts. It is not an AI stock recommendation tool but a multi-agent investment analysis system with 18 investor persona agents, consensus mechanism, and multi-platform deployment. Requires Python 3.9+ (3.10+ for MCP features). External data files are stored locally in ~/.augur by default, configurable via the AUGUR_DATA_DIR environment variable.

FROM THE SOURCE

Repository README

Build-time snapshot · Retrieved 2026-10-05

View original

CCXT MCP Server

npm version npm downloads GitHub stars License: MIT

한국어 버전(Korean version)

CCXT MCP Server is a server that allows AI models to interact with cryptocurrency exchange APIs through the Model Context Protocol (MCP). This server uses the CCXT library to provide access to more than 100 cryptocurrency exchanges and their trading capabilities.

🚀 Quick Start

# Install the package globally
npm install -g @lazydino/ccxt-mcp

# Run with default settings
ccxt-mcp

# or run without installation
npx @lazydino/ccxt-mcp

Installation and Usage

Global Installation

# Install the package globally
npm install -g @lazydino/ccxt-mcp

Running with npx

You can run it directly without installation:

# Using default settings
npx @lazydino/ccxt-mcp

# Using custom configuration file
npx @lazydino/ccxt-mcp --config /path/to/config.json

View help:

npx @lazydino/ccxt-mcp --help

Configuration

Registering the MCP Server in Claude Desktop

  1. Open Claude Desktop Settings:

    • Go to the Settings menu in the Claude Desktop app
    • Find the "MCP Servers" section
  2. Add a New MCP Server:

    • Click the "Add Server" button
    • Server name: ccxt-mcp
    • Command: npx @lazydino/ccxt-mcp
    • Additional arguments (optional): --config /path/to/config.json
  3. Save and Test the Server:

    • Save the settings
    • Test the connection with the "Test Connection" button

Configuration Methods - Two Options

Option 1: Include Account Information Directly in Claude Desktop Settings (Basic Method)

This method includes CCXT account information directly in the Claude Desktop settings file (claude_desktop_config.json):

{
  "mcpServers": {
    "ccxt-mcp": {
      "command": "npx",
      "args": ["-y", "@lazydino/ccxt-mcp"],
      "mcpBearerToken": "YOUR_MCP_TOKEN",
      "accounts": [
        {
          "name": "bybit_main",
          "exchangeId": "bybit",
          "apiKey": "YOUR_API_KEY",
          "secret": "YOUR_SECRET_KEY",
          "defaultType": "spot"
        },
        {
          "name": "bybit_futures",
          "exchangeId": "bybit",
          "apiKey": "YOUR_API_KEY",
          "secret": "YOUR_SECRET_KEY",
          "defaultType": "swap"
        }
      ]
    }
  }
}

Using this method, you don't need a separate configuration file. All settings are integrated into the Claude Desktop configuration file.

Option 2: Using a Separate Configuration File (Advanced Method)

To separate account information into a separate configuration file, set up as follows:

  1. Create a Separate Configuration File (e.g., ccxt-config.json):
{
  "mcpBearerToken": "YOUR_MCP_TOKEN",
  "accounts": [
    {
      "name": "bybit_main",
      "exchangeId": "bybit",
      "apiKey": "YOUR_API_KEY",
      "secret": "YOUR_SECRET_KEY",
      "defaultType": "spot"
    },
    {
      "name": "bybit_futures",
      "exchangeId": "bybit",
      "apiKey": "YOUR_API_KEY",
      "secret": "YOUR_SECRET_KEY",
      "defaultType": "swap"
    }
  ]
}

Important: The configuration file must contain an accounts array at the root level, as shown above.

Important: If you run the server in HTTP+SSE mode (--sse), set mcpBearerToken in the same config file. Clients must send Authorization: Bearer <mcpBearerToken> on requests.

  1. Specify the Configuration File Path in Claude Desktop Settings:
{
  "mcpServers": {
    "ccxt-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@lazydino/ccxt-mcp",
        "--config",
        "/path/to/ccxt-config.json"
      ]
    }
  }
}

Note: When using a separate configuration file with the --config option, the server will look for the accounts array directly in the root of the JSON file, not in mcpServers.ccxt-mcp.accounts path.

  1. Running with External Configuration File from Command Line:
# Using custom configuration file
npx @lazydino/ccxt-mcp --config /path/to/ccxt-config.json

You can find an example configuration file at config/ccxt-config.example.json in the repository.

Reasons to Use a Separate Configuration File:

  • Prevents recursive reference issues
  • Separates sensitive information like API keys
  • Easier multi-environment configuration (development, testing, production)
  • Improved configuration file version control

Key Features

  • Market Information Retrieval:

    • List exchanges
    • View market information by exchange
    • Get price information for specific symbols
    • View order book information for specific symbols
    • Search historical OHLCV data
  • Trading Functions:

    • Create market/limit orders
    • Cancel orders and check status
    • View account balances
    • Check trading history
  • Trading Analysis:

    • Daily/weekly/monthly performance analysis
    • Win rate calculation (last 7 days, 30 days, all time)
    • Average profit/loss ratio (R-multiple)
    • Maximum consecutive loss/profit series analysis
    • Asset variation tracking
    • Comprehensive performance metrics
    • Trade pattern recognition
    • Period-based return calculations
  • Position Management:

    • Capital ratio trading (e.g., enter with 5% of account capital)
    • Futures market leverage setting (1-100x)
    • Dynamic position sizing (volatility-based)
    • Split buy/sell strategy implementation
  • Risk Management:

    • Technical indicator-based stop loss setting (e.g., lowest point among 10 candles on 5-minute chart)
    • Volatility-based stop loss/take profit (ATR multiples)
    • Maximum allowable loss limit (daily/weekly)
    • Dynamic take profit setting (trailing profit)

How It Works

User <--> AI Model(Claude/GPT) <--> MCP Protocol <--> CCXT MCP Server <--> Cryptocurrency Exchange API
  1. User: Requests like "Tell me the Bitcoin price" or "Buy Ethereum on my Binance account"
  2. AI Model: Understands user requests and determines which MCP tools/resources to use
  3. MCP Protocol: Standardized communication between AI and CCXT MCP server
  4. CCXT MCP Server: Communicates with cryptocurrency exchange APIs using the CCXT library
  5. Exchange API: Provides actual data and executes trade orders

Using with AI Models

When registered with Claude Desktop, you can make the following types of requests to AI models:

When using AI models, consider the following cautions and use the prompt below for effective trading:

Your goal is to execute trades using the ccxt tools as much as possible
Cautions:
- Accurately identify whether it's a futures market or spot market before proceeding with trades
- If there's no instruction about percentage of capital or amount to use, always calculate and execute trades using the entire available capital

Notes:

  • AI models sometimes confuse futures trading with spot trading.
  • Without clear guidance on trading capital size, AI might get confused.
  • Using the above prompt helps clearly communicate your trading intentions.

Basic Query Examples

Check and compare the current Bitcoin price on binance and coinbase.

Advanced Trading Query Examples

Position Management

Open a long position on BTC/USDT futures market in my Bybit account (bybit_futures) with 5% of capital using 10x leverage.
Enter based on moving average crossover strategy and set stop loss at the lowest point among the 12 most recent 5-minute candles.

Performance Analysis

Analyze my Binance account (bybit_main) trading records for the last 7 days and show me the win rate, average profit, and maximum consecutive losses.

Detailed Trading Analytics

Analyze my trading performance on the bybit_futures account for BTC/USDT over the last 30 days. Calculate win rate, profit factor, and identify any patterns in my winning trades.
Show me the monthly returns for my bybit_main account over the past 90 days and identify my best and worst trading months.
Analyze my consecutive wins and losses on my bybit_futures account and tell me if I have any psychological patterns affecting my trading after losses.

Development

Building from Source

# Clone repository
git clone https://github.com/lazy-dinosaur/ccxt-mcp.git

# Navigate to project directory
cd ccxt-mcp

# Install dependencies
npm install

# Build
npm run build

Docker

Build and Run with Docker Compose

  1. Create a config file:
cp config/ccxt-config.example.json config/ccxt-config.json

Then fill in your real API keys in config/ccxt-config.json. Also set mcpBearerToken in that same config file. 2. Build image:

docker compose build
  1. Start the MCP server in background (SSE mode on localhost:2298):
docker compose up -d
  1. Verify local health endpoint:
curl -H "Authorization: Bearer YOUR_MCP_TOKEN" http://127.0.0.1:2298/healthz

This Compose setup runs MCP over HTTP+SSE (/sse + /messages) on localhost:2298 for reverse proxying.

Remote MCP Client Configuration

If your MCP client runs on another host, use an Nginx reverse proxy on this machine.

  1. Copy ccxt-mcp.nginx to your Nginx config location and update certificate paths:
sudo cp ccxt-mcp.nginx /etc/nginx/conf.d/ccxt-mcp.conf
  1. Edit /etc/nginx/conf.d/ccxt-mcp.conf and set:
  • ssl_certificate
  • ssl_certificate_key
  • Authorization header forwarding (already included in this file)
  1. Reload Nginx:
sudo nginx -t && sudo systemctl reload nginx
  1. In your MCP client, configure the MCP server URL to your TLS endpoint:
  • SSE URL: https://YOUR_HOSTNAME_OR_IP:42299/sse
  • Messages URL: https://YOUR_HOSTNAME_OR_IP:42299/messages
  • Header: Authorization: Bearer YOUR_MCP_TOKEN

You can generate a strong token with:

openssl rand -hex 32

Config example:

{
  "mcpBearerToken": "YOUR_MCP_TOKEN",
  "accounts": [
    {
      "name": "bybit_main",
      "exchangeId": "bybit",
      "apiKey": "YOUR_API_KEY",
      "secret": "YOUR_SECRET_KEY"
    }
  ]
}

Port note:

  • 42298 is HTTP (redirect only)
  • 42299 is HTTPS
  • 2298 comes from CCXT on a phone keypad

If your MCP client accepts command-based MCP servers instead of URL configuration, configure ccxt-mcp with:

  • Command: docker
  • Args:
[
  "run",
  "--rm",
  "-i",
  "-p",
  "127.0.0.1:2298:2298",
  "-v",
  "/absolute/path/to/ccxt-mcp/config/ccxt-config.json:/config/ccxt-config.json:ro",
  "ccxt-mcp:local",
  "--sse",
  "--host",
  "0.0.0.0",
  "--port",
  "2298",
  "--config",
  "/config/ccxt-config.json"
]

Build the image first with docker compose build.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

Distributed under the MIT License. See the LICENSE file for more information.

❤️ Support

If you find this project useful, please consider giving it a ⭐️ on GitHub!