Skip to main content
Glama

Exely Hotel Booking MCP Assistant

by Bdata0
README.ru.md7.6 kB
<p align="right">Also available in: <a href="./README.md">English</a></p> # Exely Hotel Booking MCP Assistant Проект для интеграции Exely Distribution API с LLM через MCP-сервер и взаимодействия с ним через Telegram-бота. Этот проект упакован в Docker для легкого и надежного развертывания в production-среде на любом сервере или VPS. ### Ключевые особенности - **Развертывание в один клик**: Используйте скрипты `deploy.sh` (для Linux) или `deploy.ps1` (для Windows) для автоматической установки и настройки. - **Интерактивная настройка**: Скрипты сами запросят необходимые API ключи и создадут файлы конфигурации. - **Гибкость**: Вы можете развернуть все компоненты на одной машине или разнести MCP-сервер и Telegram-бота на разные серверы. - **Production-Ready**: Используется Multistage Docker-сборка для создания легковесных и безопасных образов. - **Надежность**: Контейнеры настроены на автоматический перезапуск в случае сбоев. ## Структура проекта ``` exely_mcp_project/ ├── app/ # Исходный код приложения (сервер FastAPI/MCP) │ ├── __init__.py │ ├── config.py # Конфигурация приложения (берется из файлов .env) │ ├── main.py # FastAPI приложение с MCP-сервером │ ├── exely_client/ # Клиент для Exely API │ │ ├── __init__.py │ │ ├── client.py # Сам клиент API │ │ └── schemas.py # Pydantic модели для Exely API │ ├── llm_client/ # Клиент для Mistral LLM API │ │ ├── __init__.py │ │ └── llm_client.py │ └── mcp_tools/ # MCP инструменты (tools) │ ├── __init__.py │ ├── schemas_llm.py # Pydantic модели для параментров инструментов (tools) │ ├── tools.py # Логика реализации инструментов (tools) │ └── prompt_utils.py # Утилиты для создания подсказок к инструментам │ ├── telegram_bot.py # Исходный код бота Telegram ├── pyproject.toml # Зависимости и метаданные проекта │ ├── README.md # Основная документация (English) ├── README.ru.md # Опциональная документация (Russian) │ │ --- Файлы развертывания --- ├── deploy.sh # Скрипт развертывания для Linux/macOS ├── deploy.ps1 # Скрипт развертывания для Windows (PowerShell) ├── Dockerfile # Файл создания Docker образа ├── .dockerignore # Список файлов, которые необходимо исключить из Docker образа ├── docker-compose.yml # Docker Compose для развертывания по принципу "все в одном контейнере" ├── docker-compose.server.yml # Только для развертывания сервера ├── docker-compose.bot.yml # Только для развертывания бота │ │ --- Файлы окружения (обычно их нет в git) --- ├── .env.prod # (Генерируется) Переменные окружения продакшн среды ├── .env.bot.prod # (Генерируется) Переменные окружения продакшн среды для бота └── .env.example # Шаблон для локальной разработки (без Docker) ``` ## Развертывание (Production) Это рекомендуемый способ для запуска проекта на VPS или любом другом сервере. ### Предварительные требования - **Git** для клонирования репозитория. - **Docker и Docker Compose**: Скрипт развертывания попытается автоматически установить их на системах Ubuntu. Для других ОС установите их согласно официальной документации. ### Инструкция по запуску 1. **Клонируйте репозиторий на ваш сервер:** ```bash git clone https://github.com/Bdata0/Exely_MCP.git cd ~/Exely_MCP ``` 2. **Запустите скрипт развертывания:** Скрипт сам проверит наличие Docker, запросит у вас все необходимые API ключи и токены, создаст файлы конфигурации и запустит проект. * **Для Linux (Ubuntu, Debian и т.д.):** Сначала сделайте скрипт исполняемым: ```bash chmod +x deploy.sh ``` Затем запустите его: ```bash ./deploy.sh ``` * **Для Windows (используя PowerShell):** Возможно, вам потребуется разрешить выполнение скриптов в текущей сессии: ```powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process ``` Затем запустите скрипт: ```powershell .\deploy.ps1 ``` 3. **Следуйте инструкциям в терминале:** * Скрипт попросит вас ввести `EXELY_API_KEY`, `MISTRAL_API_KEY` и `TELEGRAM_BOT_TOKEN`. Ввод будет скрыт для безопасности. * Затем он предложит выбрать сценарий развертывания: 1. **All-in-one**: Запустить и сервер, и бота на текущей машине (самый частый выбор). 2. **Server only**: Запустить только MCP-сервер. 3. **Bot only**: Запустить только Telegram-бота (потребуется ввести IP-адрес машины с сервером). После выбора сценария скрипт автоматически соберет Docker-образы и запустит контейнеры в фоновом режиме. ### Управление приложением - **Проверить статус контейнеров:** `docker compose ps` - **Просмотреть логи в реальном времени:** `docker compose logs -f` - **Остановить приложение:** `docker compose down` Теперь ваш бот полностью настроен и запущен!

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/Bdata0/Exely_MCP'

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