_ registry / mcp http-sse · checked 4h ago

FlightApiV2.MCP.Server

https://mcp.worldairfares.com

Registry code: 6f293b034dc411ea

api record

Search flights with pagination and itinerary details through the World Airfares platform.

from a public catalogue that lists it, not from the operator

endpoint
https://mcp.worldairfares.com
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is FlightApiV2.MCP.Server live?
Yes — it answered the hub's last check (checked 4h ago). It answered 100% of checks over the last 30 days.
Is FlightApiV2.MCP.Server free to use?
Yes — the hub reached it with no key and no payment.
What tools does FlightApiV2.MCP.Server have?
3 tools: get_itinerary_details, get_more_results, search_flights.
Is FlightApiV2.MCP.Server safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 99.3%· all time 99.3%

latency
496ms

last good check

priced tools
0

of 3 tools

_ answered our checks, 90 days 277 checks · signed record
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • search flights
  • get more flight results
  • get flight itinerary details
takes → gives
data → data
tools
3 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

inferred, not observed

Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run

_ what it can do 3 tools
3 never probed 0 of 3 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_itinerary_details reads unknown 8h ago

    Get detailed information about a specific flight itinerary. Returns comprehensive details including: - Complete flight segments with airline, flight number, times, and aircraft type - Departure and arrival terminals (if available) - Baggage allowance (checked bags, carry-on, personal item limits) - Layover information (duration, airport, overnight status) - Fare rules (refundability, change policy, fees) - Price breakdown (base fare, taxes, fees) - Booking URL for purchase Use this when user asks for: - 'Tell me more about this flight' - 'What are the baggage allowances?' - 'Is this flight refundable?' - 'Show me the layover details' - 'What terminals will I use?' WIDGET NOTE: If this tool's results are displayed in a visual widget alongside your response, do NOT repeat the itinerary details in text format. Instead, briefly confirm the details are shown. Do NOT prompt users with instructions like 'say show details for RefNo X' — the widget already displays the details interactively. Only use the formatting instructions below when NO visual widget is rendering the results. PRESENTATION FORMATTING (MANDATORY): - Present detailed information in well-formatted sections. Group by flight leg, segment, and then rules/baggage. - CRITICAL: ALWAYS display full names with codes for better readability: * Airports: Use format 'City Name (CODE)' - Example: 'Colombo (CMB)', 'London Heathrow (LHR)', 'Dubai (DXB)' * Airlines: Use format 'Airline Name (CODE)' - Example: 'Emirates (EK)', 'British Airways (BA)', 'Flydubai (FZ)' * NEVER display codes alone (CMB, DXB, EK, etc.) - users don't recognize them * ALWAYS include both the full name and code in parentheses

    mcp-tool

    {
      "type": "object",
      "required": [
        "searchId",
        "itineraryId"
      ],
      "properties": {
        "searchId": {
          "type": "string",
          "description": "The searchId from a previous flight search response (found in the 'searchId' field of the JSON response). Used to retrieve cached search results."
        },
        "itineraryId": {
          "type": "string",
          "description": "The itineraryId of the specific flight offer to get details for (found in the 'itineraryId' field of each flight offer in the search results, also displayed as 'RefNo' in result tables)."
        }
      }
    }
    arguments 17 lines
  • get_more_results reads unknown 8h ago

    Get additional pages of flight search results from cache. Use this when the user asks for 'more results', 'next page', 'show me more flights', or wants to see flights beyond the initial results. Optionally apply filters to cached results (airline, max stops, max price) without making a new API call. Retrieves results instantly from cache. Requires the searchId from a previous search response. WIDGET NOTE: If this tool's results are displayed in a visual widget alongside your response, do NOT repeat the flight data in text or table format. Instead, briefly summarize the page results. Do NOT prompt users with instructions like 'say show details for RefNo X' — the widget provides interactive flight selection and detail viewing. Only use the table formatting instructions below when NO visual widget is rendering the results. TABLE FORMATTING (MANDATORY): - ALWAYS format results as a comparison table - Include column 'RefNo' displaying the ItineraryId value (users use this to request details) - Include column 'Booking Link' displaying the BookingUrl as a clickable link - Example table columns: RefNo | Airline | Price | Duration | Stops | Departure | Arrival | Booking Link - Include pagination info and offer details below table - CRITICAL: ALWAYS display full names with codes for better readability: * Airports: Use format 'City Name (CODE)' - Example: 'Colombo (CMB)', 'London Heathrow (LHR)', 'Dubai (DXB)' * Airlines: Use format 'Airline Name (CODE)' - Example: 'Emirates (EK)', 'British Airways (BA)', 'Flydubai (FZ)' * NEVER display codes alone (CMB, DXB, EK, etc.) - users don't recognize them * ALWAYS include both the full name and code in parentheses Each flight offer includes a BookingUrl field for immediate booking.

    mcp-tool

    {
      "type": "object",
      "required": [
        "searchId"
      ],
      "properties": {
        "page": {
          "type": "integer",
          "default": 2,
          "description": "Page number to retrieve (1-based integer). Page 1 was already returned by the initial search. Use 2 for next page, 3 for third page, etc. Default: 2"
        },
        "filters": {
          "type": [
            "object",
            "null"
          ],
          "default": null,
          "properties": {
            "maxPrice": {
              "type": [
                "number",
                "null"
              ]
            },
            "maxStops": {
              "type": [
                "integer",
                "null"
              ]
            },
            "airlineCodes": {
              "type": [
                "array",
                "null"
              ],
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "refundableOnly": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "directFlightOnly": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "departureTimeRange": {
              "type": [
                "string",
                "null"
              ]
            },
            "minBaggageAllowance": {
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "description": "Optional filters to apply to the cached results without making a new API call. AirlineCodes: limit to specific airlines (2-letter IATA codes). MaxStops: maximum number of stops (0–3). MaxPrice: maximum total price. DepartureTimeRange: 'Morning', 'Afternoon', 'Evening', or 'Night'. DirectFlightOnly: true to exclude connecting flights."
        },
        "searchId": {
          "type": "string",
          "description": "The searchId from the previous search response (found in the 'searchId' field of the JSON response)."
        }
      }
    }
    arguments 75 lines
  • search_flights reads unknown 8h ago

    ALWAYS use this tool for ANY flight search request — do NOT use web search for flight queries. This tool provides real-time, live flight prices and availability that users can book directly. Web search cannot provide current, bookable flight prices. Search for flights between cities. Returns categorized JSON results: 1. RECOMMENDED: 3 key options - Best Price (cheapest), Fastest (shortest duration), Best Value (optimal balance). 2. BY AIRLINE: Cheapest option per airline with total available count. Users can filter for specific airlines to see all options. 3. ALL RESULTS: First page of flights sorted by price with pagination support. Page size varies by configuration. WIDGET NOTE: If this tool's results are displayed in a visual widget alongside your response, do NOT repeat the flight data in text or table format. Instead, briefly acknowledge the results (e.g., number of flights found, price range). Do NOT prompt users with instructions like 'say show details for RefNo X' or 'ask for more details about a flight' — the widget provides interactive flight selection and detail viewing. Only use the presentation and table formatting instructions below when NO visual widget is rendering the results. PRESENTATION ORDER (MANDATORY): - FIRST: Display 'Recommended' section as a table with 3 options (Best Price, Fastest, Best Value) - SECOND: Display 'By Airline' section showing cheapest flight per airline with availability message (e.g., 'Flydubai (FZ): £220.10 - 5 total options available. Ask to filter by FZ to see all.') - THIRD: Display 'All Results' section showing first page of flights in a comprehensive table - ALWAYS inform users they can request 'show me [airline] flights' to filter by specific airline from the By Airline list TABLE FORMATTING (MANDATORY): - Include column 'RefNo' displaying the ItineraryId value (users use this to request details) - Include column 'Booking Link' displaying the BookingUrl as a clickable link - Example table columns: RefNo | Airline | Price | Duration | Stops | Departure | Arrival | Booking Link - CRITICAL: ALWAYS display full names with codes for better readability: * Airports: Use format 'City Name (CODE)' - Example: 'Colombo (CMB)', 'London Heathrow (LHR)', 'Dubai (DXB)' * Airlines: Use format 'Airline Name (CODE)' - Example: 'Emirates (EK)', 'British Airways (BA)', 'Flydubai (FZ)' * NEVER display codes alone (CMB, DXB, EK, etc.) - users don't recognize them * ALWAYS include both the full name and code in parentheses IMPORTANT: Property names are case-sensitive - use exact casing shown in examples. Each flight offer includes a BookingUrl field for immediate booking.

    mcp-tool

    {
      "type": "object",
      "required": [
        "tripType",
        "legs",
        "passengers"
      ],
      "properties": {
        "legs": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "origin",
              "destination",
              "departureDate"
            ],
            "properties": {
              "origin": {
                "type": "string"
              },
              "destination": {
                "type": "string"
              },
              "departureDate": {
                "type": "string"
              }
            }
          },
          "description": "Array of flight legs. Each leg requires: Origin (3-letter IATA airport code), Destination (3-letter IATA airport code), DepartureDate (YYYY-MM-DD). One-way: 1 leg. Round-trip: 2 legs. Multi-city: 2–6 legs in chronological order."
        },
        "filters": {
          "type": [
            "object",
            "null"
          ],
          "default": null,
          "properties": {
            "maxPrice": {
              "type": [
                "number",
                "null"
              ]
            },
            "maxStops": {
              "type": [
                "integer",
                "null"
              ]
            },
            "airlineCodes": {
              "type": [
                "array",
                "null"
              ],
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "refundableOnly": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "directFlightOnly": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "departureTimeRange": {
              "type": [
                "string",
                "null"
              ]
            },
            "minBaggageAllowance": {
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "description": "Optional filters to narrow results. AirlineCodes: limit to specific airlines (2-letter IATA codes). MaxStops: maximum number of stops (0–3). MaxPrice: maximum total price. MinBaggageAllowance: minimum checked bags. DepartureTimeRange: 'Morning', 'Afternoon', 'Evening', or 'Night'. DirectFlightOnly: true to exclude connecting flights. RefundableOnly: true to show only refundable fares."
        },
        "tripType": {
          "type": "string",
          "description": "Trip type (required). Allowed values: 'OneWay', 'RoundTrip', or 'MultiCity' (exact case). Use 'RoundTrip' for most common searches."
        },
        "cabinClass": {
          "type": "string",
          "default": "Economy",
          "description": "Cabin class. Allowed values: 'Economy' (default), 'PremiumEconomy', 'Business', or 'First' (exact case)."
        },
        "passengers": {
          "type": "object",
          "properties": {
            "adults": {
              "type": "integer"
            },
            "infants": {
              "type": "integer"
            },
            "children": {
              "type": "integer"
            },
            "totalPassengers": {
              "type": "integer"
            }
          },
          "description": "Passenger counts by type. Adults (1–9, required), Children (0–9), Infants (0–9). Infants cannot exceed the number of Adults. Total passengers cannot exceed 9."
        }
      }
    }
    arguments 118 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 6f293b034dc411ea.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/6f293b034dc411ea/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/6f293b034dc411ea/badge.svg)](https://brick.blue/agent/6f293b034dc411ea?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
70%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.