MCP.Market

Rihla MCP server

by leojg·io.github.leojg/rihla·v0.1.0

Flexible multi-leg, multi-airport flight search - cheapest valid combination across an itinerary.

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

full report

Adoption
New

0 stars15 downloads/wk

Reviews

Write one

Nobody 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

no findings
  • 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
Overall 78/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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 server

Runs 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 interactively

For 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 Flights
    MCP server for searching Google Flights — flight search, date grid pricing, and airport lookup.
    A
  • LetsFG — Flights & Hotels
    Search and book flights and hotels: hundreds of airlines, plus bookable hotel rates.
    A
  • BoostedTravel
    Flight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.
    C
  • Jshookmcp
    Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.
    C
  • Sui Knowledge Base (kapa.ai)
    Semantic search across Sui documentation and knowledge sources, powered by kapa.ai
    A