Skip to main content
Glama

Airfare Brain

Server Details

True cost of a flight's extras (bags, seats, fees) on 11 European airlines, dated and sourced.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct role: listing airlines, fetching an airline's fee schedule, calculating a personalized true cost, and explaining capabilities. airline_fees and true_cost both involve fees, but one returns raw fee data while the other computes a trip-specific total, so the boundary is clear.

Naming Consistency3/5

All names use snake_case, but the grammatical pattern is mixed: get_capabilities and list_airlines are verb_noun, while airline_fees and true_cost are noun phrases. Readable, but not a predictable convention across the set.

Tool Count5/5

Four tools is well-scoped for a focused airline-fee research and true-cost calculator. Each tool covers a distinct part of the workflow without redundancy.

Completeness4/5

The surface covers listing airlines, inspecting fee details, calculating true cost, and understanding scope/limitations. Minor gaps exist around direct airline lookup or comparison, but the core fee-research domain is well covered.

Available Tools

4 tools
airline_feesAirline feesB
Read-onlyIdempotent
Inspect

One airline's published extra fees (bags, seats, priority, check-in, changes, payment), each with the price range, when bought (at booking / later / airport), how it is charged, its source URL and the date checked. Optionally filter by category.

ParametersJSON Schema
NameRequiredDescriptionDefault
airlineYesName or IATA code, e.g. 'Ryanair', 'FR', 'easyJet', 'W6'
categoryNo
currencyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
feesNo
noteNo
pageNo
errorNo
airlineNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds useful freshness context ('the date checked') and source URL, but says nothing about rate limits, caching, or behavior for unknown airlines. With annotations doing the heavy lifting, this is adequate but not rich.

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?

A single front-loaded sentence that leads with the resource and scope before listing return fields and the optional filter. Slightly run-on, but every clause carries information and nothing is wasted.

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

Completeness3/5

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

For a read-only lookup with an output schema, the description need not explain return values, and the 'one airline's' scoping plus filter note is a reasonable minimum. However, it omits the currency parameter's meaning and gives no signal about how this relates to true_cost, so the picture is not fully complete.

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

Parameters2/5

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

