AK
← All projects

AI Automation

MCP-Powered AI Travel Assistant

A chat assistant that plans trips with live weather, hotels, restaurants, attractions, and currency rates — pulled through seven MCP tools instead of guessed by the model.

n8nMCPOpenAI GPT-4o-miniGeoapifyOpen-MeteoFrankfurterSimple Memory
n8n workflow — chat trigger connected to an AI Agent with OpenAI model, Simple Memory and MCP Client

How it flows

  1. 1User sends a travel question in chat
  2. 2AI Agent reads memory for saved preferences
  3. 3MCP Client calls the Travel MCP Server
  4. 4Tools return live data (weather, places, rates)
  5. 5Agent writes a day-by-day plan in Markdown

The problem

Large language models know a lot about travel, but they do not know today’s weather, which hotels are near a beach, or the current exchange rate. When asked, they often invent names and numbers. A travel assistant that guesses is worse than no assistant.

What I built

Two connected n8n workflows:

1. Travel MCP Server — an MCP Server Trigger with seven HTTP tools:

  • Find Destination — geocodes a place name into coordinates, country, and timezone (Geoapify)
  • Get Weather Forecast — current conditions plus a 16-day forecast (Open-Meteo)
  • Find Hotels, Find Restaurants, Find Tourist Attractions — nearby places within a radius (Geoapify Places)
  • Get Hotel Details — inspects one hotel by its place ID to check star rating and facilities
  • Get Currency Exchange Rate — reference rates between two currencies (Frankfurter)

Each tool has a clear description and uses $fromAI() so the agent fills in parameters itself.

2. AI Travel Assistant — a public chat trigger, an AI Agent with GPT-4o-mini, Simple Memory (20 messages), and an MCP Client connected to the server above.

How the agent stays honest

The system prompt contains explicit rules:

  • Always call Find Destination first, then the other tools.
  • Never invent hotel names, prices, ratings, or availability.
  • Only describe a hotel as “five-star” when Get Hotel Details returns stars: 5. Otherwise say “Star rating: not available in the source.”
  • If a requested budget or star level cannot be verified, say so clearly instead of substituting.
  • Interpret “tomorrow” and “this weekend” using the current date passed with each message.

Result

The assistant produces a formatted trip plan — overview, weather outlook, accommodation, food, places to visit, day-by-day itinerary, packing list, and currency notes — where every fact comes from a tool call. Remembered preferences (for example “I prefer halal food” or “mid-range budget”) shape the next answers in the same session.