Veabird: ski & beach trip planner

Ski & beach trip planning: resort matching, snow and sargassum forecasts, lodging and flights.

我該用這個嗎

品質與安全性

A
說明品質
96%
結構描述完整度
88%
命名品質
86%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,830Token(工具定義)
~1.4 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.99%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "veabird": {
      "url": "https://veabird.com/mcp"
    }
  }
}

遠端端點

https://veabird.com/mcpstreamable-http

它能做什麼

工具清單

工具(16)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢find_ski_resorts(ability, from, travel, maxDriveHours, pass, ...)

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": {
    "ability": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "beginner",
          "intermediate",
          "advanced",
          "expert"
        ]
      },
      "description": "Ability of each skier or the group, e.g. ['intermediate'] or ['advanced','beginner']."
    },
    "from": {
      "type": "string",
      "description": "Traveler's home airport code (e.g. DFW), city (e.g. 'Dallas') or 'lat,lon'."
    },
    "travel": {
      "type": "string",
      "enum": [
        "drive",
        "fly",
        "either"
      ],
      "description": "How they want to get there (default either)."
    },
    "maxDriveHours": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 16,
      "description": "Longest acceptable drive (default 5)."
    },
    "pass": {
      "type": "string",
      "enum": [
        "epic",
        "ikon",
        "none"
      ],
      "description": "Season pass they hold."
    },
    "depart": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First ski day, YYYY-MM-DD (default today)."
    },
    "nights": {
      "type": "integer",
      "minimum": 1,
      "maximum": 21,
      "description": "Trip length in nights (default 3)."
    },
    "childrenAges": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 17
      },
      "maxItems": 8,
      "description": "Ages of children traveling, e.g. [6, 9]."
    },
    "budget": {
      "type": "string",
      "enum": [
        "value",
        "mid",
        "luxury"
      ],
      "description": "Value weights pass coverage and driving more heavily."
    },
    "area": {
      "type": "string",
      "description": "Limit to a country, state or range, e.g. 'colorado', 'utah', 'alps', 'japan', 'US'."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 15,
      "description": "How many resorts (default 5)."
    }
  }
}
🟢ski_conditions(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",
  "properties": {
    "resort": {
      "type": "string",
      "description": "Ski resort name or id, e.g. 'Breckenridge'."
    }
  },
  "required": [
    "resort"
  ]
}
🟢search_ski_resorts(query, pass, limit)

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": {
    "query": {
      "type": "string",
      "description": "e.g. 'utah', 'alps', 'whistler', 'japan'"
    },
    "pass": {
      "type": "string",
      "enum": [
        "epic",
        "ikon"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  }
}
🟢search_beach_resorts(query, limit)

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": {
    "query": {
      "type": "string",
      "description": "e.g. 'tulum', 'punta cana', 'barbados'"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  }
}
🟢beach_conditions(resort, 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",
  "properties": {
    "resort": {
      "type": "string",
      "description": "Resort id or name"
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "YYYY-MM-DD, today to ~365 days out (default today)."
    }
  },
  "required": [
    "resort"
  ]
}
🟢rank_beaches(date, query, near, radiusMiles, from, ...)

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."
    },
    "query": {
      "type": "string",
      "description": "Region, island, town or country, e.g. 'mexico', 'bahamas', 'punta cana'."
    },
    "near": {
      "type": "string",
      "description": "Resort id or name to rank around."
    },
    "radiusMiles": {
      "type": "number",
      "minimum": 10,
      "maximum": 2000,
      "description": "With near: max distance (default 300)."
    },
    "from": {
      "type": "string",
      "description": "Traveler's home airport code (e.g. DFW), city (e.g. 'Dallas') or 'lat,lon'."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "description": "Default 8."
    }
  }
}
🟢better_nearby_beaches(resort, date, radiusMiles)

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",
  "properties": {
    "resort": {
      "type": "string"
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "YYYY-MM-DD"
    },
    "radiusMiles": {
      "type": "number",
      "minimum": 25,
      "maximum": 1000
    }
  },
  "required": [
    "resort"
  ]
}
🟢sargassum_forecast(resort, weeks)

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",
  "properties": {
    "resort": {
      "type": "string",
      "description": "Resort id or name"
    },
    "weeks": {
      "type": "integer",
      "minimum": 1,
      "maximum": 52,
      "description": "Weekly outlook length (default 12)"
    }
  },
  "required": [
    "resort"
  ]
}
🟢hurricane_threats(resort)

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"
    }
  }
}
🟢travel_advisory(country, resort)

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": {
    "country": {
      "type": "string",
      "description": "Country: ISO2 code (MX, JM, DO) or name (Mexico)"
    },
    "resort": {
      "type": "string"
    }
  }
}
🟢tides(resort, days)

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",
  "properties": {
    "resort": {
      "type": "string"
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 7
    }
  },
  "required": [
    "resort"
  ]
}
🟢sargassum_model_skill

