VailVacay (vailvacay.com) is an independent local guide and directory of Vail, Colorado businesses. VailVacay is operated by Cloudalien Technologies LLC. This connector gives AI assistants read-only, structured access to the directory, plus live tour and activity listings from Viator. VailVacay and Cloudalien Technologies LLC are not affiliated with or endorsed by Meta. Last updated October 11, 2026. Version 2.2.1.
Overview · Setup · Tools and classifications · Inputs · Outputs · Booking links and affiliate disclosure · Status handling and errors · Rate limits · Data sources and freshness · Content standards · Support
| Intended users | People planning a trip to, or spending time in, Vail, Colorado who ask an AI assistant where to stay, eat, drink, shop or what to do, and the assistants that answer them. |
|---|---|
| Supported tasks | Search and filter local businesses (keyword, category, area/neighborhood, price tier, amenities, tags, distance from a point or from another listing); read full listing details (description, address, phone, website, hours, FAQ, credited photos, listing page URL); get hotel booking links pre-set to the user's dates; find bookable tours and activities with live starting prices, ratings, duration and free-cancellation status. |
| Not supported | Booking, payment, cancellation or any account action: the connector does not take payments or complete bookings. VailVacay is a directory, not a seller or travel agent: it does not take bookings or payments for any business, so there is no booking, checkout or status-check flow to complete. Bookings are made directly with the provider named in a booking link (Expedia, Viator or Klook), which shows the full price and terms and confirms the booking. |
| Use case: better than browsing | Request: “Find a walk-to-the-lifts hotel in Lionshead with a hot tub for January 15–18, and a ski rental with free cancellation for that trip.” With the connector: one search_listings call filters every Vail lodging listing by area, amenities and dates and returns Expedia booking links already set to those dates, with credited photos and the listing page to cite; search_tours then returns Viator ski rentals with live starting prices, ratings and free-cancellation flags. In a browser this means opening and reading each lodge page and the Viator site separately.Example call: search_listings {"category":"Hotels","area":"Lionshead","amenities":["walk_to_lifts","hot_tub"],"check_in":"2027-01-15","check_out":"2027-01-18"}, then search_tours {"q":"ski rental","free_cancellation":true}. |
| Restrictions | Account/plan: none – no sign-in, no paid plan, free to use. Region: covers Vail, Colorado only; works from any country. Language: English content. Age: the directory is for a general audience and is not directed at children; some listed businesses (bars, liquor stores, nightlife) serve alcohol and are restricted to adults of legal drinking age (21+ locally), and some tours have their own age requirements, shown by the provider. Usage: see rate limits. |
| Item | Value |
|---|---|
| MCP endpoint | https://vailvacay-connector.michael-b38.workers.dev/mcp – Streamable HTTP transport, POST only, JSON responses (no SSE stream), stateless (no Mcp-Session-Id). Protocol versions 2025-06-18 (preferred), 2025-03-26 and 2024-11-05; an unsupported requested version is answered with 2025-06-18. Methods: initialize, notifications/initialized, ping, tools/list, tools/call (plus empty resources/list, prompts/list). |
| REST API | Same data over HTTPS GET. OpenAPI 3.0: https://vailvacay-connector.michael-b38.workers.dev/v1/openapi.json |
| Authentication | None. All data is public directory information. There are no user accounts, so there is no OAuth, no scopes, no API key and no test account or test credentials to set up; reviewers can call every tool directly. One production environment. |
| Permissions | Read only. Every tool is classified Read and none is a sensitive write, so Muse's default read permissions apply (Ask on first use; users may choose Always allow). No tool needs or requests approval for purchases, sends or deletions because none performs them. |
| Transport security | HTTPS only (plain HTTP is redirected to HTTPS). Request body limit 64 KB. |
All 5 tools are Read tools under Muse guidelines section 3.2; none is a Write or a Sensitive write, and no tool combines a read with a write. Each tool declares MCP annotations, a JSON Schema inputSchema (unknown arguments are rejected) and an outputSchema, and returns structuredContent plus the same JSON as a text block.
| Tool | Classification | Sensitive | Side effects | Permission | Annotations |
|---|---|---|---|---|---|
search_listings | Read | No | None. Reads the VailVacay directory; creates, changes, sends or deletes nothing. | Muse default for reads (Ask on first use; Always allow available) | readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false |
get_listing | Read | No | None. Reads the VailVacay directory; creates, changes, sends or deletes nothing. | Muse default for reads (Ask on first use; Always allow available) | readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false |
list_categories | Read | No | None. Reads the VailVacay directory; creates, changes, sends or deletes nothing. | Muse default for reads (Ask on first use; Always allow available) | readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false |
list_filters | Read | No | None. Reads the VailVacay directory; creates, changes, sends or deletes nothing. | Muse default for reads (Ask on first use; Always allow available) | readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false |
search_tours | Read | No | None. Reads Viator's partner API; creates, changes, sends or deletes nothing. | Muse default for reads (Ask on first use; Always allow available) | readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true |
| Tool | Description (as sent in tools/list) |
|---|---|
search_listings | Search VailVacay's curated directory of Vail, Colorado businesses (hotels and lodging, restaurants, bars and après-ski, activities, ski shops, shopping, services and spas). Read-only. Filters: keyword, category, area/neighborhood, price tier, amenities (e.g. ski_in_ski_out, walk_to_lifts, hot_tub, pool, pet_friendly), tag, and distance from a lat/lng or from another listing. Returns compact plain-text listings (description shortened; use get_listing for the full text, hours and FAQ) with the listing page URL, address, phone, website, up to 2 credited photos, and booking links. Booking links are the path to book with the named provider (Expedia for hotels, plus Viator/Klook where the listing has one), not ads; those marked affiliate:true are affiliate links, and VailVacay may earn a commission if the user books, at no extra cost to them. Results are not ranked by commission. Pass check_in/check_out to get date-specific Expedia hotel links (live rates are shown on Expedia, not in this result). |
get_listing | Read-only. Full details for one VailVacay listing by id: complete plain-text description, FAQ, hours, up to 10 gallery photos with captions and credits (e.g. 'Photo via Expedia'), listing page URL, and booking links (the path to book with the named provider, not ads). Links marked affiliate:true are affiliate links; VailVacay may earn a commission at no extra cost to the user. Returns NOT_FOUND for an unknown id. |
list_categories | Read-only. List the VailVacay directory's top-level categories with listing counts. |
list_filters | Read-only. Values usable in search_listings: areas/neighborhoods, price tiers, amenities and tags, each with listing counts, plus notes on how each is derived. |
search_tours | Read-only. Live search of bookable tours and activities in Vail, Colorado from Viator's partner API. Returns title, live starting ('from') price and currency, rating, review count, duration, free-cancellation flag, image and a booking_url. Optional start_date/end_date return only products Viator lists as available on those dates. Default order: keyword relevance when q is given, otherwise traveler rating; 'featured' uses Viator's own default order. booking_url is the Viator booking page and a Viator affiliate link: VailVacay may earn a commission if the user books, at no extra cost to them. Viator confirms the final price, availability and cancellation terms before payment. |
| Tool | Arguments |
|---|---|
search_listings | q (string) – Keywords, e.g. 'steak', 'ski rental', 'hot tub condo'category (string) – Category name or id from list_categories, e.g. 'Hotels'area (string) – Area/neighborhood, e.g. 'Vail Village', 'Lionshead', 'Golden Peak', 'Cascade Village'. See list_filters.price_tier (string: budget | moderate | upscale | luxury)amenities (array) – All must matchtag (string) – Exact listing tag, see list_filtersnear_lat (number)near_lng (number)near_listing_id (string) – Rank by distance from this listingradius_km (number) – Max distance (km) when near_* is sethas_booking_link (boolean) – Only listings with a booking linkcheck_in (string) – YYYY-MM-DD (hotels)check_out (string) – YYYY-MM-DDadults (integer, default 2)sort (string: relevance | distance | name)limit (integer, default 10)page (integer, default 1) |
get_listing | id (string) – Listing id from search_listingscheck_in (string)check_out (string)adults (integer)Required: id |
list_categories | none |
list_filters | none |
search_tours | q (string) – Keywords, e.g. 'jeep tour', 'fly fishing', 'mountain bike'start_date (string) – YYYY-MM-DDend_date (string) – YYYY-MM-DDmax_price (number)min_rating (number)free_cancellation (boolean)sort (string: relevance | rating | price_low | price_high | featured) – Default: relevance to q when q is given (Viator keyword match), otherwise rating (highest traveler rating first). featured = Viator's own default order.currency (string: USD | EUR | GBP | CAD | AUD | THB, default USD)limit (integer, default 5)page (integer, default 1) |
Out-of-range limit and page values are clamped (limit 1–50 for listings, 1–20 for tours). Dates are YYYY-MM-DD.
id, name, url (listing page on vailvacay.com, /listings/<name>), category, area, price_tier, amenities, tags, summary, description (plain text, shortened to 350 characters with description_truncated: true), address fields and lat/lon, phone, website, booking[], links[], up to 2 photo_details (url, caption, credit, source), photo_count, has_hours; with a distance filter also distance_km/distance_mi. Envelope: total (matches after all filters), page, per_page, returned, has_more, match, notes, affiliate_disclosure, data_fetched_at.description, hours, faq, facts, image_main, up to 10 credited photos and updated.categories[] with id, name, description, listing_count. list_filters: areas, price_tiers, amenities, tags, each with listing_count, and notes on how they are derived.tours[] with product_code, title, description, from_price, currency, price_basis, rating, review_count, duration_minutes or duration_range_minutes, free_cancellation, flags (factual only: FREE_CANCELLATION, PRIVATE_TOUR, SKIP_THE_LINE, NEW_ON_VIATOR), image, image_credit, booking_url, provider, affiliate. Envelope: total, prices_checked_at, dates, notes, affiliate_disclosure. from_price is Viator's current starting price, not a quote for a specific date and party; Viator shows the final total including any taxes and fees before payment. Products without a live price are left out.search_description, booking_link and photos[] for backward compatibility; REST search returns up to 3 photos and 600-character descriptions.Booking links are the path to book with the provider named in each link (for example Expedia, Hotels.com, Viator or Klook). Links marked affiliate:true and sponsored:true are affiliate links: Cloudalien Technologies LLC (operator of VailVacay) may earn a commission if a user books through them, at no extra cost to the user. Listings are not paid placements, and results are never ranked or filtered by commission or affiliate status. Prices, availability and booking terms are set and confirmed by the provider.
booking[] items are the way to book with the named provider (provider, label, url, affiliate, sponsored, purpose: "booking"). Links with affiliate: true and sponsored: true are affiliate links and are returned exactly as stored on vailvacay.com (only check_in/check_out dates are added to Expedia hotel pages when you pass them). Listings are not paid placements, and no listing is shown or ordered because of these links.affiliate: true and named by provider, and every response that contains one carries affiliate_disclosure. Official business websites, menus and reservation pages are returned separately in website and links[] with affiliate: false.has_booking_link filter applies only when the caller asks for it). Tours are ordered by keyword relevance when a keyword is given and by traveler rating otherwise, or by price, or by Viator's own default order only when sort=featured is requested.Every tool is a single, synchronous, idempotent read: there are no pending, queued or partially completed operations, and the connector never creates or reports a booking, so there are no booking or payment statuses to check. Retrying a failed call is always safe. Successful results have status: "success"; an empty result is a success with total: 0 and an explanatory notes entry.
| Situation | MCP | REST |
|---|---|---|
| Success | result.structuredContent + identical JSON text block | 200 |
| Invalid or unknown argument | isError: true, text INVALID_ARGUMENT: <what to fix> | 400 {"code":"INVALID_ARGUMENT"} |
| Listing id not found | isError: true, NOT_FOUND: ... | 404 NOT_FOUND |
| Directory or Viator slow or unavailable (timeouts: directory 15 s, Viator 8 s) | isError: true, UPSTREAM_UNAVAILABLE: ...; retry after a short wait | 502 UPSTREAM_UNAVAILABLE |
| Rate limit exceeded | HTTP 429 with JSON-RPC error -32000 (or isError RATE_LIMITED for search_tours) and Retry-After | 429 RATE_LIMITED, Retry-After |
| Unexpected error | isError: true, INTERNAL_ERROR (no internal details exposed) | 500 INTERNAL_ERROR |
| Malformed JSON / invalid JSON-RPC / batch | HTTP 400, -32700 / -32600 | – |
Unknown method / unknown tool / bad params | -32601 / -32602 / -32602 | 404 NOT_FOUND for unknown paths |
| Body over 64 KB | HTTP 413, -32600 | – |
GET/DELETE on /mcp | HTTP 405 (no SSE stream or sessions) | – |
300 requests per minute per client IP (IPv6: per /64) across MCP and REST, and 60 search_tours calls per minute per client IP. Exceeding a limit returns HTTP 429 with a Retry-After header in seconds. For higher limits email michael@cloudalien.com. Typical latency: under 0.5 s for directory tools, about 0.5–1 s for search_tours.
area comes from the listing's own neighborhood field or tags. price_tier is set only where the listing states one. amenities are detected from the listing's own tags, structured fields and description text (negated mentions such as "no pool" are ignored); confirm important details with the business.Photo via Expedia), which should be shown with the image; photos credited to Google or with no credit are not served.prices_checked_at shows when).null or omitted.| Data | Fresh for | Notes |
|---|---|---|
| Listings | 1 hour | May be served up to 24 h old while refreshing in the background; data_fetched_at shows when the data was read. |
| Photo galleries | 6 hours | |
| Categories | 24 hours | Counts are computed from current listing data. |
| Viator tours and prices | 15 minutes | prices_checked_at |
The directory lists lawful, general-audience travel businesses (lodging, restaurants, bars, attractions, activities, shops and services). It does not list adult entertainment, escort or sexual services, gambling operators, weapons or drug sellers. Listings are not changed or ranked based on any inference about the user, and the connector does not process or infer sensitive personal characteristics.
curl -s https://vailvacay-connector.michael-b38.workers.dev/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_listings","arguments":{"category":"Hotels","area":"Lionshead","amenities":["walk_to_lifts","hot_tub"],"check_in":"2027-01-15","check_out":"2027-01-18"}}}'
| Operator | Cloudalien Technologies LLC |
|---|---|
| Support contact | michael@cloudalien.com |
| Security contact | michael@cloudalien.com (subject "Security"). Security incidents involving Muse user data are reported to Meta within 48 hours. |
| Maintainer | Cloudalien Technologies LLC maintains the connector and this documentation. |
| Policies | Privacy policy · Terms of use |