Skip to main content
Glama

TravelGenie - AI Travel Planning Assistant

TravelGenie

TravelGenie is an AI-powered travel planner that helps you coordinate flights, hotels, events, weather, and basically everything else you need for a complete trip itinerary. It's built on Model Context Protocol (MCP) and uses Claude AI to orchestrate 7 specialized servers automatically - so you don't have to juggle a million tabs and apps.

MCP Python License


What It Does

Ever tried planning a trip and spent hours jumping between Google Flights, Booking.com, checking weather, looking up events, and trying to figure out if you can afford it all? Yeah, me too. That's why I built TravelGenie.

Just ask it something like: "Plan a trip to Banff, Alberta from Reston, Virginia, June 7-14, 2025. Budget $5000. We like hiking, museums, and dining."

And TravelGenie will:

  • Find flights and hotels that fit your budget

  • Check weather forecasts (because who wants to pack wrong?)

  • Discover local events that match what you're into

  • Convert currencies so you know what things actually cost

  • Analyze traffic patterns (because nobody likes being stuck)

  • Create a day-by-day itinerary with a budget breakdown

No manual searching. Just one request, and you get a complete plan.


Related MCP server: MCP Travel Planner

Quick Start

Installation

First things first, clone the repo and install dependencies:

git clone <repository-url>
cd TravelGenie
pip install -r requirements.txt

API Keys

You'll need a few API keys to get this running:

  • SerpAPI - Used for flights, hotels, and events. You can get a free key at serpapi.com

  • Anthropic - For Claude AI. Sign up at console.anthropic.com

  • Slack (optional) - Only if you want to use the Slack bot. Create an app at api.slack.com/apps

  • Open-Meteo & OpenStreetMap - These are free, no keys needed!

Configuration

Copy the example env file and add your keys:

cp .env.example .env
# Then edit .env and add your keys

Running It

You've got a couple options:

Web UI (easiest way to start):

streamlit run streamlit_app.py

Or use the Slack bot:

python slack_bot.py

Then just visit http://localhost:8501 and start planning!


How It Works

So here's the deal - TravelGenie uses 7 specialized servers that Claude AI coordinates automatically. Each one handles a specific part of travel planning:

Server

What It Does

Flight

Finds and compares flights

Hotel

Discovers accommodations

Event

Finds local activities & events

Geocoder

Converts addresses to coordinates

Weather

Gets forecasts and conditions

Finance

Converts currencies

Traffic & Crowd

Analyzes real-time location data

Here's how it flows:

  1. You make a request for a trip

  2. Claude geocodes your locations

  3. Searches flights, hotels, events

  4. Checks weather forecasts

  5. Analyzes traffic patterns

  6. Converts currencies

  7. Synthesizes everything into a complete itinerary

All automatically, usually in seconds. Pretty neat, right?


Usage

Streamlit Web UI

This is probably the easiest way to use TravelGenie:

  1. Run streamlit run streamlit_app.py

  2. Fill in your trip details (origin, destination, dates, budget, interests)

  3. Click "Plan My Trip"

  4. Get your complete itinerary!

Slack Bot

If you're already using Slack, you can integrate TravelGenie as a bot:

python slack_bot.py

Then in Slack, just mention it:

@travelgenie Plan a weekend trip to Portland for next weekend. 
We want breweries and food trucks. Budget $1500 for 2 people.

Direct API

If you want to integrate it into your own code, you can use the orchestrator directly:

from claude_orchestrator import execute_tool

# Search flights
flights = execute_tool("search_flights",
    departure_id="IAD",
    arrival_id="YYC",
    outbound_date="2025-06-07",
    return_date="2025-06-14",
    adults=2
)

# Get weather
weather = execute_tool("get_weather_forecast",
    location="Banff, Alberta",
    forecast_days=7
)

Deployment

Docker

If you want to run it in Docker:

docker build -t travelgenie .
docker run -d -p 8501:8501 --env-file .env travelgenie

AWS

For production deployments, there's CloudFormation setup:

cd aws/cloudformation
aws cloudformation create-stack \
  --stack-name travelgenie \
  --template-body file://infrastructure.yaml \
  --parameters file://parameters.json \
  --capabilities CAPABILITY_NAMED_IAM

This sets up ECS Fargate, DynamoDB, Secrets Manager, and CloudWatch. Check out aws/Run.md for more details on the AWS setup.


Server Tools

Each server provides specific tools you can use:

Flight Server

  • search_flights - Find flights with filters

  • get_flight_details - Get detailed flight info

  • filter_flights_by_price - Filter by your budget

Hotel Server

  • search_hotels - Find accommodations

  • get_hotel_details - Property details

  • filter_hotels_by_price - Budget filtering

Event Server

  • search_events - Find local events

  • get_event_details - Event information

  • filter_events_by_date - Filter by date

Geocoder Server

  • geocode_location - Convert address → coordinates

  • reverse_geocode - Convert coordinates → address

  • calculate_distance - Distance between locations

Weather Server

  • get_weather_forecast - Multi-day forecasts

  • get_current_weather - Current conditions

Finance Server

  • convert_currency - Currency conversion

  • get_market_overview - Market data

Traffic & Crowd Server

  • analyze_location_traffic - Real-time analysis

  • analyze_youtube_video - Video stream analysis

  • get_traffic_patterns - Historical patterns


Configuration

Environment Variables

Create a .env file in the root directory:

# Required
SERPAPI_KEY=your_key
ANTHROPIC_API_KEY=your_key

# Optional - Slack bot
SLACK_BOT_TOKEN=xoxb-your-token
SLACK_APP_TOKEN=xapp-your-token

Claude Desktop (MCP Mode)

If you want to use TravelGenie with Claude Desktop, add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "flight-search": {
      "command": "uv",
      "args": ["--directory", "/path/to/TravelGenie/servers/flight_server", 
               "run", "python", "flight_server.py"],
      "env": {"SERPAPI_KEY": "your_key"}
    }
  }
}

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json


Troubleshooting

Servers not responding?

  • Double-check your API keys in .env

  • Make sure you're using Python 3.12.1 or higher

  • Check the server logs for errors

Import errors?

pip install -r requirements.txt --upgrade

Slack bot not connecting?

  • Verify your tokens are correct

  • Make sure Socket Mode is enabled in your Slack app settings

  • Check that your bot has the right scopes: chat:write, app_mentions:read

No search results?

  • Try using airport codes (like "IAD" instead of city names) - sometimes that works better

  • Check if you've hit your SerpAPI quota

  • Make sure your dates are in the future


Testing

To test things out:

# Test Slack bot
python slack_bot.py --test

# Test Streamlit UI
streamlit run streamlit_app.py

Contributing

Contributions are welcome! There's always room for improvement. Some ideas:

  • New server types (restaurants, car rentals, etc.)

  • Better filtering algorithms

  • Improved caching and performance

  • Mobile support

  • More tests

How to contribute:

  1. Fork the repo

  2. Create a feature branch

  3. Make your changes

  4. Submit a pull request


Support

If you run into issues:


License

MIT License - see LICENSE file for details.


Ready to plan your next trip? Just run streamlit run streamlit_app.py or set up the Slack bot and you're good to go!

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • AI marketplace — flights, tours, activities, transport & more via MCP. No auth required.

  • Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

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/abhioriganti/TravelGenie'

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