veabird

MCP serverDev tools

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

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use veabird to find ski resorts

Install veabird

The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user veabird 'https://veabird.com/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://veabird.com/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=veabird&config=eyJ1cmwiOiJodHRwczovL3ZlYWJpcmQuY29tL21jcCJ9

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://veabird.com/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add veabird --url 'https://veabird.com/mcp'

    Run it once, then sign in with codex mcp login veabird if the server asks for an account.

From the project's README

As published by alexchouck-hash/bluebird in README.md.

Veabird

See the perfect day coming. The best forecasts for skiers, snowboarders and Caribbean beach trips: run by run on the mountain, beach by beach in the islands. Vea is Spanish for "see"; a bluebird day is the clear, sunny day after a storm. Every place and date gets a letter grade from A+ to F (higher is better; the A range is a bluebird day).

Live site: https://veabird.com/ (hosted on Cloudflare; see docs/DEPLOY.md).

SitePathWhat it forecasts
Home/Landing page
Snow (flagship)snow/Run-by-run snow for skiers and snowboarders at 65 major resorts, SNOTEL-verified; ops board and widget for ski resorts
Beach (flagship)beach/1,400+ Caribbean, Gulf, Mexican Pacific & Hawaii resorts: satellite-trained sargassum model, weather, water, waves, UV, crowds, hurricanes, safety
Tripstrips/Ski, fall colors, hiking bugs, theme-park crowds, northern lights, stargazing, flight & hotel cost patterns
Outdoorsoutdoors/Camping, hiking, canoeing, fall colors, fishing, biking and stargazing trips graded on weather, bugs, stars, crowds, calm and nature; hub for the tools below
Golfgolf/40 golf destinations graded for your dates: weather, wind, courses, season and fees, 19th hole
Partiesparties/Bachelor, bachelorette, 21st and milestone birthday destinations: nightlife, events (signature events + live concerts and games), weather, beaches, pools, spas, value
Foliagefoliage/Peak-color timing (under Outdoors)
Riversrivers/Live USGS gauges vs normal (under Outdoors)
Waterfallswaterfalls/Flow and best visiting days (under Outdoors)
Offshoreoffshore/Go/no-go by boat size (under Outdoors)
Campcamp/Night-by-night camping score (under Outdoors)
Sportssports/Game-day predictor for pro, college and HS games: win odds (ESPN markets, iPredictSport tennis), competitiveness, weather, UV, air, crowd, safety, nearby events. Schedules: python sports/scripts/build_feed.py (reads the local Events data set)

Run locally

git clone https://github.com/alexchouck-hash/bluebird.git
cd bluebird
python3 -m http.server 8000   # then open http://localhost:8000/

No build step and no API keys for the site itself: static HTML/JS; data comes from Open-Meteo, NOAA/NWS, USGS and NOAA AOML in the browser or from the JSON feeds below. To run the Cloudflare Worker (data proxy, /api/ask) locally: npm ci && npm run dev. All checks: npm test.

Code layout: shared brand assets, header/footer and helpers in assets/; the Beach app's code in js/ and css/ (shared with Trips); each other site in its own folder.

Data pipelines (GitHub Actions)

  • data.yml: resort feed every 6 hours → data-feed branch (docs); also precomputes ski trail maps and SNOTEL verification.
  • sargassum.yml: NOAA AOML satellite sargassum history + winds/currents → trains and scores the week-ahead sargassum model → sargassum-data branch.
  • pages.yml: weekly rebuild of the resort pages.
  • ticker.yml: weekly "Worth the trip" ticker → ticker.json on the data-feed branch. scripts/build-ticker.mjs picks the week's standout trips from the data and Muse Spark 1.3 Contributor words them (optional MODEL_API_KEY secret; see docs/DEPLOY.md). The home page ranks the items for each visitor's approximate city (/api/where), weather at home and month, and reorders its sections the same way (assets/ticker.js).

On veabird.com the feeds are also served at /data/feed/ and /data/sargassum/ through the Worker.

Checks: node scripts/validate-data.mjs, node trips/scripts/validate.mjs, node tests/test.mjs, node snow/scripts/test-model.mjs.

For resorts & partners

  • Resort pages and ski resort pages: one static, search- and AI-friendly page per beach and ski resort. node scripts/build-pages.mjs generates them (plus sitemap.xml, robots.txt) and syncs the shared header/footer into every hand-written page.
  • Embeddable widgets: beach conditions embed/widget.js, snorkel & scuba embed/water.js and hurricane watch embed/hurricane.js (Shadow DOM, no dependencies), or embed/frame.html?resort=<id>[&widget=hurricane|water]; the builder page makes the snippet. Snow widget: snow/embed.html?r=<id>.
  • For beach resorts and for ski resorts: value proposition, free JSON API docs, methodology and terms.
  • Media kit and brand assets. Contact: hello@veabird.com; the For Resorts and Media Kit pages also have Formspree forms (set the form id in each action).
  • Monetization: resort pages carry "Plan your trip" affiliate links from js/affiliates.js (paste partner IDs there, then run node scripts/build-pages.mjs); the ranked partner plan and outreach email drafts are in partnerships/.
  • Analytics: cookieless GoatCounter via js/analytics.js (loaded on every page by the shared head block), including partner-link click events.
  • AI assistants: remote MCP server at https://veabird.com/mcp and REST API at /api/v1 (OpenAPI for custom GPTs) for ski matching, beach forecasts, lodging and flights; user setup at ai/, agent site map in llms.txt.

Brand

Logo assets/veabird-logo.svg (a bluebird crossing the sun). Bluebird blue #2A62E8, ink #0B1B33, sun gold #FFB938; Bricolage Grotesque + Inter. Public guide at brand/; positioning, voice and claims guidance in docs/BRAND.md.

Tools it offers (15)

What this server listed when ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • find_ski_resorts
  • ski_conditions
  • search_ski_resorts
  • search_beach_resorts
  • beach_conditions
  • rank_beaches
  • better_nearby_beaches
  • sargassum_forecast
  • hurricane_threats
  • travel_advisory
  • tides
  • sargassum_model_skill
  • plan_trip
  • find_lodging
  • find_flights
Advanced
Delivery
veabird MCP server → your ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-alexchouck-hash-veabird
Source
github.com/alexchouck-hash/bluebird
Hosted endpoint
https://veabird.com/mcp