{"apiVersion":"v1","directorySlug":"turkishtechlab-mcp-a7941b0223","title":"Turkish Airlines","description":"Plan and book your Turkish Airlines flights directly in ChatGPT. See real-time flight status, compare fares across cabin classes, and then continue to turkishairlines.com to securely complete your booking. You can also look up existing reservations with your PNR or e-ticket number, check baggage allowances, explore city guides, and browse promotional offers.","pageUrl":"https://www.mcpbundles.com/skills/turkishtechlab-mcp-a7941b0223","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp-app.turkishtechlab.com/mcp","hostedMcpUrl":null,"toolCount":23,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.turkishtechlab/turkishtechlab-mcp-a7941b0223","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"flight-status","description":"CHECK EXISTING FLIGHT STATUS: Use this tool ONLY when the user wants to check the real-time status of a specific existing flight (e.g., 'check status of TK289', 'is flight TK001 on time?', 'what's the gate for TK815?'). This tool requires a specific flight number. DO NOT use this for searching/bookable flights - use 'search_flights' instead. This tool fetches real-time flight status information including departure/arrival times, gate, terminal, and current flight status (on time, delayed, landed","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["flightNumber"],"properties":{"flightDate":{"type":"string"},"flightTime":{"type":"string"},"flightNumber":{"type":"string"}}},"title":"Check Flight Status by Number","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"flight-status","displayName":"Check Flight Status by Number"},{"name":"flight-status-by-route","description":"CHECK FLIGHT STATUS BY ROUTE: Use this tool ONLY when the user wants to check the real-time status of flights on a specific route for a specific date (e.g., 'what flights are flying from IST to SFO today?', 'check flights from Istanbul to San Francisco tomorrow'). This tool shows the status of flights that are already scheduled/flying on that route. DO NOT use this for searching/bookable flights or finding available flights to book - use 'search_flights' instead. This tool fetches real-time flig","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["fromAirport","toAirport"],"properties":{"toAirport":{"type":"string"},"flightDate":{"type":"string"},"fromAirport":{"type":"string"}}},"title":"Check Flight Status by Route","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"flight-status-by-route","displayName":"Check Flight Status by Route"},{"name":"search_flights","description":"SEARCH FOR BOOKABLE FLIGHTS: Searches Turkish Airlines flights and returns available options with prices. Provide from, to, departureDate, passengers, and tripType. For round trips, also provide returnDate. For multi-city, use originDestinations array instead of from/to/departureDate.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["from","to","departureDate"],"properties":{"to":{"type":"string","maxLength":3,"minLength":3},"from":{"type":"string","maxLength":3,"minLength":3},"tripType":{"enum":["one_way","round","multi"],"type":"string"},"fareFamily":{"type":"string","maxLength":20},"passengers":{"type":"array","items":{"type":"object","required":["passengerType","quantity"],"properties":{"quantity":{"type":"integer","maximum":9,"minimum":1},"passengerType":{"enum":["ADT","CHD","INF","YAD","SRC","STD","CNS","STU","DIS","VET","TEACHER","SOLDIER","SENIOR","YOUNGADULT"],"type":"string"}}}},"returnDate":{"type":"string"},"departureDate":{"type":"string"}}},"title":"Search Flights","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_flights","displayName":"Search Flights"},{"name":"search_inbound_flights","description":"SEARCH FOR RETURN FLIGHTS (international round trips only): Call after the user picks an outbound option from search_flights. You only need to pass { searchId, optionId, recommendationId, returnDate } — searchId is returned by the preceding search_flights call and MUST be passed back verbatim; optionId and recommendationId come straight from the search_flights results; returnDate is YYYY-MM-DD. The session, outbound segments, taxes, and passengers are restored from the searchId. Do NOT fabricate","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"optionId":{"type":"number"},"searchId":{"type":"string"},"duTaxBean":{"type":"object","properties":{"eco":{"type":"boolean","default":true},"currency":{"type":"string","default":"USD"},"bizAmount":{"type":"number","default":0},"ecoAmount":{"type":"number","default":0},"ajEcoAmount":{"type":"number","default":0},"useTKAmount":{"type":"boolean","default":false},"passengerCount":{"type":"number","default":0}}},"jSessionId":{"type":"string"},"pageTicket":{"type":"string"},"passengers":{"type":"array","items":{"type":"object","required":["passengerType","quantity"],"properties":{"quantity":{"type":"integer","maximum":9,"minimum":1},"passengerType":{"enum":["ADT","CHD","INF","YAD","SRC","STD","CNS","STU","DIS","VET","TEACHER","SOLDIER","SENIOR","YOUNGADULT"],"type":"string"}}}},"returnDate":{"type":"string"},"recommendationId":{"type":"number"},"selectedOutbound":{"type":"object","required":["optionId","recommendationId","segments","fareFamily"],"properties":{"optionId":{"type":"number"},"segments":{"type":"array","items":{"type":"object","required":["departureAirportCode","arrivalAirportCode","departureDateTime","arrivalDateTime","flightCode","resBookDesigCode","fareBasisCode","brandCode","cabinType"],"properties":{"rph":{"type":"string"},"brandCode":{"type":"string"},"cabinType":{"enum":["ECONOMY","BUSINESS","FIRST"],"type":"string"},"equipment":{"type":"string"},"flightCode":{"type":"object","required":["airlineCode","flightNumber"],"properties":{"airlineCode":{"type":"string"},"flightNumber":{"type":"string"}}},"fareBasisCode":{"type":"string"},"arrivalDateTime":{"type":"string"},"resBookDesigCode":{"type":"string"},"departureDateTime":{"type":"string"},"arrivalAirportCode":{"type":"string","maxLength":3,"minLength":3},"departureAirportCode":{"type":"string","maxLength":3,"minLength":3},"operatingAirlineCode":{"type":"string"},"journeyDurationInMilis":{"type":"number"}}},"minItems":1},"fareFamily":{"enum":["ECONOMY","BUSINESS","FIRST"],"type":"string"},"inboundFlightId":{"type":"number","default":0},"recommendationId":{"type":"number"}}},"originDestinations":{"type":"array","items":{"type":"object","required":["originAirportCode","destinationAirportCode","departureDateTime"],"properties":{"departureDateTime":{"type":"string"},"originAirportCode":{"type":"string","maxLength":3,"minLength":3},"destinationAirportCode":{"type":"string","maxLength":3,"minLength":3}}}}}},"title":"Search Inbound Flights","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_inbound_flights","displayName":"Search Inbound Flights"},{"name":"get_city_guide","description":"Get a travel guide for a destination city, including what to see, where to go, transportation information, weather, and more. Use this when the user asks about a destination city, wants travel tips, or needs information about a place they're visiting.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["cityCode"],"properties":{"cityCode":{"type":"string","pattern":"^[A-Z]+$","maxLength":5,"minLength":3},"departureCityCode":{"type":"string","pattern":"^[A-Z]+$","maxLength":5,"minLength":3}}},"title":"Get City Guide","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_city_guide","displayName":"Get City Guide"},{"name":"get_airline_promotions","description":"Fetch airline promotions. Inputs: country, airports. Use this when the user asks about promotions, special offers, or discounted flights.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["departureAirportCode"],"properties":{"type":{"enum":["1","2"],"type":"string","default":"2"},"visa":{"type":"boolean","default":true},"countryCode":{"type":"string","maxLength":2,"minLength":2},"arrivalContinent":{"type":"string"},"arrivalAirportCode":{"type":"string"},"departureAirportCode":{"type":"string","maxLength":3,"minLength":3}}},"title":"Get Airline Promotions","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_airline_promotions","displayName":"Get Airline Promotions"},{"name":"get_booking_details","description":"Retrieve detailed information about a flight booking using PNR or E-ticket number. Returns passenger details, flight segments, and status. Use this when the user wants to check their reservation, find their ticket number, or see flight details for a specific booking.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["bookingReference","surname"],"properties":{"surname":{"type":"string","pattern":"^[A-Za-z\\s'-]+$","maxLength":50,"minLength":2},"language":{"type":"string","default":"EN","maxLength":2,"minLength":2},"bookingReference":{"type":"string","maxLength":14,"minLength":6}}},"title":"Get Booking Details","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_booking_details","displayName":"Get Booking Details"},{"name":"get_booking_baggage_allowance","description":"Fetch detailed booking baggage information. Tip: Call get_booking_details tool to retrieve the ticket number if not provided. Use this when the user asks about baggage allowance, baggage limits, or extra baggage for their booking.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["bookingReference","surname"],"properties":{"surname":{"type":"string","pattern":"^[A-Za-z\\s'-]+$","maxLength":50,"minLength":2},"bookingReference":{"type":"string","maxLength":14,"minLength":6}}},"title":"Get Booking Baggage Allowance","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_booking_baggage_allowance","displayName":"Get Booking Baggage Allowance"},{"name":"manage_booking_link","description":"Validate a booking by PNR + surname and return the deeplink for the user to manage the reservation OR start online check-in on turkishairlines.com. Use this whenever the user wants to cancel, refund, rebook, change, upgrade, add services, add/remove passengers, OR check in online. Set linkType='manage' for booking changes; 'checkin' for online check-in. Do NOT preemptively send users to the website or call center before trying this tool.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["bookingReference","surname","linkType"],"properties":{"surname":{"type":"string","pattern":"^[A-Za-z\\s'-]+$","maxLength":50,"minLength":2},"language":{"type":"string","maxLength":5,"minLength":2},"linkType":{"enum":["manage","checkin"],"type":"string"},"bookingReference":{"type":"string","maxLength":14,"minLength":6}}},"title":"Manage Booking / Web Check-in Link","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"manage_booking_link","displayName":"Manage Booking / Web Check-in Link"},{"name":"generate_baggage_issue_link","description":"Generate a direct link to the official Turkish Airlines baggage issue tracing form, localized to the user's language. Use when the user reports a baggage problem (lost, damaged, delayed) and wants to file a formal claim. Does NOT handle existing baggage case status (use a future case-status tool) or baggage allowance (use get_booking_baggage_allowance).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"language":{"type":"string","maxLength":5,"minLength":2}}},"title":"Generate Baggage Issue Form Link","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"generate_baggage_issue_link","displayName":"Generate Baggage Issue Form Link"},{"name":"generate_holidays_search_link","description":"Generate a Turkish Airlines Holidays link for Flight + Hotel packages on a specific round trip. The user clicks through to browse and book matching packages with their route, dates and travellers pre-filled. Use when the user's ORIGIN is known (stated, or from a prior flight search or booking) and they want holiday packages, campaigns or flight+hotel deals for a route — including as an upsell after a flight search. Prefer 3-letter IATA codes (originAirportCode/destinationAirportCode — the same c","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["departureDate","returnDate"],"properties":{"rooms":{"type":"array","items":{"type":"object","required":["adults"],"properties":{"adults":{"type":"integer","maximum":6,"minimum":1},"childAges":{"type":"array","items":{"type":"integer","maximum":17,"minimum":0},"maxItems":4}}},"maxItems":4,"minItems":1},"cabinClass":{"enum":["ECONOMY","BUSINESS"],"type":"string"},"originCity":{"type":"string","maxLength":60,"minLength":2},"returnDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"departureDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"destinationCity":{"type":"string","maxLength":60,"minLength":2},"originAirportCode":{"type":"string","pattern":"^[A-Za-z]{3}$"},"destinationAirportCode":{"type":"string","pattern":"^[A-Za-z]{3}$"}}},"title":"Flight + Hotel Packages Link for a Route","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"generate_holidays_search_link","displayName":"Flight + Hotel Packages Link for a Route"},{"name":"pnr_finder","description":"Securely recover a forgotten PNR by triggering Turkish Airlines to send it via SMS or email to the contact on file. Use when the user has lost their booking reference and remembers the flight + passenger details. For security, the PNR is NEVER displayed in chat — it is only sent to the registered phone/email. After this succeeds, ask the user to check their inbox/SMS, then use get_booking_details once they have it.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["flightInfo","passengerDetails"],"properties":{"flightInfo":{"type":"object","required":["date","departureCode","arrivalCode"],"properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"arrivalCode":{"type":"string","pattern":"^[A-Za-z]{3}$"},"departureCode":{"type":"string","pattern":"^[A-Za-z]{3}$"}}},"passengerDetails":{"type":"object","required":["firstName","lastName","mobileNumber"],"properties":{"lastName":{"type":"string","pattern":"^[A-Za-z\\s'-]+$","minLength":1},"firstName":{"type":"string","pattern":"^[A-Za-z\\s'-]+$","minLength":1},"emailAddress":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"mobileNumber":{"type":"string","pattern":"^[0-9]+$"}}}}},"title":"Recover Lost PNR / Booking Reference","logicalName":"pnr_finder","displayName":"Recover Lost PNR / Booking Reference","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"find_flight_price_calendar","description":"Find the cheapest fares around a target departure date for one travel leg. Ideal when the user is flexible with dates and wants to find the best price. For ROUND_TRIP, call once for the outbound (isReturnFlight=false). After the user picks an outbound date, call again with isReturnFlight=true and departureDate set to that chosen outbound date to get the return-date calendar. Use BEFORE search_flights when the user asks for 'cheapest', 'best price', or has flexible dates.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["originAirportCode","destinationAirportCode","departureDate"],"properties":{"tripType":{"enum":["ONE_WAY","ROUND_TRIP"],"type":"string","default":"ONE_WAY"},"timeRange":{"enum":["1_WEEK","2_WEEKS","3_WEEKS","4_WEEKS"],"type":"string","default":"2_WEEKS"},"cabinClass":{"enum":["ECONOMY","BUSINESS"],"type":"string","default":"ECONOMY"},"stayDuration":{"type":"integer","default":14,"maximum":60,"minimum":1},"departureDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"isReturnFlight":{"type":"boolean","default":false},"originAirportCode":{"type":"string","pattern":"^[A-Za-z]{3}$"},"destinationAirportCode":{"type":"string","pattern":"^[A-Za-z]{3}$"}}},"title":"Find Cheapest Flight Dates","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_flight_price_calendar","displayName":"Find Cheapest Flight Dates"},{"name":"search_hotel_packages","description":"Browse Turkish Airlines Holiday packages (Flight + Hotel, Tours, Circuits) from the catalog. Use when the user asks about holiday packages, all-inclusive trips, flight+hotel deals, or wants recommendations with constraints (destination, budget, star rating, trip type). Specify the locale matching the user's market (e.g. en-US, de-DE, fr-FR). Country and resort filters MUST be in the locale's language. Returns a curated list with prices, hotel ratings, and direct booking links.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["locale"],"properties":{"limit":{"type":"integer","default":8,"maximum":20,"minimum":1},"locale":{"enum":["en-GB","fr-FR","de-DE","tr-DE","it-IT","de-AT","tr-AT","en-BE","fr-BE","nl-BE","nl-NL","es-ES","de-CH","en-CH","fr-CH","en-US","en-CA","en-IE","en-DK","fr-LU","en-PL","en-RO","en-SE"],"type":"string"},"resort":{"type":"string","minLength":2},"country":{"type":"string","minLength":2},"maxPrice":{"type":"number","exclusiveMinimum":0},"minStars":{"anyOf":[{"type":"number","const":3},{"type":"number","const":4},{"type":"number","const":5}]},"maxNights":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"minNights":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"experience":{"enum":["Hotel","Circuit","Hotel + Activity"],"type":"string"}}},"title":"Search Turkish Airlines Holiday Packages","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_hotel_packages","displayName":"Search Turkish Airlines Holiday Packages"},{"name":"get_baggage_case_details","description":"Look up the status of an EXISTING baggage issue case using its case number and the email it was filed with. Use when the user asks to check on a previously reported lost/damaged/delayed baggage case. Does NOT file a new report (use generate_baggage_issue_link) or answer allowance questions (use get_booking_baggage_allowance). After showing the status, you may offer to add a message with add_message_to_baggage_case.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["caseId","email"],"properties":{"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"caseId":{"type":"string","pattern":"^\\d{6,}$"}}},"title":"Get Baggage Case Status","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_baggage_case_details","displayName":"Get Baggage Case Status"},{"name":"add_message_to_baggage_case","description":"Add a new message to an EXISTING baggage issue case. This posts to the case on the customer's behalf, so only call it after the user has written the message they want to send. Requires the case number (look it up first with get_baggage_case_details if unsure) and the message text.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["caseId","message"],"properties":{"caseId":{"type":"string","pattern":"^\\d{6,}$"},"message":{"type":"string","maxLength":2000,"minLength":1}}},"title":"Add Message to Baggage Case","logicalName":"add_message_to_baggage_case","displayName":"Add Message to Baggage Case","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_feedback_status","description":"Check the status of a previously submitted feedback or complaint using its reference number (format: tk-12345678; the tk- prefix is optional). Use when the user asks about the status of their feedback, complaint, or application. Does NOT submit new feedback (direct them to feedback.turkishairlines.com) or check baggage cases (use get_baggage_case_details).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["referenceNumber"],"properties":{"referenceNumber":{"type":"string","pattern":"^\\s*(tk-?)?\\d{4,}\\s*$"}}},"title":"Get Feedback / Complaint Status","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_feedback_status","displayName":"Get Feedback / Complaint Status"},{"name":"get_contact_info","description":"Get how to reach Turkish Airlines in a specific country: the call-center phone number by default, and — only when a city is given — the sales/ticket offices in that city (address and working hours). Use when the user asks for a Turkish Airlines phone number, call center, or office. Pass the country as a 2-letter ISO code (e.g. 'DE' for Germany); if omitted, the user's own location is used. Add the 'city' argument ONLY when the user asks about an office in a specific city (e.g. 'Turkish Airlines","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"city":{"type":"string","maxLength":60,"minLength":2},"countryCode":{"type":"string","pattern":"^[A-Za-z]{2}$"}}},"title":"Get Turkish Airlines Contact Info","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_contact_info","displayName":"Get Turkish Airlines Contact Info"},{"name":"search_thy_faq","description":"Look up Turkish Airlines' official FAQ answers for a topic. Use this when the user asks a general how-to or policy question about the airline that you should answer from official content rather than from memory — cabin/checked baggage rules, check-in, cancellations and changes, fare rules, pets, infants and children, visas and travel requirements, seats, lounges, and more. Choose the single closest 'topic' from the schema's fixed category list, then answer the user only from the returned questio","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["topic"],"properties":{"topic":{"enum":["Disabled passengers","Infants and children","Martyrs relatives and Veterans","Pregnant Passengers","Special Assistance","Students","Ticket process in the event of a death","Transfer transit passengers","Cabin baggage","Free baggage","Excess baggage","Lost and delayed baggage","Restrictions","US baggage rules","Turkish Airlines Holidays","TCC Advantages","TCC Application","Miles&Smiles Elite Corporate Card","Online Portal","TCC Membership","TK Wallet","Reservations and bookings","Check-in","Flight Cancelations and Change","Flight packages for domestic flights","Flight packages for International flights","Hold the price","Mobile","Taking Photos and Videos","Visa and travel requirements","As You Wish","Dining Onboard","Inflight entertainment","In-flight Wifi","PressReader","Special meals","Turkish Airlines Lounges","Business upgrade","Car rental","E-Visa","Extra legroom seat","Hotel","Seat selection","Travel insurance","Turkish Airlines Gift Card","Musical instruments","Sports equipment","Traveling with pets","Fare rules","Payment"],"type":"string"}}},"title":"Search Turkish Airlines FAQ","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_thy_faq","displayName":"Search Turkish Airlines FAQ"},{"name":"check_stopover_eligibility","description":"Check whether an EXISTING booking qualifies for Turkish Airlines' Stopover in Istanbul program (a free İstanbul hotel on a qualifying layover). Requires the booking reference (PNR or e-ticket) and passenger surname. For route-level questions without a booking, use check_stopover_routes instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["bookingReference","surname"],"properties":{"surname":{"type":"string","pattern":"^[A-Za-z\\s'-]+$","maxLength":50,"minLength":2},"bookingReference":{"type":"string","maxLength":14,"minLength":6}}},"title":"Check Stopover in Istanbul Eligibility","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"check_stopover_eligibility","displayName":"Check Stopover in Istanbul Eligibility"},{"name":"check_stopover_routes","description":"Check whether one or more routes (origin → destination, transiting Istanbul) qualify for the Stopover in Istanbul accommodation program — without a specific booking. Use when the user asks whether stopovers are available on a given route or which destinations qualify. For a specific booking, use check_stopover_eligibility instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["routes"],"properties":{"routes":{"type":"array","items":{"type":"object","required":["origin","destination"],"properties":{"origin":{"type":"string","pattern":"^[A-Za-z]{3}$"},"destination":{"type":"string","pattern":"^[A-Za-z]{3}$"}}},"maxItems":10,"minItems":1}}},"title":"Check Stopover in Istanbul Routes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"check_stopover_routes","displayName":"Check Stopover in Istanbul Routes"},{"name":"get_business_upgrade_offers","description":"Check whether an existing booking can be upgraded to Business Class and return the current offers — per flight, per payment method (credit card or Miles&Smiles miles), with prices for all passengers on the booking. Use whenever the user asks to upgrade to Business, asks the price of an upgrade, or asks whether an upgrade is available for their PNR. Offers are session-bound and change over time: always call this first, then pass the chosen `optionId` + `paymentType` to create_business_upgrade_pay","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["bookingReference","surname"],"properties":{"surname":{"type":"string","pattern":"^[A-Za-z\\s'-]+$","maxLength":50,"minLength":2},"language":{"enum":["tr","en"],"type":"string"},"bookingReference":{"type":"string","maxLength":14,"minLength":6}}},"title":"Business Upgrade Offers for a Booking","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_business_upgrade_offers","displayName":"Business Upgrade Offers for a Booking"},{"name":"create_business_upgrade_payment_link","description":"Final step of the Business upgrade flow: register the option the user picked with Turkish Airlines and return the link where they complete it — the card checkout page, or the Miles&Smiles offers page for miles upgrades. Call only after get_business_upgrade_offers, using an `optionId` and a `paymentType` taken verbatim from its result. The user pays on turkishairlines.com; this tool charges nothing and does not change the booking by itself.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["bookingReference","surname","optionId","paymentType"],"properties":{"surname":{"type":"string","pattern":"^[A-Za-z\\s'-]+$","maxLength":50,"minLength":2},"language":{"enum":["tr","en"],"type":"string"},"optionId":{"type":"string","minLength":1},"paymentType":{"enum":["CREDIT_CARD","MILES"],"type":"string"},"bookingReference":{"type":"string","maxLength":14,"minLength":6}}},"title":"Business Upgrade Payment Link","logicalName":"create_business_upgrade_payment_link","displayName":"Business Upgrade Payment Link","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Turkish-Airlines&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AtYXBwLnR1cmtpc2h0ZWNobGFiLmNvbS9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Turkish-Airlines%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp-app.turkishtechlab.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Turkish-Airlines%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp-app.turkishtechlab.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Turkish+Airlines&connectorUrl=https%3A%2F%2Fmcp-app.turkishtechlab.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Turkish-Airlines\" --url \"https://mcp-app.turkishtechlab.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/turkishtechlab-mcp-a7941b0223","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/turkishtechlab-mcp-a7941b0223/tools/{tool}","mcpServerUrl":"https://mcp-app.turkishtechlab.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/turkishtechlab-mcp-a7941b0223?live=1"}