# KeyFlight PNR Converter

Turns Amadeus, Sabre, Galileo and Worldspan bookings into readable itineraries, JSON and PDF tickets. Built for travel agents and booking developers.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: Keyflight
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Keyflight/keyflight-pnr-mcp
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/keyflight-pnr-converter

## What it does

KeyFlight hosts the server at `https://keyflight.io/mcp`, so there is nothing to run on your machine. You paste a booking exactly as the GDS prints it and get back a readable itinerary or structured JSON: passengers, segments, airports, terminals, local times, flight duration and airline locators. The GDS format is detected from the text itself.

Two tools ship with it. `decode_pnr` takes up to 20,000 characters and returns itinerary text plus JSON; the layout is picked with `view` (`table`, `lines2`, `lines3`, `whatsapp`), while `time_format` and `date_format` control how times and dates look. `make_ticket` builds a PRO ticket PDF and returns a link, with optional passenger names, cabin class, price and currency, and a logo. That PDF is a traveller-facing document, not an airline ticket, and its PNR is never checked against airline systems.

You need a subscription key starting with `kfp_`, sent as `Authorization: Bearer`. The server and the HTTP API have no free tier, and an inactive subscription makes the key answer `403 subscription_inactive`. Every decode that finds flights is counted against the monthly allowance; tickets are counted separately, and one key can produce up to 30 tickets an hour. Requests carrying a browser `Origin` header are refused with `403 origin_not_allowed`, so connect from a desktop client, a CLI or your own server.

## Requirements
- Remote server: `https://keyflight.io/mcp`

## Install

### Claude Code (native platform)

**Platform CLI: remote server**
```bash
claude mcp add --transport http keyflight-pnr-converter https://keyflight.io/mcp
```

### Codex

**Platform CLI: remote server**
```bash
codex mcp add keyflight-pnr-converter --url https://keyflight.io/mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "keyflight-pnr-converter": {
            "url": "https://keyflight.io/mcp"
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "keyflight-pnr-converter": {
            "type": "http",
            "url": "https://keyflight.io/mcp"
        }
    }
}
```

### Gemini CLI

**Platform CLI: remote server**
```bash
gemini mcp add -t http keyflight-pnr-converter https://keyflight.io/mcp
```

## When to use it
- read a raw Amadeus booking as a plain itinerary
- export passengers and segments from a PNR to JSON
- produce a client-facing PDF ticket with a price and logo
- add PNR decoding to a CRM or an email flow
- check airline locators and departure times per segment

## Example prompts
- Decode this Amadeus PNR and show the itinerary as a table
- Make a PRO ticket from this PNR with a price of 850 EUR and the expedition logo
- Decode the PNR and return JSON with passengers and segments

## Similar
- [drawing-converter](https://affpapa.org/en/nevibecode/mcp/drawing-converter.md) — MCP server
- [PDF Converter](https://affpapa.org/en/nevibecode/skills/pdf-converter.md) — skill · 5200 installs
- [markdown-converter](https://affpapa.org/en/nevibecode/skills/markdown-converter.md) — skill · 1700 installs
- [markit-markdown-converter](https://affpapa.org/en/nevibecode/skills/markit-markdown-converter.md) — skill · 855 installs
- [document-converter-suite](https://affpapa.org/en/nevibecode/skills/document-converter-suite.md) — skill · 483 installs
- [mcp-document-converter](https://affpapa.org/en/nevibecode/mcp/mcp-document-converter.md) — MCP server · ★ 12

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
