Building the First Airline MCP Server for Agent-Based Customer Interactions

turkish_airlines · Other · 2026 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.5 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: airline customer-service agents

Turkish Airlines wanted customers to interact with flight search, bookings, check-in status, baggage, promotions, and profile data through natural-language agents instead of complex airline forms, while keeping enterprise security and governance acceptable.

Constraints:

Architecture

Turkish Airlines built an end-user-focused MCP server that exposes read-only airline tools over existing mobile and web APIs, authenticates users through the Miles&Smiles frequent-flyer program, implements the newer OAuth/OAT layer in the MCP server, and uses Cloudflare Workers/Agent SDK plus rate limiting by frequent-flyer ID. It also runs internal TakeAI GPT on on-prem GPU infrastructure with MCP support for enterprise tools.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  llm-client-platform["LLM client platform"] --> turkish-airlines-mcp-server["Turkish Airlines MCP server"]
  turkish-airlines-mcp-server --> oauth-authentication-layer["OAuth authentication layer"]
  oauth-authentication-layer --> frequent-flyer-identity["frequent flyer identity"]
  frequent-flyer-identity --> rate-limiting-policy["rate limiting policy"]
  turkish-airlines-mcp-server --> cloudflare-security-layer["Cloudflare security layer"]
  cloudflare-security-layer --> rate-limiting-policy
  turkish-airlines-mcp-server --> existing-mobile-and-web-apis["existing mobile and web APIs"]
  existing-mobile-and-web-apis --> read-only-airline-tools["read-only airline tools"]
  rate-limiting-policy --> read-only-airline-tools
  read-only-airline-tools --> booking-link-generator["booking link generator"]
  booking-link-generator --> llm-client-platform
  takeai-gpt["TakeAI GPT"] --> on-prem-gpu-models["on-prem GPU models"]
  takeai-gpt --> enterprise-mcp-connectors["enterprise MCP connectors"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
LLM client platform Accepts the user's natural-language travel request and calls the MCP tools. Turkish Airlines MCP server
Turkish Airlines MCP server Exposes airline customer-service tools to external agent clients. OAuth authentication layer, Cloudflare security layer, existing mobile and web APIs, read-only airline tools
OAuth authentication layer Authenticates end users through the Miles&Smiles frequent-flyer program. frequent flyer identity, Turkish Airlines MCP server
frequent flyer identity Provides the authenticated user identity used for profile access and rate limiting. rate limiting policy, OAuth authentication layer
Cloudflare security layer Hosts or supports the OAuth implementation and security controls around the MCP server. rate limiting policy, Turkish Airlines MCP server
rate limiting policy Limits flight-availability access per frequent-flyer ID to reduce scraping risk. read-only airline tools
existing mobile and web APIs Provide production-tested airline API surfaces behind the MCP proxy. read-only airline tools
read-only airline tools Expose flight search, flight status, booking details, check-in eligibility, promotions, city guides, and profile data. booking link generator
booking link generator Returns a traditional booking link with selected flight information prefilled. LLM client platform
TakeAI GPT Internal ChatGPT-like platform for employees using on-premise models and MCP integrations. on-prem GPU models, enterprise MCP connectors
on-prem GPU models Host internal LLMs such as Qwen/Q3 without sending employee data to cloud LLM providers. TakeAI GPT
enterprise MCP connectors Connect internal assistant workflows to tools such as Jira and Confluence. TakeAI GPT

Data flow

A user asks an LLM platform a travel question; the platform invokes the Turkish Airlines MCP server; the user authenticates with a frequent-flyer ID; Cloudflare and the MCP OAuth layer secure the request; the MCP server proxies existing mobile/web APIs for flight search, booking details, check-in status, promotions, city guides, and profile data; the agent returns answers or a prefilled booking link while write flows remain future work.

3 supporting quotes
“you can directly ask your question to whatever uh LM you are using, whatever platform you are using and it cleverly decides which flight is the best for her”transcript, stated
“We used our mobile application and web application APIs. So we didn't just use any other we we didn't want to like connect truly to airline booking systems.”transcript, stated
“when you start using our MCP the first thing you need to do is login through your frequent flyer ID. So our MCP is cly like end user focused not not just for any tech company we are directly aiming end users. So we are authenticating with my smise and we use”transcript, stated

Why this architecture

The MCP server lets Turkish Airlines meet customers inside agent platforms while limiting blast radius: it reuses existing app APIs, authenticates end users, puts Cloudflare controls in front, and starts with read-only flows before moving toward check-in, disruption handling, and UI-rich operations.

3 supporting quotes
“we truly believe believe that we will be talking with uh agents through different platforms over the years. But uh as as it's mentioned it was hard because when we first considered it there was no authentication layer and uh the specification was not ready”transcript, stated
“we didn't want to like connect truly to airline booking systems. We just uh proxied our API, mobile application API”transcript, stated
“in all of the features you see right now are like read only flows and we want to make you do actually stuff actual stuff but that comes with another security challenges”transcript, stated

Models used: Qwen/Q3 · on-premise LLMs

Scale

Alternatives considered (roads not taken)

Connect MCP directly to core airline booking systems.

Rejected because: The team proxied existing mobile and web APIs to avoid new direct access to core booking systems.

“we didn't want to like connect truly to airline booking systems. We just uh proxied our API, mobile application API”transcript, stated

Wait for existing enterprise OAuth infrastructure to support OAuth/OAT 2.1.

Rejected because: Waiting was expected to take almost a year, so the team implemented the OAuth/OAT layer in the MCP path using Cloudflare examples.

“came with another challenge because uh as as mentioned o 2.1 is a relatively new standard and all of our existing oat mechanisms does not support o 2.1. So we instead of we waiting for almost a year for that's that things to change in enterprise we decided maybe we can implement”transcript, stated
“instead of we waiting for almost a year for that's that things to change in enterprise we decided maybe we can implement o in our MCP.”transcript, stated

Launch with write/transactional airline operations.

Rejected because: The initial launch kept tools read-only because check-in, seat selection, and disruption handling introduce additional security challenges.

“in all of the features you see right now are like read only flows and we want to make you do actually stuff actual stuff but that comes with another security challenges”transcript, stated

Use external cloud LLMs for all internal enterprise workflows.

Rejected because: Turkish Airlines built on-prem GPU infrastructure to avoid compromising security when employees use LLMs.

“in the enterprise world using a cloud LLM is pretty tough and we needed to find a way to uh use uh LLMs without compromising any security.”transcript, stated
“with our onrem uh GPU machines we deployed models like Q3 and so on and we developed a CH GPT like platform that our all of our employees can use and in that G in that T take a GPT uh we call it uh we also enabled MCPS and right now we are using Atlassian”transcript, stated

Patterns

tool-use-orchestration (agent architecture)

The MCP server exposes discrete airline tools for flight search, status, booking detail lookup, check-in eligibility, promotions, city guides, and profile access.

“we have tools around uh searching flights, getting flight status uh and like getting booking details uh checking if your flight is open to check open for checkin or or not.”transcript, stated
“uh and like getting booking details uh checking if your flight is open to check open for checkin or or not. Uh we also expose our promotions through MCP. So you can check if there's an promotion to whatever city you want to go and for that city we also have like created city guides you can”transcript, stated

safety-policy-enforcement (security)

The first production release limits capabilities to read-only flows and requires user authentication before accessing personal airline data.

“in all of the features you see right now are like read only flows”transcript, stated
“the first thing you need to do is login through your frequent flyer ID.”transcript, stated

guardrails-io-filtering (security)

The MCP layer uses Cloudflare security controls and rate limiting by frequent-flyer ID to prevent flight-data scraping.

“we used cloud flare to uh secure our oath layer and we used we need to do rate limiting because we didn't want to expose our flight data availability”transcript, stated
“So we use rate limiting by your frequent flyer ID because when we when when you start using our MCP the first thing you need to do is login through your frequent flyer ID.”transcript, stated

privacy-preserving-processing (enterprise ai)

For internal employee use, Turkish Airlines runs on-premise GPU models and a ChatGPT-like platform to avoid sending sensitive enterprise data to cloud LLM providers.

“we needed to find a way to uh use uh LLMs without compromising any security.”transcript, stated
“with our onrem uh GPU machines we deployed models like Q3 and so on and we developed a CH GPT like platform”transcript, stated

Tradeoffs

Proxy existing app APIs through MCP.

Chose Existing mobile and web APIs over New direct access to core airline booking systems.

Rationale: The proxy approach reused vetted API surfaces and reduced security risk while allowing faster MCP launch.

“We used our mobile application and web application APIs. So we didn't just use any other we we didn't want to like connect truly to airline booking systems.”transcript, stated
“we didn't want to like connect truly to airline booking systems. We just uh proxied our API, mobile application API”transcript, stated

Start with read-only MCP tools.

Chose Read-only flight and profile operations over Transactional booking, check-in, or disruption actions at launch.

Rationale: Read-only scope lowered security risk while the team prepared more sensitive flows.

“in all of the features you see right now are like read only flows and we want to make you do actually stuff actual stuff but that comes with another security challenges”transcript, stated

Rate-limit by authenticated frequent-flyer ID.

Chose Per-user throttling tied to frequent-flyer authentication over Unauthenticated public flight-data access.

Rationale: The team wanted to prevent scraping of flight availability while still serving legitimate end users.

“we didn't want to expose our flight data availability and obviously everyone would uh scrape that and get all those flight information”transcript, stated
“So we use rate limiting by your frequent flyer ID because when we when when you start using our MCP the first thing you need to do is login through your frequent flyer ID.”transcript, stated

Run internal LLM tooling on-premise.

Chose On-prem GPU models and TakeAI GPT over Cloud LLMs for employee data.

Rationale: The organization viewed cloud LLM use as difficult in enterprise settings and prioritized security for internal data.

“using a cloud LLM is pretty tough and we needed to find a way to uh use uh LLMs without compromising any security.”transcript, stated
“with our onrem uh GPU machines we deployed models like Q3 and so on and we developed a CH GPT like platform”transcript, stated

Gotchas (what bit them)

New MCP security concerns slowed enterprise acceptance.

Root cause: MCP was new, and a contemporary GitHub MCP data exposure incident made security stakeholders wary.

Resolution: Reuse existing APIs, require authentication, add Cloudflare security, rate-limit access, and keep flows read-only at first.

3 supporting quotes
“they were really uh worried about if there is another security risk that we are adding to the bucket.”transcript, stated
“We used our mobile application and web application APIs. So we didn't just use any other we we didn't want to like connect truly to airline booking systems.”transcript, stated
“in all of the features you see right now are like read only flows”transcript, stated

Existing enterprise OAuth/OAT mechanisms lagged the MCP auth standard.

Root cause: OAuth/OAT 2.1 was relatively new and unsupported by existing authentication infrastructure.

Resolution: Implement the needed auth layer in the MCP path using Cloudflare Worker/Agent SDK examples.

“o 2.1 is a relatively new standard and all of our existing oat mechanisms does not support o 2.1.”transcript, stated
“thanks to cloudflare there was a good example of how we can do that in using their worker platform”transcript, stated

MCP UI support limits airline UX for visual workflows.

Root cause: Seat maps and similar airline tasks do not fit well as plain text.

Resolution: Wait for MCP clients to support UI rendering and plan to return visual components when available.

“no one wants to see all of that uh seat map in a like format or whatever.”transcript, stated
“hopefully when the clients support it uh it will be much easier for our uh customers to do whatever they need to do.”transcript, stated

Enterprise MCP management remains harder than expected.

Root cause: Adding multiple MCP servers into enterprise applications creates centralized management needs.

Resolution: The speaker says they need a better way to centrally manage MCP integrations.

“so on and uh and we are also working on adding like all of the MCPS that are being available right now but uh adding an MCP uh to an enterprise application is much harder. Uh so we need to find a better way to like uh centrally manage all of those stuff and with that I think it's it's done.”transcript, stated
“we need to find a better way to like uh centrally manage all of those stuff”transcript, stated

Evaluation

The talk reports production live status and demonstrates use cases, but does not provide a formal quantitative evaluation of MCP user success, latency, or conversion.

Metrics: 500+ aircraft, target 800 · Around 9 million passengers annually in transcript · Fully live MCP, not a demo · Initial read-only tool scope · No formal user-success metric disclosed

3 supporting quotes
“So it is fully live you can test it out today. It is not a like demo thing.”transcript, stated
“currently we have like 500 plus aircrafts and we aim to be uh increasing that to 800”transcript, stated
“in all of the features you see right now are like read only flows”transcript, stated

Outcomes

The airline context includes 500+ aircraft, an 800-aircraft target, and passenger-scale operations; the MCP-specific metrics disclosed are live status, read-only scope, frequent-flyer auth, and roadmap items.

4 supporting quotes
“So it is fully live you can test it out today. It is not a like demo thing.”transcript, stated
“uh and like getting booking details uh checking if your flight is open to check open for checkin or or not. Uh we also expose our promotions through MCP. So you can check if there's an promotion to whatever city you want to go and for that city we also have like created city guides you can”transcript, stated
“we uh developed takeoff UI and on top of that we uh developed our takeoff UI MCP”transcript, stated
“in that T take a GPT uh we call it uh we also enabled MCPS and right now we are using Atlassian MCPS”transcript, stated