Skip to main content
Glama

CCXT MCP Server

npm version npm downloads GitHub stars License: MIT

한국어 버전(Корейская версия)

CCXT MCP Server — это сервер, который позволяет моделям ИИ взаимодействовать с API криптовалютных бирж через Model Context Protocol (MCP). Этот сервер использует библиотеку CCXT для обеспечения доступа к более чем 100 криптовалютным биржам и их торговым возможностям.

🚀 Быстрый старт

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

# Run with default settings
ccxt-mcp

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

Related MCP server: EVM MCP Server

Установка и использование

Глобальная установка

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

Запуск с помощью npx

Вы можете запустить его напрямую без установки:

# Using default settings
npx @lazydino/ccxt-mcp

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

Просмотр справки:

npx @lazydino/ccxt-mcp --help

Конфигурация

Регистрация MCP-сервера в Claude Desktop

  1. Откройте настройки Claude Desktop:

    • Перейдите в меню настроек в приложении Claude Desktop

    • Найдите раздел "MCP Servers"

  2. Добавьте новый MCP-сервер:

    • Нажмите кнопку "Add Server"

    • Имя сервера: ccxt-mcp

    • Команда: npx @lazydino/ccxt-mcp

    • Дополнительные аргументы (необязательно): --config /path/to/config.json

  3. Сохраните и протестируйте сервер:

    • Сохраните настройки

    • Проверьте соединение с помощью кнопки "Test Connection"

Методы конфигурации — два варианта

Вариант 1: Включение информации об аккаунте непосредственно в настройки Claude Desktop (базовый метод)

Этот метод включает информацию об аккаунте CCXT непосредственно в файл настроек Claude Desktop (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"
        }
      ]
    }
  }
}

При использовании этого метода вам не нужен отдельный файл конфигурации. Все настройки интегрированы в файл конфигурации Claude Desktop.

Вариант 2: Использование отдельного файла конфигурации (продвинутый метод)

Чтобы вынести информацию об аккаунте в отдельный файл конфигурации, настройте его следующим образом:

  1. Создайте отдельный файл конфигурации (например, 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"
    }
  ]
}

Важно: Файл конфигурации должен содержать массив accounts на корневом уровне, как показано выше.

Важно: Если вы запускаете сервер в режиме HTTP+SSE (--sse), установите mcpBearerToken в том же файле конфигурации. Клиенты должны отправлять Authorization: Bearer <mcpBearerToken> в запросах.

  1. Укажите путь к файлу конфигурации в настройках Claude Desktop:

{
  "mcpServers": {
    "ccxt-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@lazydino/ccxt-mcp",
        "--config",
        "/path/to/ccxt-config.json"
      ]
    }
  }
}

Примечание: При использовании отдельного файла конфигурации с опцией --config сервер будет искать массив accounts непосредственно в корне JSON-файла, а не по пути mcpServers.ccxt-mcp.accounts.

  1. Запуск с внешним файлом конфигурации из командной строки:

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

Пример файла конфигурации можно найти в config/ccxt-config.example.json в репозитории.

Причины использовать отдельный файл конфигурации:

  • Предотвращает проблемы с рекурсивными ссылками

  • Отделяет конфиденциальную информацию, такую как API-ключи

  • Упрощает настройку для нескольких сред (разработка, тестирование, продакшн)

  • Улучшенный контроль версий файла конфигурации

Основные возможности

  • Получение рыночной информации:

    • Список бирж

    • Просмотр рыночной информации по биржам

    • Получение информации о ценах для конкретных символов

    • Просмотр информации о книге ордеров для конкретных символов

    • Поиск исторических данных OHLCV

  • Торговые функции:

    • Создание рыночных/лимитных ордеров

    • Отмена ордеров и проверка статуса

    • Просмотр балансов аккаунтов

    • Проверка истории торгов

  • Торговый анализ:

    • Анализ дневной/недельной/месячной эффективности

    • Расчет винрейта (за последние 7 дней, 30 дней, за все время)

    • Среднее соотношение прибыли/убытка (R-multiple)

    • Анализ максимальных серий убытков/прибылей

    • Отслеживание изменения активов

    • Комплексные показатели эффективности

    • Распознавание торговых паттернов

    • Расчет доходности по периодам

  • Управление позициями:

    • Торговля с учетом коэффициента капитала (например, вход с 5% капитала аккаунта)

    • Настройка кредитного плеча на фьючерсном рынке (1-100x)

    • Динамический размер позиции (на основе волатильности)

    • Реализация стратегии раздельной покупки/продажи

  • Управление рисками:

    • Установка стоп-лосса на основе технических индикаторов (например, самая низкая точка среди 10 свечей на 5-минутном графике)

    • Стоп-лосс/тейк-профит на основе волатильности (множители ATR)

    • Лимит максимально допустимого убытка (дневной/недельный)

    • Динамическая настройка тейк-профита (трейлинг-профит)

