Сервер Luno MCP
Сервер Model Context Protocol (MCP) для API криптовалютной биржи Luno. Этот сервер предоставляет стандартизированный интерфейс для моделей и приложений ИИ для взаимодействия с API Luno для торговли криптовалютой.
Функции
Информация о ценах криптовалют в режиме реального времени через API Luno
Обзор рынка по всем торговым парам
Запросы баланса счета
Управление заказами (размещение, отмена, статус)
Извлечение истории транзакций
Информация о сборах
Стандартизированный интерфейс JSON-RPC 2.0
Простая интеграция с приложениями ИИ
Related MCP server: AMOCA Solana MCP Server
Предпосылки
Python 3.8+ (рекомендуется Python 3.9+)
uvдля управления пакетамиУчетная запись Luno с ключами API (для полной функциональности)
Установка
Клонировать этот репозиторий
Создать виртуальную среду с помощью
uv
Установить зависимости
Настройте учетные данные API Luno (выберите один способ):
Поддержка докера
Вы можете запустить сервер MCP с помощью Docker для более простого развертывания и обеспечения единообразной среды на разных платформах.
Использование Docker Compose (рекомендуется)
Скопируйте пример файла среды и настройте свои учетные данные:
Запустите сервер:
Сервер будет доступен по адресу ws://localhost:8765 в режиме WebSocket.
Просмотр журналов:
Остановите сервер:
Использование Docker напрямую
Создайте изображение:
Запустите контейнер:
Использование с помощниками на основе искусственного интеллекта
После запуска контейнера Docker вы можете подключить различных помощников на основе искусственного интеллекта для использования сервера Luno MCP:
Курсор
Добавьте следующее в конфигурацию курсора:
Клод Десктоп
В настройках Claude Desktop у вас есть два варианта настройки сервера MCP:
Вариант 1: использование Docker (рекомендуется)
Эта конфигурация запускает сервер в контейнере Docker и подключается через WebSocket.
Вариант 2: использование прямого выполнения Python
Эта конфигурация запускает сервер Python напрямую с использованием транспорта STDIO.
Примечание: замените
/path/to/mcp-lunoфактическим путем, по которому вы клонировали репозиторий.
Клайн
Добавьте следующее в файл конфигурации Cline:
Поддержка SSL с Docker
Чтобы использовать SSL с контейнером Docker:
Сгенерируйте сертификаты с помощью предоставленного скрипта:
Смонтируйте каталог сертификатов при запуске контейнера:
Ручная установка
Вариант А : использование файла .env
Затем отредактируйте файл .env , чтобы добавить свои учетные данные API Luno:
Вариант B : использование конфигурации VS Code MCP
Отредактируйте файл .vscode/mcp.json и добавьте свои учетные данные в раздел env :
Примечание : Без действительных учетных данных API будут доступны только публичные конечные точки. Рекомендация : В целях безопасности предпочитайте переменные среды при совместном использовании кода.
Запуск сервера
Вы можете запустить сервер MCP в двух различных транспортных режимах:
Транспорт STDIO (по умолчанию, один клиент)
Это режим по умолчанию, который поддерживает одно клиентское соединение через стандартный ввод/вывод:
Транспорт WebSockets (несколько клиентов)
Для поддержки нескольких клиентских подключений одновременно запустите сервер в режиме WebSocket:
По умолчанию сервер WebSocket запустится по адресу ws://localhost:8765 .
Тестирование сервера WebSocket
Вы можете протестировать сервер WebSocket с помощью прилагаемого тестового клиента:
Это помогает убедиться, что сервер правильно обрабатывает соединения WebSocket и отвечает на запросы.
Параметры командной строки
--transport {stdio,websocket}: используемый транспортный механизм (по умолчанию: stdio)--host HOST: Хост для привязки при использовании транспорта WebSocket (по умолчанию: localhost)--port PORT: Порт для привязки при использовании транспорта WebSocket (по умолчанию: 8765)
Переменные среды
Вы также можете настроить транспорт с помощью переменных среды:
MCP_TRANSPORT: Транспортный механизм («stdio» или «websocket»)MCP_HOST: Хост для привязки к транспорту WebSocketMCP_PORT: порт для привязки к транспорту WebSocket
Тестирование со стандартным клиентом
Для тестирования транспорта STDIO используйте прилагаемый тестовый клиент:
Интеграция протокола MCP
Этот сервер реализует протокол контекста модели, который позволяет моделям ИИ взаимодействовать с ним через стандартизированные сообщения JSON-RPC 2.0. Сервер работает через STDIO по умолчанию, что упрощает интеграцию с расширениями VS Code и другими MCP-совместимыми клиентами.
Интеграция VS-кода
Файл .vscode/mcp.json настраивает сервер для использования с VS Code. Предоставляются две конфигурации сервера:
luno-mcp-server-stdio— использует транспорт STDIO (поведение MCP по умолчанию)luno-mcp-server-websocket— использует транспорт WebSocket для поддержки нескольких клиентов
Конфигурация VS-кода
Для использования транспорта WebSocket с VS Code файл mcp.json включает конфигурацию типа процесса:
При использовании транспорта WebSocket VS Code запустит сервер как фоновый процесс, а не будет взаимодействовать через STDIO.
Настройка MCP-сервера в VS Code
Вы можете настроить сервер непосредственно из файла .vscode/mcp.json :
Эта конфигурация будет использоваться расширениями VS Code, поддерживающими протокол MCP, что упрощает интеграцию с моделями ИИ и другими инструментами.
Доступные методы
Метод | Описание | Требуется аутентификация |
| Возврат информации о возможностях сервера | Нет |
| Получить текущую цену для определенной торговой пары | Нет |
| Получите обзор всех доступных рынков | Нет |
| Получить баланс всех счетов | Да |
| Оформить новый заказ | Да |
| Отменить существующий заказ | Да |
| Получить статус заказа | Да |
| Получить историю транзакций для счета | Да |
| Получить информацию о комиссиях для торговой пары | Да |
Примеры запросов
Получить возможности сервера:
Получить цену Bitcoin-ZAR:
Разработка
Структура проекта
Проведение тестов
Добавление новых функций
Чтобы добавить новые возможности API Luno:
Расширьте класс
LunoClientвsrc/luno_mcp_server/luno_client.pyновыми методами APIДобавьте соответствующие методы в класс
LunoMCPServerвsrc/luno_mcp_server/server.pyОбновите список
MCP_METHODSвserver.pyи зарегистрируйте свои методы в функции_register_methodsДобавьте тесты в каталог
tests/
Архитектура
Сервер MCP использует простую архитектуру:
JSON-RPC 2.0 для связи
Стандартный ввод/вывод (STDIO) для транспорта
Клиент API Luno для криптовалютных операций
Поиск неисправностей
Распространенные проблемы
Ошибки аутентификации API : убедитесь, что ключи API Luno правильно установлены либо в файле
.env, либо в.vscode/mcp.jsonОшибки импорта : убедитесь, что вы активировали виртуальную среду.
Ограничение скорости : API Luno имеет ограничения скорости — реализуйте логику повторных попыток для использования в производстве.
Приоритет конфигурации
При запуске сервера значения конфигурации загружаются в следующем порядке приоритета:
Переменные среды, проходящие через конфигурацию MCP (наивысший приоритет)
Значения в файле
.envЗначения по умолчанию в коде (самый низкий приоритет)
Это означает, что вы можете задать значения в конфигурации MCP, чтобы переопределить любые существующие значения в вашем файле .env .
Поддержка нескольких клиентов
Этот сервер MCP поддерживает несколько клиентских подключений одновременно через WebSockets. Для получения подробной информации см. MULTI_CLIENT_SUPPORT.md .
Варианты транспорта
Сервер поддерживает два транспортных механизма:
STDIO (по умолчанию): стандартный ввод/вывод — один клиент, используется VS Code MCP
WebSockets : сетевой транспорт — несколько клиентов с функциями безопасности
Работа с WebSockets Transport
Основное использование:
С опциями безопасности:
С шифрованием SSL/TLS:
Инструменты клиента WebSocket
Репозиторий включает два клиентских инструмента:
test_websocket_client.py : Простой тестовый клиент
python test_websocket_client.pyenhance_websocket_client.py : Расширенный клиент с многоклиентской симуляцией
# Single client mode python enhanced_websocket_client.py --mode single # Multi-client simulation (3 clients) python enhanced_websocket_client.py --mode multi --clients 3
Лицензия
Лицензия Массачусетского технологического института
Авторские права (c) 2025
Настоящим предоставляется разрешение любому лицу на бесплатное получение копии данного программного обеспечения и связанных с ним файлов документации.