Skip to main content
Glama

Server Details

Read-only flight fares for AI assistants: the cheapest fares a2bflight has seen on thousands of routes, one-way and round trip, each with the day it was seen. Three tools, no auth, no key.

Ownership verified
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 3 tools

Disambiguation4/5

The three tools have different scopes: find_airports is for code lookup, cheapest_routes is for broad route exploration from an origin, and route_fares is for detailed fares on a specific airport pair. The main overlap is between cheapest_routes and route_fares, both returning fare information, which could cause some confusion. However, the descriptions clarify that cheapest_routes is a list across many routes while route_fares focuses on a single pair.

Naming Consistency3/5

Tool names mix verb_noun (find_airports) and noun_phrases (cheapest_routes, route_fares). While not chaotic, the lack of a consistent verb pattern reduces predictability. The terms are still readable and domain-appropriate, but the inconsistency is noticeable.

Tool Count3/5

With only 3 tools, the set feels somewhat thin for a flight search server. Core operations like listing all airports or getting schedules are absent, but the tools do cover basic discovery and fare checking. The count is borderline but not extremely mismatched.

Completeness3/5

The server covers looking up airport codes and retrieving fare information for routes, but it lacks a way to search for flights by date, book, or get real-time quotes. The tools are observational and caching-based, which may leave gaps for users expecting booking capabilities. The surface is incomplete for a full flight search experience.

Available Tools

3 tools
cheapest_routesCheapest routesA
Read-only
Inspect

The cheapest cached fare on every route we hold from an origin (or into a destination), cheapest one-way first, each with its cheapest round trip of a 3 to 21 day stay in return when we hold one. Filter by a maximum price and a departure month here rather than by reading the list; both apply to the one-way. Prices are one adult, economy, as last seen on the date in checked — observations, not quotes.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNodestination IATA airport or city code
fromNoorigin IATA airport or city code (NYC covers JFK, LGA and EWR); give from, to or both
limitNohow many routes to return, 1 to 20; 10 when omitted
monthNoYYYY-MM: the cheapest fare departing in that month; needs from
max_priceNokeep only fares at or under this amount, in the currency the results carry

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
routesYes
currencyNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint=false and destructiveHint=false, so safety is covered. The description adds genuinely non-obvious behavior: prices are cached observations 'as last seen on the date in `checked`', not live quotes, and the round-trip component only appears 'when we hold one' — both material to how an agent should present results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what is returned before the filtering advice and the pricing caveat. The opening sentence is long and parenthetical-heavy, but every clause carries information and nothing is redundant with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description is not obligated to detail return values, yet it still characterizes the shape of a result (one-way plus optional round trip). Combined with the staleness caveat and filter semantics, an agent has enough to call and interpret the tool; only sibling routing is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes further: it explains that `from` and `to` are interchangeable anchors ('give from, to or both'), that the month/max_price filters apply to the one-way leg only, and that the `return` companion is a 3-to-21-day stay. That clarifies cross-parameter interaction the schema does not express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: the cheapest cached fare on every route from an origin (or into a destination), with one-way first and a round-trip companion in `return`. The scope is unambiguous and clearly a list-over-routes tool rather than a single-route lookup, though it never names `route_fares` or `find_airports` to sharpen the contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one useful directive: filter by max price and departure month via the parameters 'rather than by reading the list.' That is guidance about how to invoke, not about when to choose this tool over its siblings, and no prerequisite or exclusion conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_airportsFind airportsA
Read-only
Inspect

Look up airports and city codes by name, or list the airports near a code or a lat,lon point. Use it to turn a city name into the IATA code the other tools take.

ParametersJSON Schema
NameRequiredDescriptionDefault
nearNoan IATA code, or lat,lon, to list the airports near it; give this or query
queryNoa city or airport name or the start of one; give this or near

Output Schema

ParametersJSON Schema
NameRequiredDescription
placesYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the agent knows this is a safe, closed-domain read. The description adds the dual-mode behavior (name lookup vs near-code/coordinates), which is useful, but says nothing about result volume, ranking, or limits on the proximity list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, zero filler. The lookup-vs-list distinction is front-loaded and the downstream-purpose sentence is the key routing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation is unnecessary. Both input modes and the practical purpose are covered, which is everything an agent needs to select and call this tool against its two-parameter, zero-required schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both 'query' and 'near' including their either/or relationship. The description adds only the framing of turning a city name into an IATA code, which clarifies intent but no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verbs (look up, list) over a specific resource (airports and city codes) and covers both operating modes: name lookup and proximity listing. It also positions the tool relative to its siblings by naming the downstream purpose (producing the IATA code other tools take).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear context of use: resolving a city name into the IATA code that the sibling tools consume, plus the two query modes. It stops short of explicitly naming cheapest_routes or route_fares as the consumers or stating when to prefer one mode, so it's clear context without explicit alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

route_faresRoute faresA
Read-only
Inspect

Everything we hold for one airport pair: the cheapest one-way, the cheapest round trip of a 3 to 21 day stay, the cheapest one-way by departure date and by month, and the cheapest round trips. If we hold nothing yet, it starts pricing the route and says so; ask again a minute later.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesdestination IATA airport code
fromYesorigin IATA airport code (an airport, not a city code)
monthNoYYYY-MM: keep only departure dates in that month

Output Schema

ParametersJSON Schema
NameRequiredDescription
toYes
fromYes
datesNothe cheapest one-way fares by departure date, cheapest first
monthsNothe cheapest one-way fare in each month
statusYesheld: fares below; pricing: we just started pricing this route, ask again in a minute; none: we hold no fare for it
returnsNothe cheapest round trips held, any stay, cheapest first
cheapestNothe cheapest one-way; absent when we hold no dated one-way
currencyNo
page_urlYes
cheapest_returnNothe cheapest round trip of a 3 to 21 day stay; absent when we hold none, and page_url then offers a live return search

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/openWorld/non-destructive, and the description adds a meaningful trait they don't: the result set can be empty on first call while background pricing kicks off, requiring a retry. That asynchronous, possibly-incomplete behavior is exactly the kind of thing annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is a long run-on enumeration of return categories that partly duplicates the output schema, and the key operational fact (empty cache triggers pricing, retry later) is buried at the end. It is readable but not tightly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema covering return values and annotations covering the safety profile, the description only needed to add the async empty-result behavior, which it does. Parameter and return documentation are adequately covered elsewhere, so the definition is essentially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so from/to/month are already documented in the schema. The description's fare-type listing describes return content rather than adding syntax or constraints to the parameters, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (all fare data held for one airport pair) and enumerates the kinds of fares returned, so the agent knows exactly what it retrieves. It does not, however, differentiate itself from the sibling cheapest_routes, leaving the agent to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The line 'If we hold nothing yet, it starts pricing the route and says so; ask again a minute later' gives concrete retry guidance for the empty-cache case, which is genuinely useful. But it never says when to reach for this tool versus cheapest_routes, so alternative selection is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedroute_fares1 field changed
      • changedOutput schema / properties / cheapest / description
        Previous value: -"the cheapest one-way"New value: +"the cheapest one-way; absent when we hold no dated one-way"
  2. 3 tool updates
    • First observedcheapest_routes
    • First observedfind_airports
    • First observedroute_fares

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources