MCP 服务器

Veabird: ski & beach trip planner

io.github.alexchouck-hash/veabird
旅行与酒店 公开且可连接 MCP 2026-07-28

此 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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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).
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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).
只读 可访问外部资源 幂等
输入模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'resort': {'type': 'string'}, 'country': {'type': 'string', 'description': 'ISO2 code, e.g. MX, JM, DO'}}}
已添加
find_flights
2026年10月2日 02:40
已添加
find_lodging
2026年10月2日 02:40
已添加
plan_trip
2026年10月2日 02:40
已添加
sargassum_model_skill
2026年10月2日 02:40
已添加
tides
2026年10月2日 02:40
已添加
travel_advisory
2026年10月2日 02:40
已添加
hurricane_threats
2026年10月2日 02:40
已添加
sargassum_forecast
2026年10月2日 02:40
已添加
better_nearby_beaches
2026年10月2日 02:40
已添加
rank_beaches
2026年10月2日 02:40
已添加
beach_conditions
2026年10月2日 02:40
已添加
search_beach_resorts
2026年10月2日 02:40
已添加
search_ski_resorts
2026年10月2日 02:40
已添加
ski_conditions
2026年10月2日 02:40
已添加
find_ski_resorts
2026年10月2日 02:40