Schema coverage is only 33%, so the description should compensate for undocumented parameters. It clarifies that 'category' is an optional filter but never explains the 'currency' parameter (EUR/GBP) or the format of the airline input, leaving a gap the schema also leaves open.

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 names a specific resource ('one airline's published extra fees') and enumerates its scope (bags, seats, priority, check-in, changes, payment), so an agent knows exactly what is returned. It does not differentiate itself from siblings like true_cost or list_airlines, 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?

'Optionally filter by category' implies the filter is optional and the airline is the primary key, but there is no explicit when-to-use guidance, no conditions for choosing this over true_cost, and no exclusions. Usage is only implied.

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

get_capabilitiesGet capabilitiesA
Read-onlyIdempotent
Inspect

What Airfare Brain covers: airlines, how fees are researched and dated, what it does NOT do (no live fares, no booking), and the sister tool for car hire.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
errorNo
methodNo
airlinesNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior, so the description only needs to add context beyond that. It does add useful scope boundaries (no live fares, no booking) and mentions the car-hire sister tool, but it does not disclose anything about the response shape or invocation behavior.

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?

The description is a single efficient sentence that front-loads the main coverage areas. It is appropriately sized for a simple capability-overview tool, though the list-like construction could be slightly clearer.

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?

Given the tool has no parameters, rich annotations, and an output schema, the description supplies enough context: what topics are covered, what is out of scope, and a pointer to a related tool. It does not need to explain return values because the output schema handles that.

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?

The tool takes zero parameters, so parameter semantics fall to the baseline of 4. The description appropriately does not waste space discussing inputs.

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 clearly indicates this is an overview of Airfare Brain's coverage: airlines, fee research, limitations, and a related car-hire tool. It distinguishes itself from data-query siblings by being meta-informational and by explicitly naming what the suite does NOT do. However, it never states outright 'returns capability information,' leaving the verb implicit.

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?

Usage is implied—call this to learn coverage and limitations before using specific tools—but there is no explicit 'use this when' or 'use X instead' guidance. The mention of a sister car-hire tool hints at alternatives, yet the siblings listed (airline_fees, list_airlines, true_cost) are not directly addressed.

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

list_airlinesList airlinesA
Read-onlyIdempotent
Inspect

List every airline with a fee table: name, IATA code, the date its fees were checked, and its page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
errorNo
airlinesNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds the scoping detail that only airlines with a fee table are returned and what fields come back, which is modest but real added context.

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?

A single front-loaded sentence with no filler; the scoping clause ('with a fee table') leads and the returned fields follow compactly.

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?

For a no-parameter list tool with a full output schema and complete annotation coverage, the description supplies everything needed to invoke it correctly. The only shortfall is the absence of any routing guidance against the sibling tools.

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?

The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to clarify about inputs, and it does not confuse the reader with phantom arguments.

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?

Specific verb ('List') plus resource ('every airline') and it enumerates the returned fields (name, IATA code, date fees checked, page). It is clearly distinguishable in intent from siblings like airline_fees or true_cost, but it never names or contrasts those siblings directly.

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

Usage Guidelines2/5

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

No guidance on when to call this versus airline_fees, true_cost, or get_capabilities. The only implied usage comes from the word 'List', which leaves the agent to infer the routing decision on its own.

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

true_costTrue costA
Read-onlyIdempotent
Inspect

The true cost of a flight on one airline: the extras a person chooses (cabin bag, checked bag by kg, seat, priority, infants) for their party and trip, as the range the airline publishes, plus the fare if given. Also lists what costs more if left until the airport, unchosen fees that may apply (admin, card %), and extras the airline does not publish a price for.

ParametersJSON Schema
NameRequiredDescriptionDefault
fareNoTotal fare already found for the whole party, if known
seatNoextra = legroom / front
tripNo
airlineYesName or IATA code
infantsNoUnder-2s on a lap
currencyNo
priorityNo
cabin_bagNoA large cabin bag for the overhead locker
passengersNoPeople aged 2+ (default 1)
checked_bag_kgNoOne checked bag per person of this weight allowance

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
pageNo
errorNo
linesNo
airlineNo
true_costNo
extras_totalNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds substantive behavioral context beyond that: results are airline-published ranges rather than fixed figures, it surfaces airport-penalty pricing, unchosen fees that may apply, and extras with no published price. This tells the agent to expect uncertainty and partial data.

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?

Everything is packed into a single long sentence with three stacked clauses joined by commas and dashes, which makes the output scope ('plus the fare', 'also lists...') hard to scan. Content is front-loaded and largely non-redundant, but structure suffers.

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

Completeness3/5

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

For a 10-parameter analytical tool the description covers the computation model and output nature reasonably well, and an output schema exists so return shape needn't be restated. It is nonetheless silent on when to choose it over airline_fees, how currency and per-passenger multiplication affect the result, and whether the cost is per person or per party.

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 coverage is 70%, so the schema documents most inputs. The description enumerates the same extras (cabin bag, checked bag by kg, seat, priority, infants) and clarifies that fare is optional ('if given'), but adds no syntax, unit, or interaction detail beyond the schema — currency and party math are untouched.

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 computed resource — the all-in cost of one flight on one airline, decomposed into chosen extras, published ranges, and the fare — which is far more precise than the bare name. It never names or distinguishes itself from the sibling airline_fees, so an agent must still infer which of the two to reach for.

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?

Usage is only implied: the tool is for costing a single trip/party on one airline. There is no explicit statement of when to prefer it over airline_fees, nor any prerequisites or exclusions, leaving routing between the two cost-oriented siblings to inference.

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. 4 tool updates
    • First observedairline_fees
    • First observedget_capabilities
    • First observedlist_airlines
    • First observedtrue_cost

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Search flights using Google Flights data via SerpAPI, covering all airlines including low-cost carriers like Ryanair and easyJet.
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to find the cheapest dates to fly a route via Google Flights, supporting one-way and round-trip searches through multiple backends. It provides a tool that can search date ranges, filter by nonstop, seat, currency, and force a particular backend.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    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.
    Apache 2.0
  • A
    license
    B
    quality
    C
    maintenance
    Enables finding and comparing cash and award flights, with seat maps and trip planning, ranking options by user-defined per-mile valuations.
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources