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

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