Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

azure-ai-travel-agents

MCP.Pizza Chef: Azure-Samples

Azure AI Travel Agents is an enterprise MCP server application hosted on ACA that integrates multiple AI agents via LamaIndex to streamline travel agency operations. It enables collaborative AI agents to understand customer queries, recommend destinations, and plan itineraries, enhancing customer service and operational efficiency in travel agencies.

Use This MCP server To

Extract customer preferences from travel inquiries Recommend travel destinations based on preferences Plan detailed travel itineraries collaboratively Handle multi-agent coordination for travel services Improve customer query response accuracy Automate travel agency customer support workflows

README

The AI Travel Agents

The AI Travel Agents is a robust enterprise application that leverages multiple AI agents to enhance travel agency operations. The application demonstrates how six AI agents collaborate to assist employees in handling customer queries, providing destination recommendations, and planning itineraries.

Overview of AI Agents

Agent Name Purpose
Customer Query Understanding Extracts key preferences from customer inquiries.
Destination Recommendation Suggests destinations based on customer preferences.
Itinerary Planning Creates a detailed itinerary and travel plan.
Code Evaluation Executes custom logic and scripts if needed.
Model Inference Runs a custom LLM using ONNX and vLLM on Azure Container Apps' serverless GPU for high-performance inference.
Echo Ping Echoes back any received input (used as an MCP server example).
Web Search Uses Grounding with Bing Search to fetch live travel data.

High-Level Architecture

The architecture of the AI Travel Agents application is designed to be modular and scalable:

  • All components are containerized using Docker so that they can be easily deployed and managed by Azure Container Apps.
  • All agents tools are available as MCP (Model Context Protocol) servers and are called by the MCP clients.
  • MCP servers are implemented independently using variant technologies, such as Python, Node.js, Java, and .NET.
  • The Agent Workflow Service orchestrates the interaction between the agents and MCP clients, allowing them to work together seamlessly.
  • The Aspire Dashboard is used to monitor the application, providing insights into the performance and behavior of the agents (through the OpenTelemetry integration).

High-Level Architecture

Project Structure

ai-travel-agents/
│── src/
│   ├── tools/
│   │   ├── customer-query/
│   │   ├── destination-recommendation/
│   │   ├── itinerary-planning/
│   │   ├── code-evaluation/
│   │   ├── model-inference/
│   │   ├── web-search/
│   │   └── echo-ping/
│   │
│   ├── api/                # API Gateway for backend services
│   └── ui/                 # Frontend application
│
│── infra/                  # azd-related files
│── docs/                   # Documentation files
│
│── README.md              # Project documentation

Prerequisites

Ensure you have the following installed before running the application:

  • Docker

Environment Variables setup for containerized services

The application uses environment variables to configure the services. You can set them in a .env file in the root directory or directly in your terminal. We recommend the following approach:

  1. Create a .env.dev file for each containerized service under src/, and optionally a .env.docker file for Docker-specific configurations:

    • src/ui/.env.dev
    • src/ui/.env.docker
    • src/api/.env.dev
    • src/api/.env.docker
    • src/tools/customer-query/.env.dev
    • src/tools/customer-query/.env.docker
    • src/tools/destination-recommendation/.env.dev
    • src/tools/destination-recommendation/.env.docker
    • src/tools/itinerary-planning/.env.dev
    • src/tools/itinerary-planning/.env.docker
    • src/tools/code-evaluation/.env.dev
    • src/tools/code-evaluation/.env.docker
    • src/tools/model-inference/.env.dev
    • src/tools/model-inference/.env.docker
    • src/tools/web-search/.env.dev
    • src/tools/web-search/.env.docker
    • src/tools/echo-ping/.env.dev
    • src/tools/echo-ping/.env.docker
  2. .env.docker files are used to set environment variables for Docker containers. These files should contain the same variables as .env.dev files, but with values specific to the Docker environment. For example:

# src/api/.env.dev
TOOL_CUSTOMER_QUERY_URL=http://localhost:8080

# src/api/.env.docker
TOOL_CUSTOMER_QUERY_URL=http://tool-customer-query:8080
  1. Load the environment variable files in docker-compose.yml using the env_file directive, in the following order:
  web-api:
    container_name: web-api
    # ...
    env_file: 
      - "./api/.env.dev"
      - "./api/.env.docker" # override .env with .env.docker

Note

adding the - environment: directive to the docker-compose.yml file will override the environment variables set in the .env.* files.

Run the Entire Application

To run the entire application, use the scripts in the root directory. The scripts will build and run all the services defined in the src/docker-compose.yml file.

./run.sh

On Windows, you may need to use run.ps1 instead of run.sh.

Alternatively, if you're in VS Code you can use the Run Task command (Ctrl+Shift+P) and select the Run AI Travel Agents task.

This command will build and start all the services defined in the docker-compose.yml file.

Once all services are up and running, you can view the messages (currently logging messages) via the Aspire Dashboard at http://localhost:18888. On Structured tab you'll see the logging messages from the tool-echo-ping and api services. The Traces tab will show the traces across the services, such as the call from api to echo-agent.

azure-ai-travel-agents FAQ

How does Azure AI Travel Agents handle multiple AI agents?
It uses MCP to coordinate six AI agents that collaborate on customer queries, recommendations, and itinerary planning.
Can this server integrate with existing travel agency systems?
Yes, it is designed as an enterprise application and can be integrated with other systems via MCP.
What technologies underpin Azure AI Travel Agents?
It leverages MCP, LamaIndex AI agents, and is hosted on Azure Container Apps (ACA).
How does the server improve customer query understanding?
It uses a dedicated AI agent to extract key preferences from customer inquiries for personalized service.
Is the system scalable for large travel agencies?
Yes, being hosted on ACA and using MCP allows scalable, modular AI agent deployment.
What benefits does MCP provide in this application?
MCP standardizes AI agent communication, enabling secure, observable, and real-time multi-agent collaboration.