A travel assistant MCP (Model Context Protocol) project that provides AI-powered travel services including currency conversion, weather data, public holidays, points of interest, and travel summaries through a client-server architecture.
-
uvpackage - pip and conda don't have the MCP package we'll be needing- Non-Windows:
curl -LsSf https://astral.sh/uv/install.sh | sh - Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- Non-Windows:
-
Python version > 3.9
Non-Windows:
uv init client && cd client && uv venv && source .venv/bin/activate && uv add mcp anthropic python-dotenv && rm -rf main.py && touch client.py && cd ..Windows:
uv init client && cd client && uv venv && .venv\Scripts\activate && uv add mcp anthropic python-dotenv && del main.py && touch client.py && cd ..Non-Windows:
uv init server && cd server && uv venv && source .venv/bin/activate && uv add "mcp[cli]" httpx && rm -rf main.py && touch server.py && cd ..Windows:
uv init server && cd server && uv venv && .venv\Scripts\activate && uv add "mcp[cli]" httpx && del main.py && touch server.py && cd ..-
Start the application:
uv run --project client python client/client.py server/server.py
-
Create a
.envfile with the following content:GEMINI_API_KEY=abc123 GEMINI_MODEL_NAME=gemini-2.0-flash
Note: Refer to Gemini API rate limits for the list of models and their limits.
-
Get a Gemini API key from Google AI Studio and paste it in the
.envfile. -
Test the server with a sample query:
curl --location 'http://localhost:8000/query' \ --header 'Content-Type: application/json' \ --data '{ "query": "Create a travel summary for my trip to France!" }'
-
Check if client has initialized:
curl --location 'http://localhost:8000/health' -
Attempt to connect to the server:
curl --location 'http://localhost:8000/connect' -
Check available MCP endpoints:
curl --location 'http://localhost:8000/tools'
convert_currency()get_weather_by_location()get_public_holidays()get_country_code()search_poi()get_travel_summary_for_country()get_travel_summary_for_city()
- What public holidays are there in US 2025?
- What's the weather like in Phoenix, Arizona?
- Tell me more about the USA!
- What restaurants are in Phoenix, Arizona?
- I'll need 4000 USD for my trip. How much is that in Malaysian Ringgit?
- Create a travel summary for my trip to USA!
- Create a travel summary for my trip to Frankfurt, Germany!