Data source: Amadeus GDS
https://context.gnist.ai/mcp/flights/
AuthenticationAll requests require a Gnist-API-Key header (or api_key query parameter).
Free tier: 100 calls/day. Get your API key.
Tools (7)
search_flightssearch_award_flightslist_flight_sourcessas_awards_searchsas_awards_list_destinationssas_awards_get_configreport_feedback
search_flightsSearch for flights across multiple data sources.
Queries the Amadeus GDS API. Additional sources (Kiwi, SAS EuroBonus,
Seats.aero) are planned. Results are sorted by price or points depending
on mode.
Examples:
search_flights(origin="OSL", destination="JFK", departure_date="2026-06-15")
search_flights(origin="OSL", destination="JFK", departure_date="2026-06-15", return_date="2026-06-22", cabin_class="business")
search_flights(origin="OSL", destination="JFK", departure_date="2026-06-15", mode="award")
| Parameter | Type | Required | Description |
|---|---|---|---|
origin | string | required | Origin IATA airport code (e.g. 'OSL'). |
destination | string | required | Destination IATA airport code (e.g. 'JFK'). |
departure_date | string | required | Departure date (YYYY-MM-DD). |
return_date | any | optional | Return date for round-trip (YYYY-MM-DD). Omit for one-way. |
adults | integer | optional | Number of adult passengers. (default: 1) |
cabin_class | any | optional | Cabin class: economy, premium_economy, business, or first. |
mode | string | optional | Search mode: 'revenue' (paid flights), 'award' (points/miles), or 'all'. (default: "all") |
max_results | integer | optional | Maximum number of results to return. (default: 20) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_flights",
"arguments": {
"origin": "example",
"destination": "example",
"departure_date": "example"
}
}
}search_award_flightsSearch specifically for award flights (points/miles redemptions).
Queries for award flights (points/miles). Currently uses Amadeus;
SAS EuroBonus and Seats.aero are planned. Results are sorted by points cost.
Examples:
search_award_flights(origin="OSL", destination="JFK", departure_date="2026-06-15")
search_award_flights(origin="OSL", destination="LAX", departure_date="2026-07-01", cabin_class="business")
| Parameter | Type | Required | Description |
|---|---|---|---|
origin | string | required | Origin IATA airport code (e.g. 'OSL'). |
destination | string | required | Destination IATA airport code (e.g. 'JFK'). |
departure_date | string | required | Departure date (YYYY-MM-DD). |
return_date | any | optional | Return date for round-trip (YYYY-MM-DD). Omit for one-way. |
adults | integer | optional | Number of adult passengers. (default: 1) |
cabin_class | any | optional | Cabin class: economy, premium_economy, business, or first. |
max_results | integer | optional | Maximum number of results to return. (default: 10) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_award_flights",
"arguments": {
"origin": "example",
"destination": "example",
"departure_date": "example"
}
}
}list_flight_sourcesList all registered flight data sources and their status.
Shows which sources are available, what modes they support (revenue/award),
and whether they are currently enabled.
Examples:
list_flight_sources()
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "list_flight_sources",
"arguments": {}
}
}sas_awards_searchSearch for SAS EuroBonus award seat availability on routes from Oslo to North America.
Checks Business and Premium Economy award seats on SAS flights. This is a
slow tool (15-90 seconds depending on destination count) as it queries each
destination sequentially.
Examples:
sas_awards_search()
sas_awards_search(destinations=["MIA", "LAX"], priority_only=True)
sas_awards_search(passengers=2, max_stay_days=14)
| Parameter | Type | Required | Description |
|---|---|---|---|
destinations | any | optional | IATA codes to check (e.g. ['MIA', 'LAX']). Omit to check all 11 configured destinations. |
passengers | integer | optional | Number of seats required on both legs. (default: 3) |
min_stay_days | integer | optional | Minimum stay duration in days. (default: 2) |
max_stay_days | integer | optional | Maximum stay duration in days. (default: 10) |
priority_only | boolean | optional | Return only results for priority destinations (MIA, LAX). (default: false) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "sas_awards_search",
"arguments": {}
}
}sas_awards_list_destinationsList all configured SAS EuroBonus award search destinations.
Shows destination codes, names, cabin class rules, and priority flags.
Examples:
sas_awards_list_destinations()
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "sas_awards_list_destinations",
"arguments": {}
}
}sas_awards_get_configReturn the current SAS EuroBonus search configuration.
Shows origin, default passenger count, stay ranges, and lookahead window.
Examples:
sas_awards_get_config()
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "sas_awards_get_config",
"arguments": {}
}
}report_feedbackReport a bug, feature request, or general feedback for this data source.
Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.
Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "report_feedback",
"arguments": {
"feedback": "example"
}
}
}Quick Start
curl -X POST "https://context.gnist.ai/mcp/flights/" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_flights", "arguments": {"origin": "example", "destination": "example", "departure_date": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/flights/",
headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_flights",
"arguments": {
"origin": "example",
"destination": "example",
"departure_date": "example"
}
}
},
)
print(resp.json())