Сервер Luno MCP
Сервер Model Context Protocol (MCP) для API криптовалютной биржи Luno. Этот сервер предоставляет стандартизированный интерфейс для моделей и приложений ИИ для взаимодействия с API Luno для торговли криптовалютой.
Функции
- Информация о ценах криптовалют в режиме реального времени через API Luno
- Обзор рынка по всем торговым парам
- Запросы баланса счета
- Управление заказами (размещение, отмена, статус)
- Извлечение истории транзакций
- Информация о сборах
- Стандартизированный интерфейс JSON-RPC 2.0
- Простая интеграция с приложениями ИИ
Предпосылки
- 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, что упрощает интеграцию с моделями ИИ и другими инструментами.
Доступные методы
Метод | Описание | Требуется аутентификация |
---|---|---|
describe_capabilities | Возврат информации о возможностях сервера | Нет |
get_crypto_price | Получить текущую цену для определенной торговой пары | Нет |
get_market_overview | Получите обзор всех доступных рынков | Нет |
get_account_balance | Получить баланс всех счетов | Да |
place_order | Оформить новый заказ | Да |
cancel_order | Отменить существующий заказ | Да |
get_order_status | Получить статус заказа | Да |
get_transaction_history | Получить историю транзакций для счета | Да |
get_fees | Получить информацию о комиссиях для торговой пары | Да |
Примеры запросов
Получить возможности сервера:
Получить цену 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 : Простой тестовый клиент
- enhance_websocket_client.py : Расширенный клиент с многоклиентской симуляцией
Лицензия
Лицензия Массачусетского технологического института
Авторские права (c) 2025
Настоящим предоставляется разрешение любому лицу на бесплатное получение копии данного программного обеспечения и связанных с ним файлов документации.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Сервер протокола контекста модели, который предоставляет стандартизированный интерфейс для моделей и приложений ИИ для взаимодействия с API криптовалютной биржи Luno для торговых операций.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server implementation that enables AI assistants to interact with the Paradex perpetual futures trading platform, allowing for retrieving market data, managing trading accounts, placing orders, and monitoring positions.Last updated -284PythonMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with the Deriv trading API, providing access to active trading symbols and account balance information.Last updated -2Python
- AsecurityFlicenseAqualityA Model Context Protocol server that provides access to CoinMarketCap's cryptocurrency data, enabling AI applications to retrieve cryptocurrency listings, quotes, and detailed information.Last updated -310Python
- AsecurityAlicenseAqualityA server that allows AI models to interact with cryptocurrency exchange APIs through the Model Context Protocol, providing access to over 100 exchanges and their trading capabilities.Last updated -2047219TypeScriptMIT License