{
  "markdown": "# whentofly — flight search for AI agents (MCP)\n\n**[whentofly.io](https://whentofly.io)** is a flexible-date flight search your AI agent can\nuse directly. Ask your agent *\"cheapest round trip from Singapore to Tokyo in October,\n5–9 days\"* — it searches a whole date window, returns the cheapest real fares with booking\nlinks, and tells you **where that price sits** against the route's usual range.\n\nNo API key. No signup. Two tools, hosted remotely — nothing to run locally.\n\n## Install\n\n**Claude Code**\n```bash\nclaude mcp add whentofly https://whentofly.io/mcp?ch=github\n```\n\n**Claude Desktop / claude.ai** — Settings → Connectors → *Add custom connector* →\n`https://whentofly.io/mcp?ch=github`\n\n**Cursor** — add to `mcp.json`:\n```json\n{\n  \"mcpServers\": {\n    \"whentofly\": { \"url\": \"https://whentofly.io/mcp?ch=github\" }\n  }\n}\n```\n\n**Any other MCP client** with remote (streamable HTTP) support: point it at\n`https://whentofly.io/mcp`.\n\n**ChatGPT** — use the [whentofly Custom GPT](https://whentofly.io) (MCP connectors are\nClaude/Cursor-side for now).\n\n## What the tools do\n\n### `search_locations` — turn a place name into an exact identity\n\nReturns typed values you pass straight through to `search_flights`:\n\n- `city:SHA` — **every** airport in the Shanghai market\n- `airport:SHA` — Hongqiao specifically, not Pudong\n\nPlenty of IATA codes name both an airport and a whole city market — `SHA` is both — so\nyour agent should ask you which one you meant when more than one result looks plausible.\nThe catalog behind it covers 3,614 airports and 3,465 cities, so small regional airports\nresolve too.\n\nAlready know the code? Pass it. This tool is for the long tail and for the\ncity-vs-airport cases.\n\n### `search_flights` — cheapest round-trip in a flexible window\n\nGive it a month or a date range plus min/max trip length (\"5–9 days in October\") and it\nscans every valid depart/return pair, then sorts by price. Booking links on every fare,\nairline names resolved.\n\nOmit the destination — or say \"anywhere\" — and you get the cheapest places to fly from\nyour origin instead. \"Where can I fly cheapest from Berlin in September?\"\n\nEach fare also gets a price level: *good*, *typical*, *high*, or *insufficient data* when\nthe route has no usable band. That says where today's price sits against the route's\nusual range. It says nothing about which way fares are heading, and it will never tell\nyou to wait.\n\n### Example prompts\n\n- \"Find the cheapest round trip Singapore → Tokyo in October, 5 to 9 days.\"\n- \"Where can I fly the cheapest from Berlin for a week in September?\"\n- \"Is $450 a high price for NYC → Lisbon in November? Check flexible dates.\"\n- \"Plan me the cheapest 10–14 day trip to Japan in the next 3 months.\"\n- \"Flights from Zhangjiajie — resolve the airport first.\"\n\n## What it doesn't do yet\n\nPremium cabins aren't bookable. Ask for `cabin=business` or `first` and you may get\nroute-level price evidence in `metadata.route_price_check`, but no ranked fare with a\nbooking link. Our bookable fare source covers economy only. We could show you a business\nprice from somewhere else next to a link that goes elsewhere — we'd rather show you\nnothing than a number the link won't honour.\n\nPrices are cached indicators. Every response carries `metadata.freshness` so your agent\ncan see how stale a fare is; confirm the final price on the booking page.\n\n## Pricing & funding\n\n**Ranked for you, not for us.** Results are ordered by the cheapest real price we found,\nwhether or not that seller pays us — there's no fee a seller can pay to rank higher.\n\nFree to use, no key. *Some* booking links are affiliate: if you book through one, the\npartner may pay us a commission, never added to your fare. Each result reports its own\nmonetization, so an agent can tell which is which. Fares come from cached airline-ticket\ndata; always verify the final price on the booking page.\n\n## For developers\n\nThe same search is available as a plain JSON API — `https://whentofly.io/search`\n([docs](https://whentofly.io/docs)), plus `https://whentofly.io/locations?q=Shanghai` for\nlocation resolution. This repo hosts documentation for the hosted MCP server; the service\nitself is closed-source.\n\nQuestions / feedback: [hello@whentofly.io](mailto:hello@whentofly.io) or open an issue here.\n",
  "bytes": 4274,
  "sha": "3910417b1802db7472a6ecdb1e1271d4d3e8fd0b277ce2a797e1ea6a3dc72bd8",
  "repo_slug": "dimabalony/whentofly-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_dimabalony_whentofly_e9238e8f/readme"
}