Polish charter flight search across Rainbow, Itaka and TUI operators, prices in PLN.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Charter flight itineraries from Itaka.pl between a Polish origin and a charter destination: each itinerary carries full legs (airports, dates, times, carrier, stops), per-person and total price, and a direct booking URL. Prices are charter seat prices in PLN. Only supports Itaka's fixed airport list — the error message lists valid codes when one is unsupported. Result shape: { source, fetchedAt, query, search_url, route, total_pages, current_page, total_rates, count, itineraries: [...] } — the list key is `itineraries`. Each: { trip_type, price_total, price_per_person, currency, booking_url, outbound, return_flight }, where outbound/return_flight are { departure: { city, airport_code, date, time, carrier, flight_number }, arrival: { city, airport_code, date, time }, duration_minutes, stops } and `return_flight` is null on a one-way.
Polish origin IATA code (WAW, KRK, GDN, KTW, WRO, POZ, RZE, SZZ, BZG, LCJ, LUZ, RDO, SZY, IEG).
Destination IATA code from Itaka's charter network, e.g. AYT, HER, FNC.
1-indexed result page. Default 1.
Number of adults. Default 2.
Result ordering. Default Itaka's own.
Force a fresh fetch and bypass this server's result cache. Default false.
Trip type. Default returnTicket.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http czartery https://mcp.wondel.ai/czartery/mcp
Charter flight itineraries from Itaka.pl between a Polish origin and a charter destination: each itinerary carries full legs (airports, dates, times, carrier, stops), per-person and total price, and a direct booking URL. Prices are charter seat prices in PLN. Only supports Itaka's fixed airport list — the error message lists valid codes when one is unsupported. Result shape: { source, fetchedAt, query, search_url, route, total_pages, current_page, total_rates, count, itineraries: [...] } — the list key is `itineraries`. Each: { trip_type, price_total, price_per_person, currency, booking_url, outbound, return_flight }, where outbound/return_flight are { departure: { city, airport_code, date, time, carrier, flight_number }, arrival: { city, airport_code, date, time }, duration_minutes, stops } and `return_flight` is null on a one-way.
| Argument | Type | Description |
|---|---|---|
| page | integer | 1-indexed result page. Default 1. |
| adults | integer | Number of adults. Default 2. |
| origin* | string | Polish origin IATA code (WAW, KRK, GDN, KTW, WRO, POZ, RZE, SZZ, BZG, LCJ, LUZ, RDO, SZY, IEG). |
| sort_by | string | Result ordering. Default Itaka's own. |
| no_cache | boolean | Force a fresh fetch and bypass this server's result cache. Default false. |
| destination* | string | Destination IATA code from Itaka's charter network, e.g. AYT, HER, FNC. |
| flight_type | string | Trip type. Default returnTicket. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"origin",
"destination"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "1-indexed result page. Default 1."
},
"adults": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Number of adults. Default 2."
},
"origin": {
"type": "string",
"minLength": 3,
"description": "Polish origin IATA code (WAW, KRK, GDN, KTW, WRO, POZ, RZE, SZZ, BZG, LCJ, LUZ, RDO, SZY, IEG)."
},
"sort_by": {
"enum": [
"priceAsc",
"priceDesc",
"dateFromAsc",
"dateFromDesc"
],
"type": "string",
"description": "Result ordering. Default Itaka's own."
},
"no_cache": {
"type": "boolean",
"description": "Force a fresh fetch and bypass this server's result cache. Default false."
},
"destination": {
"type": "string",
"minLength": 3,
"description": "Destination IATA code from Itaka's charter network, e.g. AYT, HER, FNC."
},
"flight_type": {
"enum": [
"returnTicket",
"oneWayTicket"
],
"type": "string",
"description": "Trip type. Default returnTicket."
}
}
}Charter flight destinations sold by Rainbow Tours (biletyczarterowe.r.pl) matching optional destination/origin/date filters: per destination you get the country, region, nearest departure date, baggage allowance and the lowest per-person price. Prices are charter seat prices in PLN. Use rainbow_search_outbound for day-by-day flights to one destination. Result shape: { source, fetchedAt, query, search_url, count, flights: [...], price_range: { min, max } } — the list key is `flights`, but each entry is a DESTINATION, not a single flight: { destination, destination_iata, country, region, departure_date, price_per_person, currency, baggage_kg }.
| Argument | Type | Description |
|---|---|---|
| adults | integer | Number of adults. Default 2. |
| one_way | boolean | Search one-way charters instead of returns. Default false. |
| origins | array | Polish origin IATA codes to filter by, e.g. ['WAW','KTW']. Omit for all. |
| no_cache | boolean | Force a fresh fetch and bypass this server's result cache. Default false. |
| departure_to | string | Latest departure date, YYYY-MM-DD. |
| destinations | array | Destination IATA codes to filter by, e.g. ['AYT','HRG']. Omit for all. |
| departure_from | string | Earliest departure date, YYYY-MM-DD. |
Day-by-day outbound charter flights to ONE Rainbow destination in a date window: per day the cheapest price and every flight with origin, departure time, airline, flight number, baggage and per-person/total price. Prices are charter seat prices in PLN. Get destination codes from rainbow_search_charters. Result shape: { source, fetchedAt, query, search_url, destination, period, days_with_flights, days: [...] } — the list key is `days`, one entry per calendar day: { date, cheapest_price, flights: [{ origin, destination, departure_time, price_per_person, total_price, currency, airline_code, flight_number, cabin_baggage_kg, checked_baggage_kg, meals_included }] }. A day with no flights is simply absent.
| Argument | Type | Description |
|---|---|---|
| adults | integer | Number of adults. Default 2. |
| date_to* | string | Window end, YYYY-MM-DD. |
| origins | array | Polish origin IATA codes to filter by. Omit for all. |
| no_cache | boolean | Force a fresh fetch and bypass this server's result cache. Default false. |
| date_from* | string | Window start, YYYY-MM-DD. |
| destination* | string | Destination IATA code, e.g. AYT. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"destination",
"date_from",
"date_to"
],
"properties": {
"adults": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Number of adults. Default 2."
},
"date_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Window end, YYYY-MM-DD."
},
"origins": {
"type": "array",
"items": {
"type": "string",
"minLength": 3
},
"description": "Polish origin IATA codes to filter by. Omit for all."
},
"no_cache": {
"type": "boolean",
"description": "Force a fresh fetch and bypass this server's result cache. Default false."
},
"date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Window start, YYYY-MM-DD."
},
"destination": {
"type": "string",
"minLength": 3,
"description": "Destination IATA code, e.g. AYT."
}
}
}Charter destinations sold on TUI.pl for a stay-length window, with per-person and total prices: filter by origin/destination airports and trip duration in days. Prices are charter seat prices in PLN. Result shape: { source, fetchedAt, query, search_url, passengers, duration, count, destinations: [...] } — the list key is `destinations`. Each: { destination_name, airport_code, country, per_person_price, total_price, currency }. There are no per-flight times here; TUI only publishes a destination price.
| Argument | Type | Description |
|---|---|---|
| adults | integer | Number of adults. Default 2. |
| no_cache | boolean | Force a fresh fetch and bypass this server's result cache. Default false. |
| duration_to | integer | Maximum stay length in days. Default 8. |
| duration_from | integer | Minimum stay length in days. Default 6. |
| departure_airports | array | Origin IATA codes to filter by, e.g. ['WAW']. Omit for all. |
| destination_airports | array | Destination IATA codes to filter by, e.g. ['AYT']. Omit for all. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"adults": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Number of adults. Default 2."
},
"no_cache": {
"type": "boolean",
"description": "Force a fresh fetch and bypass this server's result cache. Default false."
},
"duration_to": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Maximum stay length in days. Default 8."
},
"duration_from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Minimum stay length in days. Default 6."
},
"departure_airports": {
"type": "array",
"items": {
"type": "string",
"minLength": 3
},
"description": "Origin IATA codes to filter by, e.g. ['WAW']. Omit for all."
},
"destination_airports": {
"type": "array",
"items": {
"type": "string",
"minLength": 3
},
"description": "Destination IATA codes to filter by, e.g. ['AYT']. Omit for all."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"adults": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Number of adults. Default 2."
},
"one_way": {
"type": "boolean",
"description": "Search one-way charters instead of returns. Default false."
},
"origins": {
"type": "array",
"items": {
"type": "string",
"minLength": 3
},
"description": "Polish origin IATA codes to filter by, e.g. ['WAW','KTW']. Omit for all."
},
"no_cache": {
"type": "boolean",
"description": "Force a fresh fetch and bypass this server's result cache. Default false."
},
"departure_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Latest departure date, YYYY-MM-DD."
},
"destinations": {
"type": "array",
"items": {
"type": "string",
"minLength": 3
},
"description": "Destination IATA codes to filter by, e.g. ['AYT','HRG']. Omit for all."
},
"departure_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest departure date, YYYY-MM-DD."
}
}
}