travel-search
Travel Search
Search flights, hotels, car rentals, and ferries across multiple free providers via MCP protocol.
Quick Reference
| Need | Provider | Reference |
|---|---|---|
| Flights (creative routing) | Kiwi.com | flights.md |
| Flights + Hotels + Cars | Skiplagged | skiplagged.md |
| Hotels (price comparison) | Trivago | hotels.md |
| Ferries | Ferryhopper | ferries.md |
| Flights (Google Flights) | fli | google-flights.md |
| Full trip itinerary | Multi-provider | trip-planner.md |
| Best deal / price compare | Multi-provider | price-tools.md |
How It Works
All providers use the MCP protocol (JSON-RPC 2.0 over HTTP). Call them with curl:
# 1. Initialize session
curl -s -X POST "$MCP_URL" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"openclaw","version":"1.0"}}}'
# 2. Extract Mcp-Session-Id from response headers (if returned)
# 3. Call a tool
curl -s -X POST "$MCP_URL" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Mcp-Session-Id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"TOOL_NAME","arguments":{...}}}'
Response format: SSE with event: message + data: {JSON}. Parse the data line.
Decision Guide
User wants flights, hotels, cars, ferries, or trip planning
Read price-tools.md for the decision tree and comparison engine. It covers:
- Which providers to search and when
- How to compare and score results across providers
- How to present the single best recommendation + alternatives
- Flexible dates, anywhere destinations, round-trip optimization
For full trip itineraries, also read trip-planner.md. It includes a guided intake questionnaire (7 quick questions in one message) for when users want help figuring out what they want.
Core principle
Always search multiple providers, score results, and present ONE best recommendation with alternatives. The user should never have to compare — that's the agent's job. See price-tools.md for the value scoring system.
Presenting Results
Use bullet lists (no markdown tables on Discord/WhatsApp). For each option show:
- Route with stops (e.g., OVD → BCN → FCO)
- Times and duration
- Price
- Booking link
Group by: 💸 Cheapest → ⚡ Fastest → 🎯 Best value
Always include booking deep links so the user can act immediately.
Provider Endpoints
Kiwi: https://mcp.kiwi.com
Skiplagged: https://mcp.skiplagged.com/mcp
Trivago: https://mcp.trivago.com/mcp
Ferryhopper: https://mcp.ferryhopper.com/mcp
Notes
- All Tier 1 providers are free, no API key needed
- Kiwi uses
dd/mm/yyyydate format - Skiplagged uses
YYYY-MM-DDdate format - Always resolve city names to IATA codes first when using Skiplagged
- Rate limit: be reasonable, don't spam requests
- MCP sessions may expire; re-initialize if you get errors