CCXT MCP Server
CCXT MCP Server
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-mcpRelated 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
Откройте настройки Claude Desktop:
Перейдите в меню настроек в приложении Claude Desktop
Найдите раздел "MCP Servers"
Добавьте новый MCP-сервер:
Нажмите кнопку "Add Server"
Имя сервера:
ccxt-mcpКоманда:
npx @lazydino/ccxt-mcpДополнительные аргументы (необязательно):
--config /path/to/config.json
Сохраните и протестируйте сервер:
Сохраните настройки
Проверьте соединение с помощью кнопки "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: Использование отдельного файла конфигурации (продвинутый метод)
Чтобы вынести информацию об аккаунте в отдельный файл конфигурации, настройте его следующим образом:
Создайте отдельный файл конфигурации (например,
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>в запросах.
Укажите путь к файлу конфигурации в настройках 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.
Запуск с внешним файлом конфигурации из командной строки:
# 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Пользователь: Запросы типа "Скажи мне цену Биткоина" или "Купи Эфириум на моем аккаунте Binance"
Модель ИИ: Понимает запросы пользователя и определяет, какие инструменты/ресурсы MCP использовать
Протокол MCP: Стандартизированная связь между ИИ и сервером CCXT MCP
Сервер CCXT MCP: Взаимодействует с API криптовалютных бирж с помощью библиотеки CCXT
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 buildDocker
Сборка и запуск с помощью Docker Compose
Создайте файл конфигурации:
cp config/ccxt-config.example.json config/ccxt-config.jsonЗатем введите свои реальные API-ключи в config/ccxt-config.json.
Также установите mcpBearerToken в том же файле конфигурации.
2. Соберите образ:
docker compose buildЗапустите MCP-сервер в фоновом режиме (режим SSE на localhost:2298):
docker compose up -dПроверьте локальный эндпоинт работоспособности:
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 на этой машине.
Скопируйте
ccxt-mcp.nginxв папку конфигурации Nginx и обновите пути к сертификатам:
sudo cp ccxt-mcp.nginx /etc/nginx/conf.d/ccxt-mcp.confОтредактируйте
/etc/nginx/conf.d/ccxt-mcp.confи установите:
ssl_certificatessl_certificate_keyПересылка заголовка авторизации (уже включена в этот файл)
Перезагрузите Nginx:
sudo nginx -t && sudo systemctl reload nginxВ вашем MCP-клиенте настройте URL MCP-сервера на ваш TLS-эндпоинт:
URL SSE:
https://YOUR_HOSTNAME_OR_IP:42299/sseURL сообщений:
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— это HTTPS2298происходит от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!
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