Skip to main content
Glama
AjaykumarBalakannan

TravelGenie

TravelGenie

Trip planner that coordinates flights, hotels, events, weather, currency, and traffic data through one request instead of ten browser tabs.

TravelGenie

MCP Python License

What it does

Give it a prompt like:

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

Claude coordinates seven specialized servers to:

  • Find flights and hotels within budget

  • Pull weather forecasts for the trip dates

  • Find local events matching the stated interests

  • Convert currencies

  • Check traffic and crowd patterns

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

Related MCP server: travel-mcp-server

Architecture

Each server is a standalone MCP server. Claude calls them in sequence, passing output from one into the next (geocode a location, then search flights/hotels near it, then check weather for those dates, etc.).

Server

Job

Flight

Search and compare flights

Hotel

Search accommodations

Event

Find local events and activities

Geocoder

Address ↔ coordinates

Weather

Forecasts, current conditions

Finance

Currency conversion, market data

Traffic & Crowd

Real-time location analysis

Setup

git clone https://github.com/AjaykumarBalakannan/TravelGenie.git
cd TravelGenie
pip install -r requirements.txt
cp .env.example .env
# add your API keys to .env

You'll need:

  • SerpAPI — flights, hotels, events. Free tier at serpapi.com

  • Anthropic — Claude API key from console.anthropic.com

  • Slack (optional) — only needed for the Slack bot

  • Open-Meteo and OpenStreetMap require no key

Running it

# Web UI
streamlit run streamlit_app.py

# Slack bot
python slack_bot.py

The web UI runs at http://localhost:8501.

Calling it directly

from claude_orchestrator import execute_tool

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

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

Claude Desktop (MCP mode)

Add to 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"}
    }
  }
}

Config location — macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json.

Deployment

Docker:

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

AWS (ECS Fargate + DynamoDB + Secrets Manager + CloudWatch):

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

See aws/Run.md for the full setup. The mock_application/ directory has load-test tooling comparing EC2 vs. ECS Fargate under concurrent load — see documents/Travel_Genie_Report.pdf for the writeup and results.

Troubleshooting

  • Servers not responding — check API keys in .env, confirm Python 3.12.1+

  • Import errorspip install -r requirements.txt --upgrade

  • Slack bot not connecting — verify tokens, confirm Socket Mode is enabled, check bot has chat:write and app_mentions:read scopes

  • No search results — try airport codes instead of city names; check SerpAPI quota; confirm dates are in the future

Testing

python slack_bot.py --test
streamlit run streamlit_app.py

License

MIT — see LICENSE.

Author

Ajaykumar Balakannan — github.com/AjaykumarBalakannan

A
license - permissive license
-
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.

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

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