Skip to main content
Glama

Server Details

Search real flights and buy an onward ticket (proof of onward travel), paid in USDC over MPP

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
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct role: find_airports resolves IATA codes, search_flights discovers bookable flights with ids/prices, and buy_ticket handles payment and issuance. There is no overlap, and the descriptions explicitly cross-reference the workflow between them.

Naming Consistency5/5

All three tools follow a strict verb_noun pattern (find_airports, search_flights, buy_ticket) with consistent snake_case formatting.

Tool Count4/5

Three tools is lean but sensible for a narrow service that only needs lookup, search, and purchase. It is slightly thin, since there is no tool for post-purchase status or retrieval, but nothing is redundant.

Completeness4/5

The core lifecycle (resolve airport -> search flights -> buy ticket) is fully covered, including both x402 and MPP payment paths. Minor gaps exist: no round-trip search, no cancellation/refund, and no way to re-fetch an existing ticket.

Available Tools

3 tools
buy_ticketBuy onward ticketA
Idempotent
Inspect

Buy the ticket for a flight from search_flights, paid in USDC. Call it first without payment to get the price, wallet address and MPP challenges. After sending the USDC, call it again with tx_hash and chain (or an MPP credential in _meta "org.paymentauth/credential"). x402 clients can instead sign one of the offers in error.data.x402 and retry with the PaymentPayload in _meta "x402/payment", with no gas needed. Returns the ticket link and PDF.

NameRequiredDescriptionDefault
chainNoChain the USDC was sent on, defaults to base
emailNoOptional, also emails the ticket here
tx_hashNoHash of the USDC transfer that paid for it
last_nameYesPassenger's last name, as on their passport
ticket_idYesThe flight id from search_flights
first_nameYesPassenger's first name, as on their passport

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover only the generic safety profile (readOnly=false, idempotent=true, destructive=false, openWorld=true), but the description adds the non-obvious two-phase call protocol, the two accepted payment mechanisms, the fact that no gas is needed for x402, the location of payment offers in error.data.x402, and the return contents. None of this is derivable from the structured fields and nothing contradicts the annotations.

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 call sequence is front-loaded in the first sentence and each subsequent sentence carries distinct information about a different payment path. It is dense and slightly run-on when listing the x402 fallback, but no sentence is filler given the complexity of the protocol being described.

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?

For a paid, open-world purchase tool with no output schema, the description supplies the prerequisites, both payment flows, the retry inputs, and the return shape ('the ticket link and PDF'). An agent has everything needed to drive the two-call interaction without guessing.

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 six parameters are already documented and the baseline would be 3. The description earns above baseline by explaining the role of tx_hash (proof of the USDC transfer) and chain (default base) within the payment flow, and by documenting the _meta 'org.paymentauth/credential' and 'x402/payment' payloads that are not represented in the schema at all.

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 a specific verb and resource ('Buy the ticket for a flight from search_flights, paid in USDC') and ties the input directly to the sibling tool that produces it. An agent can distinguish this from search_flights and find_airports without opening any schema, since the payment and purchase semantics are unique to this tool.

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

Usage Guidelines5/5

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

Gives explicit sequencing ('Call it first without payment to get the price... After sending the USDC, call it again with tx_hash and chain') and names an alternative payment path for x402 clients with the exact retry mechanics. Both when-to-use and the alternate route are spelled out, leaving nothing to inference.

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 3 letter IATA airport codes by city, airport or country name.

NameRequiredDescriptionDefault
queryYesCity, airport, country or code, e.g. "Bangkok"

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 and openWorldHint=false, so the safety profile is covered. The description adds that results are 3-letter IATA codes, but says nothing about how ambiguous matches (multiple airports per city) are handled or how results are returned; with annotations doing the heavy lifting, this is adequate but thin.

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; every clause (verb, output type, lookup keys) earns its place.

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 one-parameter lookup with no output schema, the description should say what comes back and whether multiple matches are possible. It hints at the return type (IATA codes) but omits result shape and ambiguity handling, leaving a modest gap.

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% for the single parameter, and the schema actually documents more accepted inputs ("City, airport, country or code") than the description, which omits code input. Baseline 3 applies since the schema carries the parameter semantics.

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 ("Look up") and resource ("3 letter IATA airport codes") with the lookup keys enumerated. It is clearly distinct in function from the siblings buy_ticket and search_flights, though it never names or contrasts with them.

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 — an agent can infer this is a reference lookup that feeds into search_flights, but the description gives no explicit when-to-use condition, prerequisites, or statement of when not to use it.

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

search_flightsSearch onward flightsA
Read-only
Inspect

Find one-way flights to use as an onward ticket. Returns up to 10 flights, each with an id to buy and its price in USD.

NameRequiredDescriptionDefault
dateNoDeparture date, YYYY-MM-DD, within 9 months. Defaults to 14 days from now.
originYesIATA code of the airport leaving the country the traveller is entering, e.g. "BKK"
destinationYesIATA code of where the onward flight goes, e.g. "SIN"

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavioral context by stating the result shape ('up to 10 flights, each with an id to buy and its price in USD'), which matters because no output schema exists. It omits any rate-limit, auth, or data-freshness notes.

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 with zero filler; the core purpose and the result shape are both front-loaded. Every clause earns its place.

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 no output schema, the description ably covers the return contract (cap of 10, id, USD price) and the schema carries all three parameters. Annotations cover read-only/open-world. The only real gaps are the absence of an explicit alternative (buy_ticket) and any operational caveats.

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%, and the schema itself documents origin, destination, and the date default/format thoroughly. The description adds no syntax or format detail beyond the schema, so the 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?

States a specific verb and resource ('Find one-way flights') plus the intended use case ('as an onward ticket'), which is far more informative than a tautology. It implicitly separates from buy_ticket (purchase) and find_airports (lookup), though it never names those siblings to make the routing explicit.

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 phrase 'to use as an onward ticket' implies the scenario in which this tool is appropriate, giving the agent useful context. However, there is no explicit when-not guidance, no prerequisites, and no named alternative for cases where the agent wants to purchase rather than search.

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. 3 tool updates
    • First observedbuy_ticket
    • First observedfind_airports
    • First observedsearch_flights

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Search flights, compare prices, check visas, look up airports, get travel advisories through a single endpoint.
    -
  • 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
    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.
    17 PyPI
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources