Skip to main content
Glama
drasticstatic

hummingbot-mcp

Рабочая копия drasticstatic — используется торговой системой Fortuna. Это независимый репозиторий, созданный на основе локального клона hummingbot/mcp. Апстрим отслеживается как удаленный репозиторий для добровольного сравнения — изменения проверяются перед применением.

# Check for upstream updates (review before applying)
git fetch upstream && git log upstream/main --oneline

MCP-сервер Hummingbot

MCP-сервер (Model Context Protocol), который позволяет Claude и Gemini CLI взаимодействовать с Hummingbot для автоматизированной торговли криптовалютой на различных биржах.

Установка и настройка

Вариант 1: Использование uv (рекомендуется для разработки)

  1. Установите uv (если еще не установлен):

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Клонируйте репозиторий и установите зависимости:

    git clone https://github.com/hummingbot/mcp
    cd mcp
    uv sync
  3. Создайте файл .env:

    cp .env.example .env
  4. Отредактируйте файл .env, указав свои учетные данные API Hummingbot:

    HUMMINGBOT_API_URL=http://localhost:8000
    HUMMINGBOT_USERNAME=admin
    HUMMINGBOT_PASSWORD=admin
  5. Настройте в Claude Code или Gemini CLI:

    {
      "mcpServers": {
        "hummingbot-mcp": {
          "type": "stdio",
          "command": "uv",
          "args": [
            "--directory",
            "/path/to/mcp",
            "run",
            "main.py"
          ]
        }
      }
    }

    Примечание: Обязательно замените /path/to/mcp на фактический путь к вашему каталогу MCP.

