Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTNoListening address (HTTP transport only). Defaults to 0.0.0.0 in Docker.127.0.0.1
PORTNoListening port (HTTP transport only).8080
TRUST_PROXYNoHow many reverse proxies' X-Forwarded-For entries to trust when finding the client IP. Defaults to 1 in Docker.0
ALLOWED_HOSTSNoComma-separated Host values accepted on /mcp, against DNS rebinding. Defaults to loopback names on a loopback HOST, otherwise any.
FLIGHTBYTE_KEYNoYour FlightByte API key, used by the local stdio server. Without it the API tools explain how to set one and the docs tools still work. The hosted server ignores it and reads the key from each request's header instead.
FLIGHTBYTE_API_URLNoAPI base URL, e.g. http://localhost:3000/v1 for a local API.https://api.flightbyte.dev/v1
FLIGHTBYTE_DOCS_URLNoDocs site that serves /llms-full.txt and <page>.md.https://flightbyte.dev
RATE_LIMIT_PER_MINUTENoRequests to /mcp per client IP per minute; 0 turns it off.120

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_docsA

Keyword search over the whole FlightByte documentation: the docs, the API reference, the engineering guides and the glossary. Returns the best-matching sections with title, URL and a snippet. Use it before answering questions about the API (authentication, quotas, errors, flight lookups, leg selection, subscriptions, webhook payloads and change types, signature verification, retries) or before writing integration code, then read the full page with get_doc_page. Works without an API key.

get_doc_pageA

Fetch one FlightByte documentation page as Markdown. Accepts a URL from search_docs (anchors are ignored) or a path such as "/docs/webhooks", "/docs/reference/subscriptions/create-subscription", "/guides/verifying-webhook-signatures" or "/glossary/flight-phase". "/docs" is the introduction, with links to every page. Works without an API key.

get_flightA

Look up the live status of one flight leg by airline code, flight number and local departure date, e.g. TK1848 on 2026-10-18 → carrier "TK", flightNumber "1848", date "2026-10-18". Returns FlightByte's flight snapshot: status.phase to branch on (scheduled, boarding, departed, en_route, landed, arrived, cancelled, diverted, redirected, unknown) with delayed/cancelled/diverted flags; departure and arrival airports with terminal, gate and baggage carousel; scheduled, estimated and actual gate and runway times in UTC and local time (bestTimeUtc is the best single time, delayMinutes the gate delay); aircraft, codeshares, the airline timeline, cached, and alternates: every leg this flight number operates that day. Some numbers fly more than one leg a day (TK1 is SAW→AMS in the morning and IST→JFK later): without a selector the default leg is returned, so pass origin when the user named a departure airport. For updates over time, create a subscription instead of calling this repeatedly.

search_flightsA

The same lookup as get_flight (same parameters, same snapshot), sent as query parameters to /v1/flights/search. Use either one, not both. Returns FlightByte's flight snapshot: status.phase to branch on (scheduled, boarding, departed, en_route, landed, arrived, cancelled, diverted, redirected, unknown) with delayed/cancelled/diverted flags; departure and arrival airports with terminal, gate and baggage carousel; scheduled, estimated and actual gate and runway times in UTC and local time (bestTimeUtc is the best single time, delayMinutes the gate delay); aircraft, codeshares, the airline timeline, cached, and alternates: every leg this flight number operates that day. When the flight number operates several legs that day, pass origin (and optionally destination) to pick one; without a selector the default leg is returned and every leg is listed under alternates.

get_flight_timelineA

The airline's own change history for one flight leg, newest first, as {flightKey, count, data}; each entry has occurredAt, title, source and events in the airline's words (e.g. "Actual Gate Arrival changed to 13:35"). Use it for "what changed" or "why is it late" questions. get_flight already contains the same timeline, so call this only when the history alone is needed.

create_subscriptionA