How well Veabird's sargassum model performs on held-out years (AUC, Brier score, calibration) versus baselines.

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟢plan_trip(resort, kind, from, depart, return, ...)

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",
  "properties": {
    "resort": {
      "type": "string",
      "description": "Ski or beach resort name or id."
    },
    "kind": {
      "type": "string",
      "enum": [
        "ski",
        "beach"
      ],
      "description": "Only if the name is ambiguous."
    },
    "from": {
      "type": "string",
      "description": "Traveler's home airport code (e.g. DFW), city (e.g. 'Dallas') or 'lat,lon'."
    },
    "depart": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Arrival date, YYYY-MM-DD."
    },
    "return": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Departure date (default 4 nights later)."
    },
    "adults": {
      "type": "integer",
      "minimum": 1,
      "maximum": 16,
      "description": "Adults (default 2)."
    },
    "childrenAges": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 17
      },
      "maxItems": 8,
      "description": "Ages of children traveling, e.g. [6, 9]."
    },
    "maxPricePerNight": {
      "type": "number",
      "minimum": 20,
      "maximum": 20000,
      "description": "Lodging budget per night for the whole party, in USD."
    }
  },
  "required": [
    "resort",
    "depart"
  ]
}
🟢find_lodging(near, checkin, checkout, adults, childrenAges, ...)

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, homes from local property managers booked direct (no booking-site fee) where Veabird has them, plus hotel and vacation-rental searches.

輸入結構描述

{
  "type": "object",
  "properties": {
    "near": {
      "type": "string",
      "description": "Ski or beach resort name/id, or 'lat,lon'."
    },
    "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"
    },
    "adults": {
      "type": "integer",
      "minimum": 1,
      "maximum": 16,
      "description": "Adults (default 2)."
    },
    "childrenAges": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 17
      },
      "maxItems": 8,
      "description": "Ages of children traveling, e.g. [6, 9]."
    },
    "rooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 8,
      "description": "Rooms needed (default 1)."
    },
    "maxPricePerNight": {
      "type": "number",
      "minimum": 20,
      "maximum": 20000,
      "description": "Lodging budget per night for the whole party, in USD."
    },
    "radiusMiles": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 30,
      "description": "Search radius (default 5)."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "near",
    "checkin",
    "checkout"
  ]
}
🟢find_flights(from, to, depart, return, adults, ...)

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",
  "properties": {
    "from": {
      "type": "string",
      "description": "Traveler's home airport code (e.g. DFW), city (e.g. 'Dallas') or 'lat,lon'."
    },
    "to": {
      "type": "string",
      "description": "Ski or beach resort name/id, or a destination airport code."
    },
    "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)."
    },
    "adults": {
      "type": "integer",
      "minimum": 1,
      "maximum": 16,
      "description": "Adults (default 2)."
    },
    "childrenAges": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 17
      },
      "maxItems": 8,
      "description": "Ages of children traveling, e.g. [6, 9]."
    }
  },
  "required": [
    "from",
    "to",
    "depart"
  ]
}
🟢property_demand(location, ical, rate, rates, from, ...)

For a vacation rental or hotel owner: how busy each night will be around their property for the next weeks (concerts, festivals, carnivals, conventions, pro and college home games, public holidays and long weekends, weekends), compared with a typical night there. With their calendar's iCal export link (Airbnb, Vrbo, Booking.com, Hostaway, Guesty, OwnerRez...) it marks booked and open nights; with their nightly rate it flags nights priced too low for the demand and suggests a range. Use when a host asks whether their price is too low, what's happening in town, or when to raise rates.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location": {
      "type": "string",
      "description": "Where the property is: 'lat,lon' (most precise), a town with state or country ('Destin, FL', 'Tulum'), or a Veabird beach resort name."
    },
    "ical": {
      "type": "string",
      "maxLength": 1000,
      "description": "The listing's calendar export (iCal, .ics) link. Airbnb: Calendar > Availability > Connect calendars > Export. Vrbo: Calendar > Import/Export > Export. Read once, never stored."
    },
    "rate": {
      "type": "number",
      "minimum": 10,
      "maximum": 100000,
      "description": "The property's normal nightly rate (USD or local currency)."
    },
    "rates": {
      "type": "array",
      "maxItems": 120,
      "items": {
        "type": "string",
        "pattern": "^\\d{4}-\\d{2}-\\d{2}=\\d+(\\.\\d+)?$",
        "description": "YYYY-MM-DD=price"
      },
      "description": "Current nightly rates for specific dates, e.g. ['2026-10-17=189','2026-10-18=189']."
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First night, YYYY-MM-DD (default today)."
    },
    "days": {
      "type": "integer",
      "minimum": 7,
      "maximum": 60,
      "description": "Nights to check (default 35; events are listed about 5 weeks ahead, holidays further)."
    },
    "radiusMiles": {
      "type": "number",
      "minimum": 2,
      "maximum": 100,
      "description": "How far an event still sends guests to this property (default 25; use ~10 in a big city, 40+ for a remote area)."
    }
  },
  "required": [
    "location"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本16 個工具