_ registry / mcp http-sse · checked 31m ago

Flight Search MCP Server

https://flights.fctolabs.com

Registry code: cd72a2e452599680

api record

This is a comprehensive Flight Search MCP server that provides tools for:

## Flight Search & Booking:

endpoint
https://flights.fctolabs.com/mcp
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 Flight Search MCP Server live?
Yes — it answered the hub's last check (checked 31m ago). It answered 100% of checks over the last 30 days.
Is Flight Search MCP Server free to use?
Yes — the hub reached it with no key and no payment.
What tools does Flight Search MCP Server have?
4 tools: discover_flights, get_reference_data, search_flights, search_calendar.
Is Flight Search 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.4%· all time 99.4%

latency
548ms

last good check

priced tools
0

of 4 tools

_ answered our checks, 90 days 332 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 cheapest flights between cities
  • find cheapest travel dates for a route
  • discover flight deals from an airport
  • look up airports and airlines
takes → gives
text → data
tools
4 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 4 tools
4 never probed 0 of 4 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.

  • discover_flights reads unknown never probed

    Discover flight deals and travel inspiration. Get popular routes, find alternative nearby airports for better deals, or browse special offers from an origin city. Great for flexible travel planning.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "enum": [
            "popular_routes",
            "alternative_directions",
            "special_offers"
          ],
          "type": "string"
        },
        "origin": {
          "type": "string",
          "description": "IATA code for the origin airport (e.g., 'LAX')."
        },
        "options": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Number of results to return."
            },
            "currency": {
              "type": "string",
              "maxLength": 3,
              "minLength": 3,
              "description": "Currency code (e.g., 'USD')."
            },
            "distance": {
              "type": "integer",
              "maximum": 1000,
              "minimum": 1,
              "description": "Search radius for alternative directions (km)."
            },
            "depart_date": {
              "type": "string",
              "description": "Departure date (YYYY-MM-DD format, required for alternative_directions)."
            },
            "destination": {
              "type": "string",
              "description": "IATA code for destination (required for alternative_directions)."
            },
            "flexibility": {
              "type": "integer",
              "maximum": 30,
              "minimum": 0,
              "description": "Date flexibility offset (days)."
            },
            "return_date": {
              "type": "string",
              "description": "Return date (YYYY-MM-DD format, required for alternative_directions)."
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
    arguments 64 lines
  • get_reference_data reads unknown 15h ago

    Get travel reference data - airports, cities, airlines, or countries. Use 'list' to get all data or 'search' with query to find specific items. Helpful for finding IATA codes and location information.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "type",
        "action"
      ],
      "properties": {
        "type": {
          "enum": [
            "airports",
            "cities",
            "airlines",
            "countries"
          ],
          "type": "string"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Number of results to return for 'search' action."
        },
        "query": {
          "type": "string",
          "description": "Search query for 'search' action."
        },
        "action": {
          "enum": [
            "list",
            "search"
          ],
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 37 lines
  • search_flights reads unknown 15h ago

    Search for flights between cities or airports. Provide city names or IATA codes (e.g., 'Austin', 'LAX') and departure date. City names often work better than airport codes. For round-trip flights, always provide a return_date. For one-way flights, omit the return_date parameter.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "origin",
        "destination",
        "depart_date"
      ],
      "properties": {
        "origin": {
          "type": "string",
          "description": "City name for the origin (e.g., 'Austin', 'LAX'). City names often work better than airport codes."
        },
        "options": {
          "type": "object",
          "properties": {
            "sort": {
              "enum": [
                "price",
                "duration",
                "quality",
                "date"
              ],
              "type": "string",
              "description": "Sort results by: price, duration, quality or date (default: date)"
            },
            "locale": {
              "type": "string",
              "maxLength": 5,
              "minLength": 2,
              "description": "Language of city names and kiwi.com website links (examples: en, uk, de, fr, es, it, ru etc.)"
            },
            "currency": {
              "type": "string",
              "description": "Currency for response (examples: EUR, USD, GBP, JPY, CAD, AUD, NZD, CHF etc.)"
            },
            "passengers": {
              "type": "object",
              "properties": {
                "adults": {
                  "type": "integer",
                  "maximum": 9,
                  "minimum": 0,
                  "description": "Number of adults (over 12 years old included)"
                },
                "infants": {
                  "type": "integer",
                  "maximum": 4,
                  "minimum": 0,
                  "description": "Number of infants (under 2 years old)"
                },
                "children": {
                  "type": "integer",
                  "maximum": 8,
                  "minimum": 0,
                  "description": "Number of children (from 3 to 11 years old included)"
                }
              },
              "description": "Passengers details. The total number of passengers must be between 1 and 9. There must be at least one adult. There must be at least one adult per infant.",
              "additionalProperties": false
            },
            "cabin_class": {
              "enum": [
                "M",
                "W",
                "C",
                "F"
              ],
              "type": "string",
              "description": "Cabin class: M (economy), W (economy premium), C (business), F (first class)"
            },
            "return_date_flex_range": {
              "type": "integer",
              "maximum": 3,
              "minimum": 0,
              "description": "Return date flexibility range in days (0 to 3 days before/after the selected return date)"
            },
            "departure_date_flex_range": {
              "type": "integer",
              "maximum": 3,
              "minimum": 0,
              "description": "Departure date flexibility range in days (0 to 3 days before/after the selected departure date)"
            }
          },
          "description": "Additional search options for more precise flight search",
          "additionalProperties": false
        },
        "depart_date": {
          "type": "string",
          "description": "Departure date in any format accepted by Kiwi (e.g., '2024-09-07', '07/09/2024', 'September 7, 2024')."
        },
        "destination": {
          "type": "string",
          "description": "City name for the destination (e.g., 'San Francisco', 'NRT'). City names often work better than airport codes."
        },
        "return_date": {
          "type": "string",
          "description": "Return date for round-trip flights in any format accepted by Kiwi (e.g., '2024-09-14', '14/09/2024', 'September 14, 2024'). Omit this parameter for one-way flights."
        }
      },
      "additionalProperties": false
    }
    arguments 102 lines
  • search_calendar reads unknown 15h ago

    Find the cheapest travel dates for a route. Provide origin/destination airports and target month/date. Returns price calendar showing best dates to travel. Supports V1 price trends (daily cheapest non-stop/one-stop/two-stop flights) and V2 matrix views. Optional: trip length, flight class, calendar type.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "origin",
        "destination",
        "date"
      ],
      "properties": {
        "date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}(-\\d{2})?$"
        },
        "origin": {
          "type": "string",
          "description": "IATA code for the origin airport (e.g., 'LAX')."
        },
        "options": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Number of results to return (default: 30)."
            },
            "market": {
              "type": "string",
              "description": "Market code (default: 'us')."
            },
            "one_way": {
              "type": "boolean",
              "description": "One-way flight search (default: false, only for month-matrix)."
            },
            "sorting": {
              "enum": [
                "price",
                "route",
                "distance_unit_price"
              ],
              "type": "string",
              "description": "Sorting method: 'price', 'route', or 'distance_unit_price' (default: 'price')."
            },
            "currency": {
              "type": "string",
              "default": "USD",
              "maxLength": 3,
              "minLength": 3,
              "description": "Currency code (e.g., 'USD')."
            },
            "trip_class": {
              "type": "integer",
              "maximum": 2,
              "minimum": 0,
              "description": "Flight class: 0=economy, 1=business, 2=first class (default: 0)."
            },
            "api_version": {
              "enum": [
                "v1",
                "v2"
              ],
              "type": "string",
              "default": "v2",
              "description": "API version: 'v1' for price trends calendar, 'v2' for matrix calendars (default: 'v2')."
            },
            "return_date": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}(-\\d{2})?$",
              "description": "Return month for V1 price trends calendar (YYYY-MM format)."
            },
            "trip_length": {
              "type": "integer",
              "maximum": 30,
              "minimum": 1,
              "description": "Length of stay in days (default: 7)."
            },
            "calendar_type": {
              "enum": [
                "month",
                "week",
                "price_trends"
              ],
              "type": "string",
              "default": "month",
              "description": "Calendar type: 'month' for month-matrix, 'week' for week-matrix, 'price_trends' for V1 daily price trends (default: 'month')."
            }
          },
          "additionalProperties": false
        },
        "destination": {
          "type": "string",
          "description": "IATA code for the destination airport (e.g., 'NRT')."
        }
      },
      "additionalProperties": false
    }
    arguments 96 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 cd72a2e452599680.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/cd72a2e452599680/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/cd72a2e452599680/badge.svg)](https://brick.blue/agent/cd72a2e452599680?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
80%

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.