Skip to main content
Glama

Exely Hotel Booking MCP Assistant

by Bdata0
README.md5.27 kB
<p align="right">Read this in other languages: <a href="./README.ru.md">Русский (Russian)</a></p> # Exely Hotel Booking MCP Assistant A project to integrate the Exely Distribution API with an LLM via an MCP server, allowing interaction through a Telegram bot. This project is containerized with Docker for easy and reliable deployment in a production environment on any server or VPS. ### Key Features - **One-Click Deployment**: Use the `deploy.sh` (for Linux) or `deploy.ps1` (for Windows) scripts for automatic installation and setup. - **Interactive Setup**: The scripts will prompt you for the necessary API keys and create the configuration files for you. - **Flexible**: You can deploy all components on a single machine or split the MCP server and Telegram bot across different servers. - **Production-Ready**: Uses a Multistage Docker build to create lightweight and secure images. - **Reliable**: Containers are configured to restart automatically in case of failure. ## Project structure ``` exely_mcp_project/ ├── app/ # Application source code (FastAPI/MCP server) │ ├── __init__.py │ ├── config.py # Application configuration (reads from .env files) │ ├── main.py # FastAPI entrypoint with the MCP server │ ├── exely_client/ # Client for the Exely API │ │ ├── __init__.py │ │ ├── client.py # The API client itself │ │ └── schemas.py # Pydantic models for the Exely API │ ├── llm_client/ # Client for the Mistral LLM API │ │ ├── __init__.py │ │ └── llm_client.py │ └── mcp_tools/ # MCP tools for the LLM │ ├── __init__.py │ ├── schemas_llm.py # Pydantic models for tool parameters │ ├── tools.py # Tool implementation logic │ └── prompt_utils.py # Utilities for generating prompts │ ├── telegram_bot.py # Telegram bot source code ├── pyproject.toml # Project dependencies and metadata │ ├── README.md # Main documentation (English) ├── README.ru.md # Optional documentation (Russian) │ │ --- Deployment Files --- ├── deploy.sh # Deployment script for Linux/macOS ├── deploy.ps1 # Deployment script for Windows (PowerShell) ├── Dockerfile # Instructions for building the Docker image ├── .dockerignore # Specifies files to exclude from the image ├── docker-compose.yml # Docker Compose for all-in-one deployment ├── docker-compose.server.yml # For deploying the server only ├── docker-compose.bot.yml # For deploying the bot only │ │ --- Environment Files (usually not in git) --- ├── .env.prod # (Generated) Production environment variables ├── .env.bot.prod # (Generated) Env vars for a remote bot └── .env.example # Template for local development (without Docker) ``` ## Deployment (Production) This is the recommended method for running the project on a VPS or any other server. ### Prerequisites - **Git** to clone the repository. - **Docker and Docker Compose**: The deployment script will attempt to automatically install them on Ubuntu systems. For other operating systems, please install them according to the official documentation. ### Launch Instructions 1. **Clone the repository to your server:** ```bash git clone https://github.com/Bdata0/Exely_MCP.git cd ~/Exely_MCP ``` 2. **Run the deployment script:** The script will check for Docker, prompt you for all required API keys and tokens, create the configuration files, and launch the project. * **For Linux (Ubuntu, Debian, etc.):** First, make the script executable: ```bash chmod +x deploy.sh ``` Then, run it: ```bash ./deploy.sh ``` * **For Windows (using PowerShell):** You may need to allow script execution for the current session: ```powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process ``` Then, run the script: ```powershell .\deploy.ps1 ``` 3. **Follow the on-screen instructions:** * The script will ask you to enter your `EXELY_API_KEY`, `MISTRAL_API_KEY`, and `TELEGRAM_BOT_TOKEN`. Input will be hidden for security. * Next, it will prompt you to choose a deployment scenario: 1. **All-in-one**: Run both the server and the bot on the current machine (most common choice). 2. **Server only**: Run only the MCP server. 3. **Bot only**: Run only the Telegram bot (will require the IP address of the server machine). After selecting a scenario, the script will automatically build the Docker images and start the containers in the background. ### Application Management - **Check container status:** `docker compose ps` - **View real-time logs:** `docker compose logs -f` - **Stop the application:** `docker compose down` Your bot is now fully configured and running!

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