Skip to main content
Glama
jcwleo
by jcwleo

CCXT MCP-сервер

значок кузнеца

Этот проект предоставляет сервер Model Context Protocol (MCP), который предоставляет различные функции из библиотеки CCXT в качестве инструментов для больших языковых моделей (LLM).

Он позволяет LLM взаимодействовать с криптовалютными биржами для выполнения таких задач, как получение балансов, рыночных данных, создание заказов и т. д., стандартизированным и асинхронным способом.

Этот сервер создан с использованием FastMCP , что упрощает процесс создания серверов MCP на Python.

Функции

  • Интеграция CCXT : Оборачивает общие функции CCXT для обмена взаимодействием.

  • Асинхронный : создан с использованием asyncio и ccxt.async_support для эффективных неблокирующих операций.

  • Понятные определения инструментов : использует typing.Annotated и pydantic.Field для понятных описаний параметров и ограничений, что упрощает понимание и использование инструментов для специалистов LLM (и разработчиков).

  • Обработка аутентификации : поддерживает аутентификацию с помощью ключа API, секрета и парольной фразы для частных конечных точек.

  • Публичные и частные инструменты : предоставляет отдельные инструменты для публичных рыночных данных и действий с частными счетами.

Related MCP server: MCP Ethers Wallet

Установка

  1. Клонируйте репозиторий (если вы еще этого не сделали):

    git clone https://github.com/jcwleo/ccxt-mcp-server.git cd ccxt-mcp-server
  2. Создать и активировать виртуальную среду (рекомендуется):

    python -m venv .venv source .venv/bin/activate # On Windows use `.venv\Scripts\activate`
  3. Установка зависимостей: Необходимые библиотеки перечислены в requirements.txt . Вы можете установить их с помощью pip или uv .

    • Используя

      pip install -r requirements.txt
    • Используя

      uv pip install -r requirements.txt # Or, if you prefer uv's environment management: # uv sync

Запуск сервера

После установки зависимостей вы можете запустить сервер MCP напрямую:

uv run mcp_server.py

Вы должны увидеть вывод, указывающий на то, что сервер запущен, примерно такой:

Starting CCXT MCP Server (Async with Annotated Params and Tool Metadata)... # ... (FastMCP server startup logs)

После этого сервер станет доступен для подключения клиентов MCP (обычно через порт по умолчанию, управляемый FastMCP, если не настроено иное).

Конфигурация сервера MCP (для клиентов MCP)

Если вы используете клиент MCP, требующий ручной настройки сервера (например, приложение Claude для настольных ПК), вам необходимо предоставить конфигурацию, аналогичную следующему JSON.

Создайте файл claude_desktop_config.json (или эквивалент для вашего клиента MCP) со следующей структурой:

{ "mcpServers": { "ccxt-mcp-server": { "command": "uv", "args": [ "--directory", "/path/to/your/ccxt-mcp-server", "run", "mcp_server.py" ] } } }

Важный:

  • Замените "/path/to/your/ccxt-mcp-server"фактическим абсолютным путем к каталогу, в который вы клонировали или загрузили этот проект ccxt-mcp-server (т. е. каталогу, содержащему mcp_server.py ).

  • "command" и "args" будут зависеть от того, как вы запускаете проекты Python и используете ли вы uv или виртуальную среду. В примере выше используется uv .

    • Если вы используете виртуальную среду напрямую с python , команда может выглядеть так:

      { "mcpServers": { "ccxt-mcp-server": { "command": "/path/to/your/.venv/bin/python", // Or `python.exe` on Windows "args": [ "mcp_server.py" ], "workingDirectory": "/path/to/your/ccxt-mcp-server" } } }

      Убедитесь, что command указывает на исполняемый файл Python в вашей виртуальной среде, а workingDirectory установлен в корневой каталог проекта.

Эта конфигурация сообщает вашему клиенту MCP, как запуститься и взаимодействовать с сервером CCXT MCP.

Доступные инструменты MCP

Этот сервер предоставляет следующие инструменты, отсортированные по необходимости аутентификации API.

Инструменты, требующие аутентификации API (частные)

  • fetch_account_balance : Извлекает текущий баланс счета.

  • fetch_deposit_address : извлекает адрес депозита для валюты.

  • withdraw_cryptocurrency : Выводит криптовалюту на указанный адрес.

  • fetch_open_positions : извлекает открытые позиции (в основном для фьючерсов/деривативов).

  • set_trading_leverage : Устанавливает кредитное плечо для торгового символа (в основном для фьючерсов).

  • create_spot_limit_order : размещает новый спотовый лимитный ордер.

  • create_spot_market_order : размещает новый ордер на спотовом рынке.

  • create_futures_limit_order : размещает новый лимитный ордер на фьючерс.

  • create_futures_market_order : размещает новый ордер на фьючерсном рынке.

  • cancel_order : Отменяет существующий открытый заказ.

  • fetch_order_history : Извлекает историю заказов (открытых/закрытых).

  • fetch_my_trade_history : Извлекает историю сделок, совершенных пользователем.

Инструменты для публичных данных (аутентификация не требуется)

  • fetch_ohlcv : извлекает исторические данные OHLCV (японские свечи).

  • fetch_funding_rate : извлекает ставку финансирования для бессрочного фьючерсного контракта.

  • fetch_long_short_ratio : извлекает соотношение длинных и коротких позиций (требуются params , специфичные для биржи).

  • fetch_option_contract_data : извлекает рыночные данные для опционного контракта.

  • fetch_market_ticker : извлекает последние данные ценового тикера для символа.

  • fetch_public_market_trades : извлекает последние публичные сделки для символа.

Каждый инструмент имеет подробные описания параметров, доступные через сам протокол MCP благодаря использованию Annotated и pydantic.Field .

Заметки об использовании

  • Фьючерсы/опционы : при использовании инструментов, связанных с фьючерсами или опционами (например, fetch_open_positions , create_futures_limit_order , fetch_funding_rate ), убедитесь, что вы правильно настроили клиент CCXT с помощью аргумента params , в частности, передав {'options': {'defaultType': 'future'}} (или 'swap' , 'option' по мере необходимости), если биржа требует этого или не использует по умолчанию желаемый тип рынка.

  • fetch_long_short_ratio : Это не стандартный унифицированный метод CCXT. Вы должны указать конкретное имя метода обмена и его параметры в аргументе params (например, params={'method_name': 'fapiPublicGetGlobalLongShortAccountRatio', 'method_params': {'symbol': 'BTCUSDT', 'period': '5m'}} для фьючерсов Binance).

  • Обработка ошибок : инструменты возвращают словарь с ключом "error" если во время вызова CCXT возникает проблема.

-
security - not tested
A
license - permissive license
-
quality - not tested

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/jcwleo/ccxt-mcp-server'

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