Servidor MCP

Veabird: ski & beach trip planner

io.github.alexchouck-hash/veabird
Viajes y hospitalidad Público y accesible MCP 2026-07-28

Qué hace este MCP

Plans ski and beach trips using resort matching, conditions, forecasts, lodging, flights, activities and travel advisories.

beach_conditions
Conditions at a beach resort on a date
Full conditions for one beach resort on one date: 0-100 beach score with per-metric scores, sargassum, weather, water temperature, waves and rip currents, UV, crowds, hurricane risk, holidays. For today, also live conditions and alerts. Days 0-15 are forecasts, later dates climate outlooks.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['resort'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD, today to ~365 days out (default today).'}, 'resort': {'type': 'string', 'description': 'Resort id or name'}}}
better_nearby_beaches
Better nearby beaches
For a beach resort and date (within 16 days), nearby resorts with a meaningfully higher beach score: swap suggestions when sargassum or weather is bad.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['resort'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD'}, 'resort': {'type': 'string'}, 'radiusMiles': {'type': 'number', 'maximum': 1000, 'minimum': 25}}}
find_flights
Flight searches to a resort
Pre-filled flight searches from the traveler's home airport to the best gateway airports for a ski or beach resort (or any airport code), with the drive from each airport to the resort.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['from', 'to', 'depart'], 'properties': {'to': {'type': 'string', 'description': 'Ski or beach resort name/id, or a destination airport code.'}, 'from': {'type': 'string', 'description': "Traveler's home airport code (e.g. DFW), city (e.g. 'Dallas') or 'lat,lon'."}, 'adults': {'type': 'integer', 'maximum': 16, 'minimum': 1, 'description': 'Adults (default 2).'}, 'depart': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD'}, 'return': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Return date (optional for one-way).'}, 'childrenAges': {'type': 'array', 'items': {'type': 'integer', 'maximum': 17, 'minimum': 0}, 'maxItems': 8, 'description': 'Ages of children traveling, e.g. [6, 9].'}}}
find_lodging
Find places to stay
Places to stay near a ski or beach resort (or any 'lat,lon') for given dates and party: live nightly prices, ratings and photos where available, filtered by budget, plus hotel and vacation-rental searches.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['near', 'checkin', 'checkout'], 'properties': {'near': {'type': 'string', 'description': "Ski or beach resort name/id, or 'lat,lon'."}, 'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'rooms': {'type': 'integer', 'maximum': 8, 'minimum': 1, 'description': 'Rooms needed (default 1).'}, 'adults': {'type': 'integer', 'maximum': 16, 'minimum': 1, 'description': 'Adults (default 2).'}, 'checkin': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD'}, 'checkout': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD'}, 'radiusMiles': {'type': 'number', 'maximum': 30, 'minimum': 0.5, 'description': 'Search radius (default 5).'}, 'childrenAges': {'type': 'array', 'items': {'type': 'integer', 'maximum': 17, 'minimum': 0}, 'maxItems': 8, 'description': 'Ages of children traveling, e.g. [6, 9].'}, 'maxPricePerNight': {'type': 'number', 'maximum': 20000, 'minimum': 20, 'description': 'Lodging budget per night for the whole party, in USD.'}}}
find_ski_resorts
Find the best ski resorts for a traveler
Ranks ski resorts for one traveler or group: terrain that fits their ability (beginner/intermediate/advanced/expert, or a mixed group), snow and crowds for their dates, travel from their home airport or city (drive or fly), and their Epic/Ikon pass. Returns the reasons for each pick plus lodging, flight and rental links. Use for 'where should I ski' questions.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'area': {'type': 'string', 'description': "Limit to a country, state or range, e.g. 'colorado', 'utah', 'alps', 'japan', 'US'."}, 'from': {'type': 'string', 'description': "Traveler's home airport code (e.g. DFW), city (e.g. 'Dallas') or 'lat,lon'."}, 'pass': {'enum': ['epic', 'ikon', 'none'], 'type': 'string', 'description': 'Season pass they hold.'}, 'limit': {'type': 'integer', 'maximum': 15, 'minimum': 1, 'description': 'How many resorts (default 5).'}, 'budget': {'enum': ['value', 'mid', 'luxury'], 'type': 'string', 'description': 'Value weights pass coverage and driving more heavily. Use find_lodging for nightly prices.'}, 'depart': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First ski day, YYYY-MM-DD (default today).'}, 'nights': {'type': 'integer', 'maximum': 21, 'minimum': 1, 'description': 'Trip length in nights (default 3).'}, 'travel': {'enum': ['drive', 'fly', 'either'], 'type': 'string', 'description': 'How they want to get there (default either).'}, 'ability': {'type': 'array', 'items': {'enum': ['beginner', 'intermediate', 'advanced', 'expert'], 'type': 'string'}, 'description': "Ability of each skier or the group, e.g. ['intermediate'] or ['advanced','beginner']."}, 'childrenAges': {'type': 'array', 'items': {'type': 'integer', 'maximum': 17, 'minimum': 0}, 'maxItems': 8, 'description': 'Ages of children traveling, e.g. [6, 9].'}, 'maxDriveHours': {'type': 'number', 'maximum': 16, 'minimum': 0.5, 'description': 'Longest acceptable drive (default 5).'}}}
hurricane_threats
Active hurricanes and threatened resorts
Active Atlantic tropical storms and hurricanes (NOAA NHC) with position, intensity and track, and which Veabird beach resorts are threatened.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'resort': {'type': 'string', 'description': 'Optional resort to check'}}}
plan_trip
Plan a ski or beach trip
Everything to book one trip to a ski or beach resort: conditions for the dates, places to stay (live nightly prices with photos where available, plus rental and hotel searches), flights from the traveler's airport to the best gateway, and extras (lift tickets, ski rentals, tours, car hire, insurance).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['resort', 'depart'], 'properties': {'from': {'type': 'string', 'description': "Traveler's home airport code (e.g. DFW), city (e.g. 'Dallas') or 'lat,lon'."}, 'kind': {'enum': ['ski', 'beach'], 'type': 'string', 'description': 'Only if the name is ambiguous.'}, 'adults': {'type': 'integer', 'maximum': 16, 'minimum': 1, 'description': 'Adults (default 2).'}, 'depart': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Arrival date, YYYY-MM-DD.'}, 'resort': {'type': 'string', 'description': 'Ski or beach resort name or id.'}, 'return': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Departure date (default 4 nights later).'}, 'childrenAges': {'type': 'array', 'items': {'type': 'integer', 'maximum': 17, 'minimum': 0}, 'maxItems': 8, 'description': 'Ages of children traveling, e.g. [6, 9].'}, 'maxPricePerNight': {'type': 'number', 'maximum': 20000, 'minimum': 20, 'description': 'Lodging budget per night for the whole party, in USD.'}}}
rank_beaches
Best beach resorts for a date
Rank beach resorts by 0-100 beach score for a date, optionally within a region, island or country, or a radius around a resort. With `from`, also gives each resort's airports and a flight search. Use for 'where should I go to the beach' questions.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD (default today). Beyond 16 days needs a narrow query or near.'}, 'from': {'type': 'string', 'description': "Traveler's home airport code (e.g. DFW), city (e.g. 'Dallas') or 'lat,lon'."}, 'near': {'type': 'string', 'description': 'Resort id or name to rank around.'}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Default 8.'}, 'query': {'type': 'string', 'description': "Region, island, town or country, e.g. 'mexico', 'bahamas', 'punta cana'."}, 'radiusMiles': {'type': 'number', 'maximum': 2000, 'minimum': 10, 'description': 'With near: max distance (default 300).'}}}
sargassum_forecast
Sargassum forecast for a beach resort
Sargassum (seaweed) outlook for a beach resort: the next 16 days in detail plus a weekly outlook for coming months, barrier and cleanup programs, and the model's source and held-out skill.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['resort'], 'properties': {'weeks': {'type': 'integer', 'maximum': 52, 'minimum': 1, 'description': 'Weekly outlook length (default 12)'}, 'resort': {'type': 'string', 'description': 'Resort id or name'}}}
sargassum_model_skill
Sargassum model accuracy
How well Veabird's sargassum model performs on held-out years (AUC, Brier score, calibration) versus baselines.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
search_beach_resorts
Search beach resorts
Search Veabird's 1,400+ beach resorts (Caribbean, Gulf of Mexico, Mexico's Pacific coast, Hawaii) by name, town, island, region or country. Returns ids, today's headline conditions, photos and page links.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'description': "e.g. 'tulum', 'punta cana', 'barbados'"}}}
search_ski_resorts
Search ski resorts
Search Veabird's ~300 ski resorts by name, country, state or range, optionally only those on a pass. Returns ids, terrain mix, passes, gateway airports and forecast links.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'pass': {'enum': ['epic', 'ikon'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'description': "e.g. 'utah', 'alps', 'whistler', 'japan'"}}}
ski_conditions
Snow conditions at a ski resort
Today's 0-100 'ski today' score (fresh snow, base depth, weather, crowds), the next 7 days of summit snowfall and temperature, crowd outlook, terrain mix, passes and gateway airport for one ski resort.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['resort'], 'properties': {'resort': {'type': 'string', 'description': "Ski resort name or id, e.g. 'Breckenridge'."}}}
tides
Tide times
High and low tide times and heights at a beach resort for the next days (Open-Meteo sea level model, heights relative to mean sea level).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['resort'], 'properties': {'days': {'type': 'integer', 'maximum': 7, 'minimum': 1}, 'resort': {'type': 'string'}}}
travel_advisory
Travel advisory (crime and safety)
US State Department travel advisory level (1-4) and summary for a country or a beach resort's country, plus Veabird's local safety notes.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'resort': {'type': 'string'}, 'country': {'type': 'string', 'description': 'ISO2 code, e.g. MX, JM, DO'}}}
Añadido
find_flights
2 de October de 2026 a las 02:40
Añadido
find_lodging
2 de October de 2026 a las 02:40
Añadido
plan_trip
2 de October de 2026 a las 02:40
Añadido
sargassum_model_skill
2 de October de 2026 a las 02:40
Añadido
tides
2 de October de 2026 a las 02:40
Añadido
travel_advisory
2 de October de 2026 a las 02:40
Añadido
hurricane_threats
2 de October de 2026 a las 02:40
Añadido
sargassum_forecast
2 de October de 2026 a las 02:40
Añadido
better_nearby_beaches
2 de October de 2026 a las 02:40
Añadido
rank_beaches
2 de October de 2026 a las 02:40
Añadido
beach_conditions
2 de October de 2026 a las 02:40
Añadido
search_beach_resorts
2 de October de 2026 a las 02:40
Añadido
search_ski_resorts
2 de October de 2026 a las 02:40
Añadido
ski_conditions
2 de October de 2026 a las 02:40
Añadido
find_ski_resorts
2 de October de 2026 a las 02:40