Skip to content

markswendsen-code/mcp-vrbo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@striderlabs/mcp-vrbo

An MCP (Model Context Protocol) server for automating VRBO vacation rental interactions using Playwright browser automation.

Features

  • Search for vacation rental properties by location, dates, and filters
  • View property details, availability calendars, and pricing breakdowns
  • Manage bookings (view, get details, cancel)
  • Save favorite properties
  • Contact property hosts
  • Read property reviews

Installation

Prerequisites

  • Node.js 18 or higher
  • npm

Install from package

npm install -g @striderlabs/mcp-vrbo
npx playwright install chromium

Install from source

git clone https://github.com/markswendsen-code/mcp-vrbo
cd mcp-vrbo
npm install
npx playwright install chromium
npm run build

Configuration

Add to your MCP client configuration (e.g., Claude Desktop ~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "vrbo": {
      "command": "striderlabs-mcp-vrbo"
    }
  }
}

Or if running from source:

{
  "mcpServers": {
    "vrbo": {
      "command": "node",
      "args": ["/path/to/mcp-vrbo/dist/index.js"]
    }
  }
}

Tools

vrbo_login

Authenticate with your VRBO account. Required before using tools that access account-specific data.

Parameters:

Parameter Type Required Description
email string VRBO account email address
password string VRBO account password

Example:

{
  "email": "user@example.com",
  "password": "your-password"
}

vrbo_search_properties

Search for vacation rentals by location with optional filters.

Parameters:

Parameter Type Required Description
location string Destination (city, state, landmark)
check_in string Check-in date (YYYY-MM-DD)
check_out string Check-out date (YYYY-MM-DD)
guests number Number of guests
filters object Search filters (see below)

Filters object:

Field Type Description
min_price number Minimum nightly price (USD)
max_price number Maximum nightly price (USD)
min_bedrooms number Minimum bedrooms
max_bedrooms number Maximum bedrooms
pets_allowed boolean Pet-friendly only
property_type string Property type (house, condo, cabin, etc.)
amenities string[] Required amenities (pool, hot-tub, wifi, etc.)

Example:

{
  "location": "Scottsdale, AZ",
  "check_in": "2025-07-04",
  "check_out": "2025-07-11",
  "guests": 4,
  "filters": {
    "min_bedrooms": 3,
    "pets_allowed": true,
    "amenities": ["pool"]
  }
}

vrbo_get_property_details

Retrieve comprehensive details for a specific property.

Parameters:

Parameter Type Required Description
property_id string VRBO property ID or listing number

Returns: Title, description, amenities, photos, host info, location, bedroom/bath count, cancellation policy, house rules.


vrbo_get_availability

Check the availability calendar for a property in a given month.

Parameters:

Parameter Type Required Description
property_id string VRBO property ID
month string Month in YYYY-MM format (e.g., 2025-08)

Returns: Lists of available and unavailable dates for the specified month.


vrbo_get_pricing

Get detailed pricing breakdown for specific dates.

Parameters:

Parameter Type Required Description
property_id string VRBO property ID
check_in string Check-in date (YYYY-MM-DD)
check_out string Check-out date (YYYY-MM-DD)
guests number Number of guests

Returns: Nightly rate, cleaning fee, service fee, taxes, and total price.


vrbo_book_property

Initiate the booking flow for a property.

⚠️ Safety Note: Booking is NOT auto-submitted to prevent unintended charges. The tool navigates to checkout and fills payment details — you must review and confirm manually.

Parameters:

Parameter Type Required Description
property_id string VRBO property ID
check_in string Check-in date (YYYY-MM-DD)
check_out string Check-out date (YYYY-MM-DD)
guests number Number of guests
payment_info object Payment details (see below)

Payment info object:

Field Type Description
card_number string Credit card number
expiry string Card expiry (MM/YY)
cvv string Card CVV
name_on_card string Cardholder name
billing_zip string Billing zip/postal code

vrbo_get_bookings

List all bookings for the authenticated account.

Parameters: None (requires prior vrbo_login)

Returns: List of bookings with property name, dates, status, and total.


vrbo_get_booking_details

Get complete details for a specific booking.

Parameters:

Parameter Type Required Description
booking_id string VRBO booking ID or confirmation code

vrbo_cancel_booking

Locate and initiate the cancellation process for a booking.

⚠️ Safety Note: Cancellation is NOT auto-confirmed. The tool finds the cancel button — you must confirm manually.

Parameters:

Parameter Type Required Description
booking_id string VRBO booking ID to cancel

vrbo_contact_host

Send a message to a property host.

Parameters:

Parameter Type Required Description
property_id string VRBO property ID
message string Message to send to the host

vrbo_get_reviews

Fetch reviews and ratings for a property.

Parameters:

Parameter Type Required Description
property_id string VRBO property ID

Returns: Overall rating, category scores, and individual guest reviews with author, text, rating, and date.


vrbo_get_favorites

Retrieve all saved/favorited properties for the authenticated account.

Parameters: None (requires prior vrbo_login)


vrbo_add_favorite

Add a property to your VRBO favorites list.

Parameters:

Parameter Type Required Description
property_id string VRBO property ID to save

How Property IDs Work

VRBO property IDs are numeric identifiers found in property URLs:

  • URL: https://www.vrbo.com/123456
  • Property ID: 123456

You can get property IDs from vrbo_search_properties results.

Architecture

src/
├── index.ts     # MCP server, tool definitions, request handlers
└── browser.ts   # Playwright automation helpers, page extractors

The server uses a singleton browser instance that persists across tool calls within a session, enabling login state to be maintained across multiple operations.

Limitations

  • VRBO's website structure may change, requiring updates to CSS selectors
  • Some operations (booking confirmation, cancellation, sending messages) are intentionally not auto-submitted for safety
  • Rate limiting and CAPTCHA may affect automated access
  • Playwright headless mode may be detected by VRBO's bot protection

License

MIT

Releases

No releases published

Packages

 
 
 

Contributors