Вариант 2: Использование Docker (рекомендуется для продакшена)

  1. Создайте файл .env:

    touch .env
  2. Отредактируйте файл .env, указав свои учетные данные API Hummingbot:

    HUMMINGBOT_API_URL=http://localhost:8000
    HUMMINGBOT_USERNAME=admin
    HUMMINGBOT_PASSWORD=admin

    Важно: При запуске MCP-сервера в Docker и подключении к API Hummingbot на хосте:

    • Linux: Используйте --network host (см. ниже), чтобы разрешить контейнеру доступ к localhost:8000

    • Mac/Windows: Измените HUMMINGBOT_API_URL на http://host.docker.internal:8000

  3. Загрузите Docker-образ:

    docker pull hummingbot/hummingbot-mcp:latest
  4. Настройте в Claude Code или Gemini CLI:

    Для Linux (с использованием --network host):

    {
      "mcpServers": {
        "hummingbot-mcp": {
          "type": "stdio",
          "command": "docker",
          "args": [
            "run",
            "--rm",
            "-i",
            "--network",
            "host",
            "--env-file",
            "/path/to/mcp/.env",
            "-v",
            "$HOME/.hummingbot_mcp:/root/.hummingbot_mcp",
            "hummingbot/hummingbot-mcp:latest"
          ]
        }
      }
    }

    Для Mac/Windows:

    {
      "mcpServers": {
        "hummingbot-mcp": {
          "type": "stdio",
          "command": "docker",
          "args": [
            "run",
            "--rm",
            "-i",
            "--env-file",
            "/path/to/mcp/.env",
            "-v",
            "$HOME/.hummingbot_mcp:/root/.hummingbot_mcp",
            "hummingbot/hummingbot-mcp:latest"
          ]
        }
      }
    }

    (Не забудьте установить HUMMINGBOT_API_URL=http://host.docker.internal:8000 в вашем файле .env)

    Примечание: Обязательно замените /path/to/mcp на фактический путь к вашему каталогу MCP.

Облачное развертывание с Docker Compose

Для облачного развертывания, где API Hummingbot и MCP-сервер работают на одном сервере:

  1. Создайте файл .env:

    touch .env
  2. Отредактируйте файл .env, указав свои учетные данные API Hummingbot:

    HUMMINGBOT_API_URL=http://localhost:8000
    HUMMINGBOT_USERNAME=admin
    HUMMINGBOT_PASSWORD=admin
  3. Создайте docker-compose.yml:

    services:
      hummingbot-api:
        container_name: hummingbot-api
        image: hummingbot/hummingbot-api:latest
        ports:
          - "8000:8000"
        volumes:
          - ./bots:/hummingbot-api/bots
          - /var/run/docker.sock:/var/run/docker.sock
        environment:
          - USERNAME=admin
          - PASSWORD=admin
          - BROKER_HOST=emqx
          - DATABASE_URL=postgresql+asyncpg://hbot:hummingbot-api@postgres:5432/hummingbot_api
        networks:
          - emqx-bridge
        depends_on:
          - postgres
    
      mcp-server:
        container_name: hummingbot-mcp
        image: hummingbot/hummingbot-mcp:latest
        stdin_open: true
        tty: true
        env_file:
          - .env
        environment:
          - HUMMINGBOT_API_URL=http://hummingbot-api:8000
        depends_on:
          - hummingbot-api
        networks:
          - emqx-bridge
    
      # Include other services from hummingbot-api docker-compose.yml as needed
      emqx:
        container_name: hummingbot-broker
        image: emqx:5
        restart: unless-stopped
        environment:
          - EMQX_NAME=emqx
          - EMQX_HOST=node1.emqx.local
          - EMQX_CLUSTER__DISCOVERY_STRATEGY=static
          - EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.local]
          - EMQX_LOADED_PLUGINS="emqx_recon,emqx_retainer,emqx_management,emqx_dashboard"
        volumes:
          - emqx-data:/opt/emqx/data
          - emqx-log:/opt/emqx/log
          - emqx-etc:/opt/emqx/etc
        ports:
          - "1883:1883"
          - "8883:8883"
          - "8083:8083"
          - "8084:8084"
          - "8081:8081"
          - "18083:18083"
          - "61613:61613"
        networks:
          emqx-bridge:
            aliases:
              - node1.emqx.local
        healthcheck:
          test: [ "CMD", "/opt/emqx/bin/emqx_ctl", "status" ]
          interval: 5s
          timeout: 25s
          retries: 5
    
      postgres:
        container_name: hummingbot-postgres
        image: postgres:15
        restart: unless-stopped
        environment:
          - POSTGRES_DB=hummingbot_api
          - POSTGRES_USER=hbot
          - POSTGRES_PASSWORD=hummingbot-api
        volumes:
          - postgres-data:/var/lib/postgresql/data
        ports:
          - "5432:5432"
        networks:
          - emqx-bridge
        healthcheck:
          test: ["CMD-SHELL", "pg_isready -U hbot -d hummingbot_api"]
          interval: 10s
          timeout: 5s
          retries: 5
    
    networks:
      emqx-bridge:
        driver: bridge
    
    volumes:
      emqx-data: { }
      emqx-log: { }
      emqx-etc: { }
      postgres-data: { }
  4. Разверните:

    docker compose up -d
  5. Настройте в Claude Code или Gemini CLI подключение к существующему контейнеру:

    {
      "mcpServers": {
        "hummingbot-mcp": {
          "type": "stdio",
          "command": "docker",
          "args": [
            "exec",
            "-i",
            "hummingbot-mcp",
            "uv",
            "run",
            "main.py"
          ]
        }
      }
    }

    Примечание: Замените hummingbot-mcp на имя вашего фактического контейнера. Вы можете найти имя контейнера, выполнив:

    docker ps

Related MCP server: ai-trader

Настройка сервера

