MCP Hub
Back to servers

MCP VRBO

A browser automation-based MCP server that enables searching for VRBO vacation rentals and retrieving detailed property information using real browser rendering to handle dynamic content.

Tools
2
Updated
Jan 9, 2026
Validated
Jan 11, 2026

MCP VRBO

MCP server for searching VRBO vacation rental listings using browser automation.

Overview

This server provides VRBO search capabilities by leveraging mcp-browser for browser automation. Unlike the Airbnb MCP which uses embedded JSON extraction, VRBO requires full browser rendering to access listing data.

Port: 3046 URL: https://mcp-vrbo.local.jbmurphy.com

Architecture

mcp-vrbo (3042) --> mcp-browser (3020) --> browser-pool --> LXC browsers

The server:

  1. Receives search/listing requests
  2. Calls mcp-browser to navigate to VRBO pages
  3. Executes JavaScript to extract listing data from the DOM
  4. Returns structured property information

Tools

ToolDescription
vrbo_searchSearch VRBO listings with filters (location, dates, guests, price range, bedrooms)
vrbo_listing_detailsGet detailed information about a specific VRBO property

Usage

Search for listings

curl -X POST https://mcp-vrbo.local.jbmurphy.com/mcp/call_tool \
  -H "Content-Type: application/json" \
  -d '{
    "name": "vrbo_search",
    "arguments": {
      "location": "New York",
      "checkin": "2025-03-01",
      "checkout": "2025-03-05",
      "adults": 2,
      "min_bedrooms": 2
    }
  }'

Get listing details

curl -X POST https://mcp-vrbo.local.jbmurphy.com/mcp/call_tool \
  -H "Content-Type: application/json" \
  -d '{
    "name": "vrbo_listing_details",
    "arguments": {
      "id": "4515867"
    }
  }'

Search Parameters

ParameterTypeDescription
locationstringRequired. City, state, or region to search
checkinstringCheck-in date (YYYY-MM-DD)
checkoutstringCheck-out date (YYYY-MM-DD)
adultsnumberNumber of adults (default: 2)
childrennumberNumber of children (default: 0)
min_bedroomsnumberMinimum number of bedrooms
min_bathroomsnumberMinimum number of bathrooms
min_pricenumberMinimum price per night
max_pricenumberMaximum price per night

Response Format

{
  "searchUrl": "https://www.vrbo.com/search?destination=...",
  "location": "New York",
  "totalAvailable": "300+",
  "returnedCount": 17,
  "properties": [
    {
      "id": "4515867",
      "name": "Spacious apartment in Brooklyn",
      "url": "https://www.vrbo.com/4515867",
      "price": "$1,181",
      "priceNumeric": 1181,
      "rating": 9.4,
      "reviews": 10,
      "propertyType": "Apartment",
      "sleeps": 16,
      "bedrooms": 4,
      "bathrooms": "3+",
      "neighborhood": "Brooklyn"
    }
  ]
}

Dependencies

  • mcp-browser - Browser automation service (must be running)
  • browser-pool - LXC browser container pool

Build & Deploy

# Build locally
docker-compose up -d --build

# Or via main docker-compose
cd .. && docker-compose up -d --build mcp-vrbo

Technical Notes

  • VRBO uses React and loads data dynamically via GraphQL
  • Data extraction is done by parsing the rendered DOM, not embedded JSON
  • The browser pool handles anti-bot measures through real browser instances
  • Slower than Airbnb scraping (~3-5 seconds per search) due to full page rendering

Comparison: Airbnb vs VRBO

Aspectmcp-airbnbmcp-vrbo
MethodEmbedded JSON extractionDOM parsing via browser
SpeedFast (~1 second)Slower (~3-5 seconds)
Browser requiredNoYes (via mcp-browser)
ReliabilityMay break on JSON structure changesMay break on DOM changes

Reviews

No reviews yet

Sign in to write a review