Watch a flight: FlightByte polls it on an adaptive schedule and POSTs a signed webhook to webhookUrl for every change (status, gates, terminals, times, delays, departure, arrival, baggage carousel, cancellation, diversion, aircraft, route, codeshares) until the flight is over. Each new subscription counts as a watched flight on the user's plan (Free: 3 per month) and starts outbound requests to the URL, so only call this when the user asked to watch or be notified about a specific flight and gave the webhook URL. If the flight number operates more than one leg that day the call is refused with the list of legs: pass origin. Flights up to seven days ahead are accepted and wait as pending until published. The response includes the signing secret in full; this is the only time it is shown, so relay it to the user to store for webhook signature verification. Pass Idempotency-Key to make a retry return the same subscription.

list_subscriptionsA

List the subscriptions owned by this API key, newest first, as {total, data}. All filters are optional; page with limit and offset. Secrets are masked (secretHint). Use it to find a subscription id before get, update, pause, resume, delete or log calls.

get_subscriptionA

Fetch one subscription: status (active, pending, paused, completed, suspended) and statusReason, flightKey, flightResolved, webhook URL, event filter, delay threshold, deliveredCount/failedCount, and the last poll, change and delivery times. The secret is masked.

update_subscriptionA

Change a subscription's webhookUrl, events filter, delayThresholdMinutes, headers or metadata. Send only the fields to change; headers and metadata replace the stored maps. The flight cannot be changed: create a new subscription for a different flight.

pause_subscriptionA

Stop polling and webhook deliveries for a subscription without deleting it. Nothing is lost; resume_subscription continues it. Returns the updated subscription.

resume_subscriptionA

Resume a paused subscription, or one that was suspended after 20 consecutive failed deliveries (fix the receiver first; send_test_event checks it). A completed subscription cannot be resumed: create a new one. Returns the updated subscription.

delete_subscriptionA

Permanently delete a subscription: its polling and webhook deliveries stop and it cannot be restored. Confirm with the user first, and prefer pause_subscription if they may want it back. Events and deliveries already recorded stay on FlightByte's side for 30 days.

send_test_eventA

Send a signed subscription.test webhook through the real delivery pipeline to the subscription's webhookUrl, signed with its real secret, and return the eventId. Use it to prove a receiver and its signature check work before the first real change, then call list_deliveries to see how the delivery went.

list_deliveriesA

Recent webhook delivery attempts for a subscription, newest first: eventId, attempt, status, httpStatus, error, durationMs, at and changeTypes. Use it to debug a receiver that is not getting webhooks or is answering with errors. Records are kept for 30 days.

list_eventsA

Recent events generated for a subscription, newest first, with the exact webhook payloads that were sent (the list of changes and the flight snapshot at the time). Use it to see what changed and when, or to replay a payload into a local receiver.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 15 tools

Disambiguation3/5

The subscription tools (get/list/update/pause/resume/delete) are cleanly separated, but get_flight and search_flights are explicitly the same lookup with the same payload, differing only in HTTP method, and get_flight_timeline duplicates the `timeline` already embedded in get_flight. The descriptions do call out these overlaps ('use either one, not both', 'call this only when the history alone is needed'), which mitigates but does not remove the misselection risk.

Naming Consistency5/5

Every tool is snake_case with a verb-first pattern: search_docs, get_doc_page, get_flight, search_flights, get_flight_timeline, create/list/get/update/pause/resume/delete_subscription, send_test_event, list_deliveries, list_events. Resource nouns are consistent (_subscription, _deliveries) and no conventions are mixed.

Tool Count4/5

15 tools is at the top of the well-scoped range and the surface maps cleanly onto four areas: docs, flight lookup, subscription lifecycle, and webhook observability. One tool is arguably redundant (search_flights vs get_flight), which keeps it just short of ideal.

Completeness4/5

Subscription lifecycle is fully covered (create/list/get/update/pause/resume/delete plus test event, deliveries and events for debugging), and docs plus flight lookup are covered. Minor gaps: no way to look up an airport/airline/route or search flights by route, so agents must rely on flight-number lookups or docs for that context.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues