{
  "markdown": "# AirTreks MCP Server\n\n[![smithery badge](https://smithery.ai/badge/bootsnall/airtreks)](https://smithery.ai/servers/bootsnall/airtreks)\n\n**The complex-itinerary tool for AI agents.** Multi-stop, round-the-world, open-jaw, surface segments - the trips that standard flight search can't handle. When your user asks for 3+ stops across continents, this server answers with routing analysis built on real AirTreks fare-construction data: 60+ carriers, 53 known dead legs, bookability rates measured from 1,400+ real fare attempts, and 20 proven routing templates from actual bookings.\n\n**Live endpoint:** `https://mcp.airtreks.com/mcp` - free, no API key, 100 requests/day.\n\nNow with **real prices**: a historical range for any route in under a second, live fares for a specific itinerary, and a full multi-stop trip priced across several tickets — the same trip can vary three-fold depending on how it is ticketed, and that is the part no other flight tool will tell you.\n\n## 30-second setup\n\n### Claude Desktop\n\nSettings → Connectors → **Add custom connector** → paste `https://mcp.airtreks.com/mcp`.\n\n### Claude Code\n\n```bash\nclaude mcp add --transport http airtreks https://mcp.airtreks.com/mcp\n```\n\n### Cursor\n\nAdd to `.cursor/mcp.json` (or Cursor Settings → MCP → Add new server):\n\n```json\n{\n  \"mcpServers\": {\n    \"airtreks\": {\n      \"url\": \"https://mcp.airtreks.com/mcp\"\n    }\n  }\n}\n```\n\nNo API key is needed for any tool, the consultant handoff included. A key is\noptional and only raises your daily limit; append it to the URL if your client\ncannot send custom headers, as claude.ai connectors cannot:\n\n```\nhttps://mcp.airtreks.com/mcp?key=at_your_key\n```\n\n### ChatGPT\n\nSettings → **Apps & Connectors** → enable Developer mode (Pro/Business plans) → add `https://mcp.airtreks.com/mcp` as a custom connector.\n\n### Any other MCP client\n\nSame JSON shape as Cursor above (Streamable HTTP). Prefer stdio? Run it locally:\n\n```bash\nnpx airtreks-mcp\n```\n\nThen ask your agent:\n\n> Plan a round-the-world trip: San Francisco, Tokyo, Bangkok, Singapore, Delhi, Istanbul, London, back to San Francisco.\n\n## One call, one answer: a 6-stop RTW\n\nYour user wants six stops around the world. Google Flights gives up. Alliance RTW booking sites will let them build it, then fail at ticketing. One `plan_route` call tells your agent what actually works:\n\n```json\n{\n  \"cities\": [\"SFO\", \"NRT\", \"BKK\", \"SIN\", \"DEL\", \"IST\", \"LHR\", \"SFO\"],\n  \"budget\": \"mid\"\n}\n```\n\nReal response, trimmed for length (the full version includes carrier alternatives and consultant notes for all 7 legs):\n\n```json\n{\n  \"route\": \"SFO -> NRT -> BKK -> SIN -> DEL -> IST -> LHR -> SFO\",\n  \"totalLegs\": 7,\n  \"isRoundTrip\": true,\n  \"direction\": \"westbound\",\n  \"backtracking\": false,\n  \"regionsCrossed\": [\"americas\", \"asia\", \"europe\"],\n  \"recommended\": {\n    \"approach\": \"custom\",\n    \"confidence\": \"high\",\n    \"reason\": \"7 legs — alliance fares have <6% bookability. Custom build with mixed carriers is the way to go.\"\n  },\n  \"customBuild\": {\n    \"strategy\": \"Mixed-carrier build using alliance carriers, Gulf bridge connections. 1 surface sector opportunity.\",\n    \"segments\": [\n      {\n        \"leg\": 1, \"from\": \"SFO\", \"to\": \"NRT\",\n        \"carrier\": { \"code\": \"NH\", \"name\": \"ANA\", \"why\": \"Best transpacific availability. LAX/SFO/SEA-NRT direct.\" }\n      },\n      {\n        \"leg\": 5, \"from\": \"DEL\", \"to\": \"IST\",\n        \"carrier\": { \"code\": \"TK\", \"name\": \"Turkish Airlines\", \"type\": \"gulf-bridge\", \"why\": \"Cheapest Asia-Europe usually. IST connects everywhere.\" }\n      }\n    ],\n    \"surfaceSectors\": [\n      {\n        \"insteadOf\": \"BKK -> SIN (leg 3)\",\n        \"suggestion\": \"Bangkok to Singapore through Malaysia. Train, bus, or ultra-cheap LCC. Adds Malaysia and possibly Penang, KL, Melaka.\",\n        \"savings\": \"Saves $100-250\"\n      }\n    ]\n  },\n  \"allianceFeasibility\": {\n    \"starAlliance\": { \"viable\": false, \"summary\": \"Technically possible on Star Alliance but only 6% bookability at 7 legs. Custom build strongly recommended.\" },\n    \"oneworld\": { \"viable\": false, \"summary\": \"Technically possible on oneworld but only 6% bookability at 7 legs. Custom build strongly recommended.\" }\n  }\n}\n```\n\nThat single call just told your agent four things it can't get anywhere else:\n\n- **Alliance RTW fares fail on this trip.** 7 legs prices at 6% bookability - your user would build it, hit a wall at ticketing, and blame you.\n- **The build that works:** a per-leg carrier plan - ANA transpacific, Turkish Airlines as the Asia-Europe bridge, each with alternatives and trade-offs.\n- **Where to not fly at all:** Bangkok to Singapore is cheaper overland through Malaysia, saving $100-250 and adding a country.\n- **What it typically costs:** `fare_product_match` puts this trip at $2,500-$8,000 economy on an alliance RTW fare, typically $3,000-$12,000 as a custom build.\n\nThose are honest ranges, not quotes - exact pricing on a 7-leg mixed-carrier itinerary depends on fare-class availability the day you book. For a real number, `trip_idea_create` hands the full routing analysis to an AirTreks consultant who prices and books the actual ticket. Your user gets an expert who starts informed, not a form to fill out.\n\n## Tools\n\nAll tools are free and need no API key — 100 requests/day per IP.\n\n### Routing\n\n| Tool | Description |\n|------|-------------|\n| `plan_route` | Primary entry point - give it cities, it evaluates Star Alliance RTW, oneworld RTW, and custom mixed-carrier builds, then recommends the best approach |\n| `route_validate` | Validate a multi-city routing - alliance rules, dead legs, poison carriers, bookability |\n| `route_suggest` | Get 3 suggested routings by region, direction, and alliance |\n| `hub_check` | Best connection between two airports - dead leg detection + hub fixes |\n| `fare_product_match` | Match the right fare product (RTW, Circle Pacific/Atlantic, Open Jaw, Custom) with typical price ranges |\n| `custom_route_build` | Break complex itineraries into individually-ticketable segments with carrier recommendations |\n\n#### Pricing\n\n| Tool | Description |\n|------|-------------|\n| `route_estimate` | Price range for a route from AirTreks fare history. No dates needed, answers in about a quarter of a second — the right tool when someone asks \"what will this cost?\" before anything is decided |\n| `fare_quote` | Live fares for one specific itinerary on specific dates, priced as a single ticket |\n| `itinerary_quote` | Prices a whole multi-stop trip and returns several ways to ticket it — cheapest, fastest, fewest stops — with the tickets each one is built from. Takes about a minute, so it returns a reference immediately |\n| `itinerary_quote_status` | Fetches an `itinerary_quote` result by its reference. Free to poll |\n\n### Consultant handoff\n\n| Tool | Description |\n|------|-------------|\n| `trip_idea_create` | Hand off to an AirTreks human travel consultant - submits the trip request with the full routing analysis attached |\n\nSubmits real customer contact details, so only call it with the customer's\nknowledge and consent. Repeat submissions of the same email + route inside 24\nhours return the existing trip request rather than creating a duplicate.\n\n## Why this data is different\n\nAirTreks has built complex multi-stop itineraries since 1987. This server exposes what that history taught us:\n\n- **Dead legs** - city pairs that look bookable but fail on alliance fares, learned from 1,400+ real fare-construction failures\n- **Bookability rates by leg count** - measured, not estimated (91% at 3-4 legs, 61% at 5-6, 6% at 7+)\n- **Poison carriers and hub fixes** - we know what airline combinations break ticketing and what to route instead\n- **Proven routing templates** from working with Multi-Stop and Around the World Intineraries for inviduals, families and large group\n\nNo other flight tool returns this because no other flight tool has priced these failures.\n\n## REST API (no MCP client required)\n\nEvery tool is also a plain REST endpoint - same tools, same rate limits, JSON in/out. For agent frameworks that consume REST instead of MCP:\n\n```bash\ncurl -X POST https://mcp.airtreks.com/api/plan_route \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"cities\": [\"LAX\", \"NRT\", \"BKK\", \"LHR\", \"LAX\"]}'\n```\n\nFull OpenAPI 3.1 spec: [`https://mcp.airtreks.com/openapi.json`](https://mcp.airtreks.com/openapi.json)\n\n## Rate limits\n\n- **Free:** 100 requests/day per IP, no key needed — every tool, `trip_idea_create` included\n- **Registered:** higher limits with an API key (`X-API-Key` header, or `?key=` for clients that cannot set headers)\n\n## Endpoints\n\n| Path | Description |\n|------|-------------|\n| `/mcp` | MCP protocol endpoint (Streamable HTTP) |\n| `/api/{tool}` | REST twin of each tool (POST, JSON body) |\n| `/openapi.json` | OpenAPI 3.1 spec for the REST surface |\n| `/health` | Health check |\n| `/register` | Get an API key for a higher rate limit (POST) |\n| `/privacy` | Privacy policy |\n| `/favicon.ico`, `/favicon.svg` | AirTreks mark — the icon AI directories show for this server |\n| `/` | Server info |\n\n## License\n\nAGPL-3.0-only\n",
  "bytes": 9056,
  "sha": "285bc8a8e6e0b0b984779e666f623df60916592fbf910d57041f14e2dd20b488",
  "repo_slug": "airtreks/airtreks-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_airtreks_airtreks_mcp_867638f4/readme"
}