Aviasurf
by aviasurf.com · remote · no sign-in to list tools · v1.0.0 · published by com.aviasurf
Search and compare flight prices, calendars, airports, routes, and destinations with Aviasurf.
9 tools: 2 change things and 7 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads7Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http aviasurf https://mcp.aviasurf.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnopen_search
The server marks "open_search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "open_search" says "open": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Changes things 2Claude Code: ask
destination_profileUse this tool when the user asks what a place is like, when to visit, how warm its air or water is, how far the coast is, what national parks or museums are nearby, or when compari…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use this tool when the user asks what a place is like, when to visit, how warm its air or water is, how far the coast is, what national parks or museums are nearby, or when comparing destinations before choosing one. Climate values are 1991–2020 normals, not a forecast. Beach objects are not available; the tool provides only distance to the coastline and the derived beach_destination trait, meaning the coast is within 10 km and at least one month has water warmer than 20 °C. The nearest national park distance is measured to the park centre, not an entrance or boundary. museum_level=low means no notable museum signal, not that there are no museums. Missing fields mean the source has no measurement; do not invent values.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Explore a destination profile
open_searchBuild an Aviasurf live-search URL with dates, passenger composition, cabin class, currency, and locale.1 finding
Why it is in this group
- The name "open_search" says "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "open_search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "open_search" says "open": a word for a change.
Description, as the server wrote it Build an Aviasurf live-search URL with dates, passenger composition, cabin class, currency, and locale. Always link the returned search_url from a short label in the answer language, for example "Check live prices on Aviasurf"; never paste the raw URL as text. This opens live search; it does not confirm a fare or availability.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Open live Aviasurf search
Only reads 7Claude Code: allow
cheapest_destinationsFind cached indicative fares and filter destinations locally by geography, climate, coast, island, elevation or terrain relief, beach or hiking traits, culture, parks, population, …No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find cached indicative fares and filter destinations locally by geography, climate, coast, island, elevation or terrain relief, beach or hiking traits, culture, parks, population, connectivity, and route trip-duration suitability. Use population_level=low for quieter small-city options, but note that it is a global population band, not a measure of crowds or tourism: a small city may still be busy with visitors. Other low/medium/high values are also global bands, not ranks within a country; museum_level=low means no notable museum signal, not no museums. National-park distance is to the park centre. Monthly air and water filters require month. Prices are per adult. Always link the returned search_url from a short label; never paste the raw URL.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Discover indicative destination prices
compare_airportsCompare cached indicative fare samples in an interactive airport comparison across airports of the origin city, destination city, or both.No findings
Why it is in this group
- The name "compare_airports" says "compare": a word for reading.
Description, as the server wrote it Compare cached indicative fare samples in an interactive airport comparison across airports of the origin city, destination city, or both. Prices are per adult. Always link the returned search_url from a short label in the answer language, for example "Check live prices on Aviasurf"; never paste the raw URL as text. Outbound and inbound are calculated separately. Missing prices mean no cached observation, not that no flight exists.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Compare indicative airport prices
flight_pricesFind cached indicative 'from' fares for a route and render interactive flight cards.No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find cached indicative 'from' fares for a route and render interactive flight cards. Prices are per adult. These are historical observations, not live availability or booking offers. Always link the returned search_url from a short label in the answer language, for example "Check live prices on Aviasurf"; never paste the raw URL as text.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Find indicative flight prices
flight_prices_filteredFind cached indicative fares with baggage, cabin, direct-flight, budget, flexible-date, and trip-duration filters and render interactive flight cards.No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find cached indicative fares with baggage, cabin, direct-flight, budget, flexible-date, and trip-duration filters and render interactive flight cards. Prices are per adult. Always link the returned search_url from a short label in the answer language, for example "Check live prices on Aviasurf"; never paste the raw URL as text. Airline, departure-time, and transfer-count filters are applied only to the returned cache sample and are reported in query_coverage. Use flight_prices for requests that do not need these filters.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Find filtered indicative flight prices
price_calendarShow cached indicative price observations in an interactive calendar by day, by month, or as observed departure/return date pairs.No findings
Why it is in this group
- The description's first verb is "show": a word for reading.
Description, as the server wrote it Show cached indicative price observations in an interactive calendar by day, by month, or as observed departure/return date pairs. Prices are per adult. Every monthly row includes sample_size and sample_sufficient. A month with sample_sufficient=false is a limited cached observation, not a reliable monthly minimum or evidence of seasonality; state that limitation instead of drawing a seasonal conclusion. Always link the returned search_url from a short label in the answer language, for example "Check live prices on Aviasurf"; never paste the raw URL as text. Missing dates mean no cached observation, not that no flight exists.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Explore indicative price dates
resolve_placeResolve a city, airport, or country name to IATA/location candidates.No findings
Why it is in this group
- The name "resolve_place" says "resolve": a word for reading.
Description, as the server wrote it Resolve a city, airport, or country name to IATA/location candidates. Returns every plausible candidate instead of guessing, and includes airports for city candidates.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Resolve a place
route_factsSummarize a cached fare sample in an interactive route profile: price statistics, airlines observed, travel duration, route distance, and city airports.No findings
Why it is in this group
- The description's first verb is "summarize": a word for reading.
Description, as the server wrote it Summarize a cached fare sample in an interactive route profile: price statistics, airlines observed, travel duration, route distance, and city airports. Prices are per adult. Always link the returned search_url from a short label in the answer language, for example "Check live prices on Aviasurf"; never paste the raw URL as text. direct_seen means only that a nonstop option appeared in the sample; never infer that direct flights do not exist.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Inspect cached route facts
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http aviasurf https://mcp.aviasurf.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__aviasurf__cheapest_destinations",
"mcp__aviasurf__compare_airports",
"mcp__aviasurf__flight_prices",
"mcp__aviasurf__flight_prices_filtered",
"mcp__aviasurf__price_calendar",
"mcp__aviasurf__resolve_place",
"mcp__aviasurf__route_facts"
],
"ask": [
"mcp__aviasurf__destination_profile",
"mcp__aviasurf__open_search"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as aviasurf. Review it before you use it.