При первом запуске сервер создает конфигурацию по умолчанию на основе переменных окружения (или использует http://localhost:8000 с учетными данными по умолчанию). Конфигурация сохраняется в ~/.hummingbot_mcp/server.yml.

Использование инструмента configure_server

# Show the current server configuration
configure_server()

# Update the host and port
configure_server(host="192.168.1.100", port=8001)

# Update credentials
configure_server(username="admin", password="secure_password")

# Update everything at once
configure_server(
    name="production",
    host="prod-server",
    port=8000,
    username="admin",
    password="secure_password"
)

Изменяются только предоставленные параметры; пропущенные сохраняют свои текущие значения. Клиент автоматически переподключается после любого обновления.

Переменные окружения

В вашем файле .env для MCP-сервера можно задать следующие переменные окружения:

Переменная

По умолчанию

Описание

HUMMINGBOT_API_URL

http://localhost:8000

Начальный URL API-сервера по умолчанию (используется только при первом запуске)

HUMMINGBOT_USERNAME

admin

Начальное имя пользователя (используется только при первом запуске)

HUMMINGBOT_PASSWORD

admin

Начальный пароль (используется только при первом запуске)

HUMMINGBOT_TIMEOUT

30.0

Тайм-аут соединения в секундах

HUMMINGBOT_MAX_RETRIES

3

Максимальное количество попыток повторного подключения

HUMMINGBOT_RETRY_DELAY

2.0

Задержка между повторными попытками в секундах

HUMMINGBOT_LOG_LEVEL

INFO

Уровень логирования (DEBUG, INFO, WARNING, ERROR, CRITICAL)

Примечание: После первоначальной настройки используйте инструмент configure_server для обновления подключения к серверу. Переменные окружения используются только для создания начальной конфигурации по умолчанию.

Требования

  • Python 3.11+

  • Запущенный API-сервер Hummingbot

  • Действительные учетные данные API Hummingbot

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

MCP-сервер предоставляет инструменты для:

Управление сервером

  • configure_server: Просмотр или обновление активного подключения к API-серверу Hummingbot

    • Без параметров: показать текущую конфигурацию сервера

    • С параметрами: обновить и переподключиться

    • Конфигурация сохраняется в ~/.hummingbot_mcp/server.yml

Торговля и управление аккаунтом

  • Управление аккаунтом и настройка коннекторов

  • Балансы портфеля и распределение

  • Размещение и управление ордерами

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

  • Рыночные данные (цены, книги ордеров, свечи)

  • Ставки финансирования (funding rates)

  • Развертывание и управление ботами

  • Конфигурация контроллеров

Разработка

Для запуска сервера в режиме разработки:

uv run main.py

Для запуска тестов:

uv run pytest

Устранение неполадок

MCP-сервер теперь предоставляет исчерпывающие сообщения об ошибках, помогающие диагностировать проблемы с подключением и аутентификацией:

Ошибки подключения

Если вы видите сообщения об ошибках, такие как:

  • ❌ Cannot reach Hummingbot API at <url> — API-сервер не запущен или недоступен

  • ❌ Authentication failed when connecting to Hummingbot API — Неверное имя пользователя или пароль

  • ❌ Failed to connect to Hummingbot API — Общая ошибка подключения

Сообщения об ошибках будут включать:

  • Используемый точный URL

  • Ваше настроенное имя пользователя (пароль скрыт)

  • Конкретные предложения по исправлению проблемы

  • Ссылки на инструменты, такие как configure_server

Общие решения

  1. API не запущен:

    • Убедитесь, что ваш API-сервер Hummingbot запущен

    • Проверьте, доступен ли API по настроенному URL

  2. Неверные учетные данные:

    • Используйте инструмент configure_server для обновления учетных данных сервера

    • Или проверьте конфигурацию в файле .env

  3. Неверный URL:

    • Используйте инструмент configure_server для обновления URL сервера

    • Для Docker на Mac/Windows используйте host.docker.internal вместо localhost

  4. Проблемы с сетью Docker:

    • В Linux используйте --network host в конфигурации Docker

    • На Mac/Windows используйте host.docker.internal:8000 в качестве URL API

Предотвращение ошибок

MCP-сервер будет:

  • Не повторять попытки при сбоях аутентификации (ошибки 401) — он немедленно сообщит вам, что учетные данные неверны

  • Повторять попытки при сбоях подключения с полезными сообщениями о том, что может быть не так

  • Предоставлять контекст о том, работаете ли вы в Docker, и предлагать соответствующие исправления

  • Направлять вас к нужным инструментам (configure_server) для исправления проблем

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that enables Claude and Gemini CLI to interact with Hummingbot for automated cryptocurrency trading across multiple exchanges.
    11
    59
    Apache 2.0
  • A
    license
    -
    quality
    D
    maintenance
    Enables AI assistants like Claude to run backtests, fetch market data, list strategies, and analyze trading algorithms via natural language.
    995
    GPL 3.0
  • A
    license
    B
    quality
    B
    maintenance
    Provides 31 AI-powered crypto trading tools for Claude, Cursor, and any MCP client, enabling strategy creation, backtesting, bot deployment, copy trading, and portfolio management across multiple exchanges.
    34
    54
    MIT

View all related MCP servers

Related MCP Connectors

  • Trade Robinhood through natural language in Claude Code.

  • Trade, monitor portfolios, and build Coinrule strategies by chat.

  • MCP server for Gainium — manage trading bots, deals, and balances via AI assistants

View all MCP Connectors

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/drasticstatic/hummingbot-mcp'

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