gs-ysingh/travel-mcp-server
If you are the rightful owner of travel-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Travel MCP Server is a comprehensive solution for travel planning, offering a range of services including flight search, accommodation booking, currency exchange, weather forecasting, and trip budget calculation.
Travel MCP Server
A Model Context Protocol (MCP) server for comprehensive travel planning, providing flight search, accommodation booking, currency exchange, weather forecasting, and trip budget calculation capabilities.
Features
- š« Flight Search: Find and compare flights with various options
- šØ Accommodation Search: Search for hotels, vacation rentals, and other accommodations
- š± Currency Exchange: Get real-time exchange rates for travel budgeting
- š¤ļø Weather Forecast: Check weather conditions for your travel dates
- š° Trip Budget Calculator: Calculate and plan your travel expenses
Installation
- Clone the repository:
git clone <repository-url>
cd travel-mcp-server
- Install dependencies:
npm install
- Set up environment variables:
- Copy
.env.example
to.env
- Fill in your API keys (see API Keys Setup)
- Copy
API Keys Setup
You'll need to obtain API keys from the following services:
- Flight API: Amadeus, Skyscanner, or similar flight data provider
- Accommodation API: Booking.com, Airbnb, or similar accommodation service
- Currency Exchange API: Fixer.io, ExchangeRate-API, or similar service
- Weather API: OpenWeatherMap, WeatherAPI, or similar weather service
- Google Places API: For attractions and restaurant recommendations
Update your .env
file with these keys:
FLIGHT_API_KEY=your_flight_api_key
BOOKING_API_KEY=your_booking_api_key
EXCHANGE_API_KEY=your_exchange_api_key
WEATHER_API_KEY=your_weather_api_key
GOOGLE_PLACES_API_KEY=your_google_places_api_key
Usage
Development
Run the server in development mode with hot reload:
npm run dev
Production
Build and start the server:
npm run build
npm start
Watch Mode
Run with automatic restart on file changes:
npm run watch
Available Tools
The MCP server provides the following tools:
1. Search Flights (search_flights
)
Search for flights between destinations with customizable options.
Parameters:
origin
: Departure airport/citydestination
: Arrival airport/citydepartureDate
: Departure datereturnDate
: Return date (optional for one-way)passengers
: Number of passengersclass
: Flight class (economy, business, first)
2. Search Accommodation (search_accommodation
)
Find hotels, vacation rentals, and other accommodation options.
Parameters:
destination
: City or locationcheckIn
: Check-in datecheckOut
: Check-out dateguests
: Number of guestsrooms
: Number of roomstype
: Accommodation type (hotel, apartment, etc.)
3. Get Exchange Rate (get_exchange_rate
)
Get current exchange rates between currencies.
Parameters:
from
: Source currency code (e.g., USD)to
: Target currency code (e.g., EUR)amount
: Amount to convert (optional)
4. Get Weather Forecast (get_weather_forecast
)
Check weather conditions for your travel destination.
Parameters:
location
: City or locationdate
: Date for forecastdays
: Number of days to forecast (optional)
5. Calculate Trip Budget (calculate_trip_budget
)
Calculate estimated trip costs including flights, accommodation, and daily expenses.
Parameters:
destination
: Travel destinationduration
: Trip duration in daystravelers
: Number of travelerscategory
: Budget category (budget, mid-range, luxury)
Project Structure
travel-mcp-server/
āāā src/
ā āāā index.ts # Main server entry point
ā āāā services/
ā āāā FlightService.ts # Flight search functionality
ā āāā AccommodationService.ts # Accommodation search
ā āāā CurrencyService.ts # Currency exchange
ā āāā WeatherService.ts # Weather forecasting
āāā dist/ # Compiled TypeScript output
āāā package.json # Project dependencies and scripts
āāā tsconfig.json # TypeScript configuration
āāā .env # Environment variables (not in repo)
āāā .gitignore # Git ignore rules
āāā README.md # This file
Integration with MCP Clients
This server can be used with any MCP-compatible client such as:
- Claude Desktop
- Other AI assistants supporting MCP
- Custom MCP client applications
Add the server to your MCP client configuration:
{
"mcpServers": {
"travel-planner": {
"command": "npx",
"args": ["travel-mcp-server"]
}
}
}
Development Guide
Tech Stack
- TypeScript: Type-safe JavaScript development
- Node.js: Runtime environment
- MCP SDK: Model Context Protocol implementation
- Axios: HTTP client for API requests
- Zod: Schema validation
- dotenv: Environment variable management
Adding New Services
- Create a new service class in
src/services/
- Implement the required methods
- Register the service in
src/index.ts
- Add corresponding tools and handlers
Running Tests
npm test
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes
- Run tests:
npm test
- Commit your changes:
git commit -m 'Add feature'
- Push to the branch:
git push origin feature-name
- Submit a pull request
License
This project is licensed under the ISC License - see the file for details.
Support
If you encounter any issues or have questions:
- Check the section
- Create a new issue with detailed information
- Provide logs and reproduction steps
Roadmap
- Add more travel service integrations
- Implement caching for API responses
- Add travel itinerary planning
- Support for group travel coordination
- Integration with calendar services
- Mobile app companion
Note: Remember to keep your API keys secure and never commit them to version control. Always use environment variables for sensitive configuration.