Как это работает

User <--> AI Model(Claude/GPT) <--> MCP Protocol <--> CCXT MCP Server <--> Cryptocurrency Exchange API
  1. Пользователь: Запросы типа "Скажи мне цену Биткоина" или "Купи Эфириум на моем аккаунте Binance"

  2. Модель ИИ: Понимает запросы пользователя и определяет, какие инструменты/ресурсы MCP использовать

  3. Протокол MCP: Стандартизированная связь между ИИ и сервером CCXT MCP

  4. Сервер CCXT MCP: Взаимодействует с API криптовалютных бирж с помощью библиотеки CCXT

  5. API биржи: Предоставляет фактические данные и выполняет торговые ордера

Использование с моделями ИИ

После регистрации в Claude Desktop вы можете делать следующие типы запросов к моделям ИИ:

Предостережения и рекомендуемые промпты

При использовании моделей ИИ учитывайте следующие предостережения и используйте приведенный ниже промпт для эффективной торговли:

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

Примечания:

  • Модели ИИ иногда путают фьючерсную торговлю со спотовой.

  • Без четких указаний по размеру торгового капитала ИИ может запутаться.

  • Использование вышеуказанного промпта помогает четко донести ваши торговые намерения.

Примеры базовых запросов

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

Примеры продвинутых торговых запросов

Управление позициями

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.

Анализ эффективности

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.

Детальная торговая аналитика

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.

Разработка

Сборка из исходного кода

# 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

Сборка и запуск с помощью Docker Compose

  1. Создайте файл конфигурации:

cp config/ccxt-config.example.json config/ccxt-config.json

Затем введите свои реальные API-ключи в config/ccxt-config.json. Также установите mcpBearerToken в том же файле конфигурации. 2. Соберите образ:

docker compose build
  1. Запустите MCP-сервер в фоновом режиме (режим SSE на localhost:2298):

docker compose up -d
  1. Проверьте локальный эндпоинт работоспособности:

curl -H "Authorization: Bearer YOUR_MCP_TOKEN" http://127.0.0.1:2298/healthz

Эта конфигурация Compose запускает MCP через HTTP+SSE (/sse + /messages) на localhost:2298 для обратного проксирования.

Конфигурация удаленного MCP-клиента

Если ваш MCP-клиент работает на другом хосте, используйте обратный прокси-сервер Nginx на этой машине.

  1. Скопируйте ccxt-mcp.nginx в папку конфигурации Nginx и обновите пути к сертификатам:

sudo cp ccxt-mcp.nginx /etc/nginx/conf.d/ccxt-mcp.conf
  1. Отредактируйте /etc/nginx/conf.d/ccxt-mcp.conf и установите:

  • ssl_certificate

  • ssl_certificate_key

  • Пересылка заголовка авторизации (уже включена в этот файл)

  1. Перезагрузите Nginx:

sudo nginx -t && sudo systemctl reload nginx
  1. В вашем MCP-клиенте настройте URL MCP-сервера на ваш TLS-эндпоинт:

  • URL SSE: https://YOUR_HOSTNAME_OR_IP:42299/sse

  • URL сообщений: https://YOUR_HOSTNAME_OR_IP:42299/messages

  • Заголовок: Authorization: Bearer YOUR_MCP_TOKEN

Вы можете сгенерировать надежный токен с помощью:

openssl rand -hex 32

Пример конфигурации:

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

Примечание по портам:

  • 42298 — это HTTP (только перенаправление)

  • 42299 — это HTTPS

  • 2298 происходит от CCXT на клавиатуре телефона

Если ваш MCP-клиент принимает командные MCP-серверы вместо конфигурации URL, настройте ccxt-mcp с помощью:

  • Команда: docker

  • Аргументы:

[
  "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"
]

Сначала соберите образ с помощью docker compose build.

🤝 Участие в разработке

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять Pull Request.

📄 Лицензия

Распространяется по лицензии MIT. Дополнительную информацию см. в файле LICENSE.

❤️ Поддержка

Если вы находите этот проект полезным, пожалуйста, поставьте ему ⭐️ на GitHub!

Install Server
A
license - permissive license
B
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lazy-dinosaur/ccxt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server