Rihla MCP server
io.github.leojg/rihla·v0.1.0Flexible multi-leg, multi-airport flight search - cheapest valid combination across an itinerary.
0 stars15 downloads/wk
Reviews
Write oneNobody has reviewed Rihla yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Rihla tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan1 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 85 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Rihla compares
Against every graded Web search MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 62% of 3,470 Web search servers
- Downloads a week
- 15
- more than 4% of 827 Web search servers with a package
Install Rihla in Claude Code, Cursor or VS Code
claude mcp add rihla -- uvx rihla-mcp
What the publisher says
From the Rihla repository's README, as published. We do not edit it. Read it on GitHub
Rihla
Rihla (رحلة), "the journey." Named for Ibn Battuta's 14th-century travelogue —
the record of history's farthest-traveling explorer, who left Tangier for Mecca and
kept going for 29 years and 75,000 miles.
Flexible multi-leg, multi-airport flight search that finds the cheapest route across an entire itinerary — available as a CLI and as an MCP server for AI agents.
Consumer flight sites price one leg at a time. Rihla treats the whole trip as a single optimization problem:
*"Leave Montevideo — or Buenos Aires, it's a ferry ride away — around September 15
for Europe. Stay 20–30 days, then Japan for 15, then home. What's the cheapest
combination?"*
That query has three legs, flexible airports on both ends of each, a flexible departure window, and stay-duration constraints linking the legs. Rihla prices each leg's date×airport grid once, then finds the cheapest valid combinations in pure local compute — so even a 3–4 leg flexible query costs only a handful of API calls.
1. 1,297 USD (44 days door-to-door)
MVD -> AMS 2026-09-08 $ 383 [mock, cached] AA AA127
FRA -> NRT 2026-10-07 $ 481 [mock, cached] KL KL411
HND -> EZE 2026-10-22 $ 433 [mock, cached] AZ AZ933
2. 1,308 USD (44 days door-to-door)
MVD -> AMS 2026-09-14 $ 446 [mock, cached] AA AA127
...Note the airport substitution at work: it enters Europe through Amsterdam, leaves from Frankfurt, and flies home into Buenos Aires — each leg independently picks the cheapest airport pair from its sets.
Quick start
Requires Python ≥ 3.10.
pip install rihla # CLI
pip install "rihla[mcp]" # CLI + MCP serverRuns offline out of the box (no keys needed — a deterministic mock data source):
RIHLA_PROFILE=mock rihla # the canonical demo trip above
rihla examples/queries/canonical.json # same trip, from a query file
rihla -i # build a query interactivelyFor live prices, copy .env.example to .env and add at least a Travelpayouts token (free). See Data sources.
Writing a query
A query is a small JSON file: your origin airports, the ordered stops, a departure window for the first leg, and how long to stay at each stop. Downstream date windows are derived — you never hand-compute "if I leave Sep 15 and stay 20–30 days, when do I fly to Tokyo?"
{
"origins": ["MVD", "EZE", "AEP"],
"stops": ["EUROPE", ["NRT", "HND"], "MVD_AREA"],
"earliest": "2026-09-08",
"latest": "2026-09-22",
"stays": [[20, 30], [15, 15]],
"date_step": 3,
"top": 5
}EUROPE (MAD, BCN, LIS, CDG, FCO, AMS, FRA), TOKYO (NRT, HND), MVD_AREA (MVD, EZE, AEP). Make the last stop your origin set to fly home.
- origins — IATA codes tried as one origin set; the cheapest wins per date.
- stops — each stop is a region name or a list of IATA codes. Built-in regions:
(len(stays) == len(stops) - 1).
- earliest / latest — the departure window for the first leg only.
- stays — [min, max] nights at each intermediate stop
- datestep** — sample every N days across date windows (coarser = fewer API calls).
- top — how many ranked combinations to return.
- currency — optional ISO 4217 code (default USD).
rihla -i walks you through these questions and prints the resulting JSON to save for reuse. Add --links to any run to show booking URLs.
Reading results
Rihla is honest about data quality rather than pretending everything is bookable:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Rihla: common questions
- Is Rihla MCP server safe?
- Mostly: it is graded B (78/100). Read the Rihla safety report
- How do I install Rihla?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Rihla need an API key?
- Yes. The registry entry asks for
TRAVELPAYOUTS_TOKEN,SERPAPI_KEY. - Is Rihla maintained?
- The last commit was 124 days ago (2026-07-03). The latest release is v0.1.0.
- What can I use instead of Rihla?
- Servers from other publishers that do the same job: Google Flights MCP server, LetsFG — Flights & Hotels MCP server and BoostedTravel MCP server.
- How does Rihla compare with other Web search MCP servers?
- safety score 78/100 (higher than 62% of 3,470 Web search servers); downloads a week 15 (more than 4% of 827 Web search servers with a package). Full comparison.
Alternatives to Rihla
Same job from other publishers: the closest match first, then the best rated.
- Google FlightsMCP server for searching Google Flights — flight search, date grid pricing, and airport lookup.not reviewedGrowingA
- LetsFG — Flights & HotelsSearch and book flights and hotels: hundreds of airlines, plus bookable hotel rates.not reviewedEstablishedA
BoostedTravelFlight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.not reviewedEstablishedC- JshookmcpSearch-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.not reviewedEstablishedC
- Sui Knowledge Base (kapa.ai)Semantic search across Sui documentation and knowledge sources, powered by kapa.ainot reviewedEstablishedA