Skip to main content
Glama

faregrid

faregrid is a small local bridge to the hosted FlightPowers MCP server, which reads live flight prices from Google Flights. Give it an origin and a destination, plus either a single date or a whole date range, and it answers with fares, airlines, durations, stop counts, a bookable link for each flight, and the historical price band that shows whether a fare is unusually cheap or expensive for that route.

The bridge keeps no fare data of its own. It serves the upstream server's tool list locally, exactly as captured from the live endpoint, and forwards each tool call upstream, returning the result untouched. The captured surface is search only: results carry a buy_link to book on the vendor's own flow, and there is no booking, purchase, or payment tool in it.

Tools

  • search_oneway_flights — one-way fares. Required: from_airport and to_airport (IATA codes; the destination may be several codes as "BCN,LIS,ATH" or ["BCN","LIS","ATH"]). Optional: departure_date, or a range via departure_date_from / departure_date_to, max_stops, airline_codes, exclude_airline_codes, departure and arrival hour windows, currency (default "usd"), max_price, seat_type, passengers, sort_by (default "best"), limit (default 10), max_searches, use_fallback, and verbose. One call can search every date/destination combination in a range.

  • search_roundtrip_flights — round-trip fares, priced as paired legs rather than two separate one-ways. Required: from_airport and to_airport. Optional: the same departure date or range fields as the one-way tool, plus return_date or nights (a trip length, or a list like [5, 6, 7]), max_departure_stops, max_return_stops, departure_airline_codes, return_airline_codes, returns_per_outbound, and the shared currency, max_price, seat_type, passengers, sort_by, limit, max_searches, use_fallback, and verbose fields.

Fares go stale within minutes, so a current price always comes from a new search rather than an earlier result.

Related MCP server: Google Flights MCP Server

Configuration

  • FLIGHTPOWERS_MCP_URL (optional) — override the upstream endpoint. Defaults to https://flights.flightpowers.com/mcp. (The override hook is this rebuild's own labelled reconstruction.)

  • FLIGHTPOWERS_API_KEY (optional) — when set, every upstream request carries an x-rapidapi-key: <key> header, for the caller's own RapidAPI key for the Google Flights Live API. When it is not set, no key header is sent and the upstream applies its free sign-in allowance. No Authorization header is ever sent. (This forwarding is also a labelled reconstruction; the original surface was captured keyless.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name faregrid), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with faregrid error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string:

npx @reneturcios/faregrid search_oneway_flights '{"from_airport":"TLV","to_airport":"BCN","departure_date":"2026-11-10"}'
npx @reneturcios/faregrid search_roundtrip_flights '{"from_airport":"TLV","to_airport":"BCN,LIS","departure_date_from":"2026-11-01","departure_date_to":"2026-11-07","nights":[3,4]}'
npx @reneturcios/faregrid --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

npx -y @reneturcios/faregrid mcp

MCP client config:

{
  "mcpServers": {
    "faregrid": {
      "command": "npx",
      "args": ["-y", "@reneturcios/faregrid", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/faregrid
docker run --rm ghcr.io/cloudcorprecords/faregrid --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

npm install
npm run build
npm test
npm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables flight search and fare calendar exploration by interacting with Google Flights' API, supporting detailed filters for origin, destination, dates, cabin class, airlines, and more.
    5,874 PyPI
    3,468
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables real-time flight fare searches across date ranges and multiple destinations, with historical price insights and booking links. Provides one-way and round-trip search tools through MCP.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables real-time one-way and round-trip flight searches from any MCP client without an API key or account, returning live fares, historical price insights, and bookable links supported by disclosed sponsored cards.
    1
    MIT