# Fly Where To?

> Worldwide nonstop flight routes from Wikipedia: airports, destinations, connections, airlines.

- name: com.flywhereto/mcp
- version: 1.4.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 89/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.flywhereto%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/com.flywhereto%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "flywhereto": {
      "type": "http",
      "url": "https://flywhereto.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-99% ~updated-51d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 8 of 8 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: most_connected_airports (destructiveHint, idempotentHint); reachable_from (destructiveHint, idempotentHint); destinations_from (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 2,222 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 2,222 tokens to load them all
- tool set hash: e110fd24fa7467aeed641815b8e331b2
- badge: [![protogrid quality](https://protogrid.dev/badge/com.flywhereto/mcp.svg)](https://protogrid.dev/servers/com.flywhereto/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://flywhereto.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 0.9915254)

## Packages

_none_

## Tools (8)

- `airline_routes`: The full network one airline flies: every origin with its nonstop destinations, as IATA codes. Look up by IATA airline code ("TK") or name fragment ("turkish"). Ambiguous queries return a candidate list to refine from.
- `destinations_from`: All airports reachable nonstop from a given origin, with the service kinds (scheduled, seasonal, charter, suspended, ...) per destination. Optionally filter by kind and include the operating airlines. Seasonal and charter service carries no operating dates; treat as unverified for specific travel dates.
- `find_airport`: Look up airports by IATA/ICAO code or by name fragment. Returns code, name, country, coordinates and how many nonstop destinations each serves. Use this first when you only have a city or airport name.
- `find_connections`: Multi-stop itineraries from an origin airport to either a destination airport or to any airport in a country. Returns airport paths with every airline flying each leg. Airline entries carry their alliance and, when service is not plain scheduled, a kind field (seasonal, charter or suspended). Suspended legs are included and flagged, not excluded; pass exclude_kinds to drop them. Seasonal and charter service carries no operating dates and there is no frequency or days-of-week data, so treat every match as unverified for specific travel dates. Provide exactly one of destination or to_country. Responses include book deep links to Kiwi.com search results (our referral id included); without depart_date the link defaults to a one-way search two weeks out.
- `find_meetup`: Best meet-up airports for travellers from multiple origins, ranked by combined travel effort using the same scoring as the site. Origins can be weighted by traveller count. Scores are kilometre values, lower is better; optimize "score" and "total_distance" both rank by weighted total distance (the frontend default), "worst_case" by the longest single journey. Candidates everyone can reach always rank above candidates someone cannot. Route data only: no fares, no frequency or days-of-week data; non-scheduled legs are flagged with a kind field. The map link stores the query as an anonymous share code and reopens it in the site’s meet-up planner. Each reachable party carries a book deep link for its own journey to the candidate. Responses include book deep links to Kiwi.com search results (our referral id included); without depart_date the link defaults to a one-way search two weeks out.
- `most_connected_airports`: Airports ranked by number of nonstop destinations served, worldwide or within one country.
- `reachable_from`: How far the network stretches from one airport within a stop budget: totals, breakdown by stop count and by country. Pass country to list the individual reachable airports there with their minimum stops.
- `route_details`: Which airlines fly nonstop between two airports, with alliance, homepage and the service periods of each. Only periods of kind begins, ends or resumes ever carry dates; scheduled, seasonal and charter periods have none, so seasonal service is unverified for specific travel dates. Responses include book deep links to Kiwi.com search results (our referral id included); without depart_date the link defaults to a one-way search two weeks out.
