Skip to main content
Glama

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

Tool

Description

vrbo_search

Search VRBO listings with filters (location, dates, guests, price range, bedrooms)

vrbo_listing_details

Get 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

Parameter

Type

Description

location

string

Required. City, state, or region to search

checkin

string

Check-in date (YYYY-MM-DD)

checkout

string

Check-out date (YYYY-MM-DD)

adults

number

Number of adults (default: 2)

children

number

Number of children (default: 0)

min_bedrooms

number

Minimum number of bedrooms

min_bathrooms

number

Minimum number of bathrooms

min_price

number

Minimum price per night

max_price

number

Maximum 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

Aspect

mcp-airbnb

mcp-vrbo

Method

Embedded JSON extraction

DOM parsing via browser

Speed

Fast (~1 second)

Slower (~3-5 seconds)

Browser required

No

Yes (via mcp-browser)

Reliability

May break on JSON structure changes

May break on DOM changes

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jbmurphy/mcp-vrbo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server