Find vacation rentals near a US city, check live availability and prices, and see local events.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Returns one activity with its category, location, website, admission, contactInfo, source and commercial.
The siteSlug of a Booking Bench site, as returned by list_sites.
The id of an activity, as returned by list_activities.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http booking-bench https://mcp.bookingbench.com/mcp
Returns one activity with its category, location, website, admission, contactInfo, source and commercial.
| Argument | Type | Description |
|---|---|---|
| siteSlug* | string | The siteSlug of a Booking Bench site, as returned by list_sites. |
| activityId* | string | The id of an activity, as returned by list_activities. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"siteSlug",
"activityId"
],
"properties": {
"siteSlug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$",
"description": "The siteSlug of a Booking Bench site, as returned by list_sites."
},
"activityId": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The id of an activity, as returned by list_activities."
}
},
"additionalProperties": false
}Returns day-by-day availability and nightly price for one unit over two consecutive months starting at the given month. Prices are per night before cleaning fee and taxes.
| Argument | Type | Description |
|---|---|---|
| year* | integer | Calendar year of the first month. |
| month* | integer | First month, 1 to 12. |
| siteSlug* | string | The siteSlug of a Booking Bench site, as returned by list_sites. |
| propertyId* | integer | The propertyId of a unit on that site, as returned by list_properties. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"siteSlug",
"propertyId",
"year",
"month"
],
"properties": {
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2024,
"description": "Calendar year of the first month."
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "First month, 1 to 12."
},
"siteSlug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$",
"description": "The siteSlug of a Booking Bench site, as returned by list_sites."
},
"propertyId": {
"type": "integer",
"description": "The propertyId of a unit on that site, as returned by list_properties.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Returns one event with its full description, dates and times, location, admission, ticketUrl, contactInfo, source and commercial.
| Argument | Type | Description |
|---|---|---|
| eventId* | string | The id of an event, as returned by list_events. |
| siteSlug* | string | The siteSlug of a Booking Bench site, as returned by list_sites. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"siteSlug",
"eventId"
],
"properties": {
"eventId": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The id of an event, as returned by list_events."
},
"siteSlug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$",
"description": "The siteSlug of a Booking Bench site, as returned by list_sites."
}
},
"additionalProperties": false
}Returns one unit: description, city, bedrooms, bathrooms, maximum guests, amenities, pet and accessibility flags, minimum nights, cancellation policy, house rules, check-in and check-out hours, rating out of 5, up to 5 photos with captions (imageCount gives the total), and the 3 newest written reviews (guest-written text, marked as quoted). indicativeNightlyRate is a guide read from a cache up to 6 hours old, not a price; get_quote returns the price for dates. The unit's street address and coordinates are not included.
| Argument | Type | Description |
|---|---|---|
| siteSlug* | string | The siteSlug of a Booking Bench site, as returned by list_sites. |
| propertyId* | integer | The propertyId of a unit on that site, as returned by list_properties. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"siteSlug",
"propertyId"
],
"properties": {
"siteSlug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$",
"description": "The siteSlug of a Booking Bench site, as returned by list_sites."
},
"propertyId": {
"type": "integer",
"description": "The propertyId of a unit on that site, as returned by list_properties.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Returns a live quote for one unit and stay. When the stay can be booked: nights, currency, nightlyRate, cleaningFee, totalPrice (nights plus cleaning fee; taxes and any other fees added at checkout are not included, and taxesIncluded says so), cancellationPolicy, bookingUrl (the site's page for that unit with the dates and guests filled in), and eventsDuringStay (up to 5 events on during the stay, with the total count). When it cannot be booked: available false with a reason (unavailable, closed_arrival, closed_departure, min_stay, max_stay, too_many_guests, invalid_dates) and a message saying what to change.
| Argument | Type | Description |
|---|---|---|
| guests* | integer | Number of guests. |
| checkIn* | string | Arrival date as YYYY-MM-DD. |
| checkOut* | string | Departure date as YYYY-MM-DD. |
| siteSlug* | string | The siteSlug of a Booking Bench site, as returned by list_sites. |
| propertyId* | integer | The propertyId of a unit on that site, as returned by list_properties. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"siteSlug",
"propertyId",
"checkIn",
"checkOut",
"guests"
],
"properties": {
"guests": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Number of guests."
},
"checkIn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Arrival date as YYYY-MM-DD."
},
"checkOut": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Departure date as YYYY-MM-DD."
},
"siteSlug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$",
"description": "The siteSlug of a Booking Bench site, as returned by list_sites."
},
"propertyId": {
"type": "integer",
"description": "The propertyId of a unit on that site, as returned by list_properties.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Lists things to do near one Booking Bench site, alphabetically. Each activity has id, name, category, location, website, admission and contactInfo, plus source (who supplied it; property_manager means the site's own manager) and commercial (whether it is a paid placement). The answer gives total, per-category counts and nextCursor.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many activities to return, up to 100. |
| query | string | Words to find in the name, location or category. |
| cursor | string | The nextCursor from an earlier answer to the same search, unchanged. |
| category | string | An activity category name from the categories in an earlier answer. |
| siteSlug* | string | The siteSlug of a Booking Bench site, as returned by list_sites. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"siteSlug"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "How many activities to return, up to 100."
},
"query": {
"type": "string",
"maxLength": 100,
"description": "Words to find in the name, location or category."
},
"cursor": {
"type": "string",
"maxLength": 400,
"description": "The nextCursor from an earlier answer to the same search, unchanged."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "An activity category name from the categories in an earlier answer."
},
"siteSlug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$",
"description": "The siteSlug of a Booking Bench site, as returned by list_sites."
}
},
"additionalProperties": false
}Lists upcoming events near one Booking Bench site, earliest first. Each event has id, name, startDate, endDate, location, a short summary, category, admission, ticketUrl and contactInfo, plus source (who supplied it; property_manager means the site's own manager) and commercial (whether it is a paid placement). The answer gives total, per-category counts and nextCursor.
| Argument | Type | Description |
|---|---|---|
| to | string | Latest start day to include as YYYY-MM-DD. |
| from | string | Earliest day to include as YYYY-MM-DD. |
| limit | integer | How many events to return, up to 100. |
| query | string | Words to find in the name, location or description. |
| cursor | string | The nextCursor from an earlier answer to the same search, unchanged. |
| category | string | An event category key from the categories in an earlier answer. |
| siteSlug* | string | The siteSlug of a Booking Bench site, as returned by list_sites. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"siteSlug"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Latest start day to include as YYYY-MM-DD."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest day to include as YYYY-MM-DD."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "How many events to return, up to 100."
},
"query": {
"type": "string",
"maxLength": 100,
"description": "Words to find in the name, location or description."
},
"cursor": {
"type": "string",
"maxLength": 400,
"description": "The nextCursor from an earlier answer to the same search, unchanged."
},
"category": {
"type": "string",
"maxLength": 40,
"description": "An event category key from the categories in an earlier answer."
},
"siteSlug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$",
"description": "The siteSlug of a Booking Bench site, as returned by list_sites."
}
},
"additionalProperties": false
}Lists the units on one Booking Bench site that can be booked for a stay: open every night and within the unit's minimum stay, maximum stay, arrival and departure rules and guest capacity. checkIn and checkOut are required. guests defaults to 2, and the answer says when the default was used. Optional filters: city (a town on that site), minBedrooms, minBathrooms, amenities (all must be listed), petsAllowed. sort is fit (smallest unit that sleeps the party, then bedrooms, then name; the default), price, or name. No result is ranked by payment. Each result has propertyId, name, city, state, sleeps, bedrooms, bathrooms and averageNightlyRate (per night over the stay, before cleaning fee and taxes). The answer gives returned, totalMatches (or totalMatchesAtLeast when not every unit was checked), nextCursor, refinements (unused filters with how many units would remain) and notes. More than 10 matches return the best 5. Availability is up to 5 minutes old; get_quote is live.
| Argument | Type | Description |
|---|---|---|
| city | string | Only units in this town on the site, for example the matchedCity from list_sites. |
| sort | string | Result order. Default fit. |
| limit | integer | How many results to return, 1 to 10. |
| cursor | string | The nextCursor from an earlier answer to the same search, unchanged. |
| guests | integer | Number of guests. Default 2. |
| checkIn |
Lists live Booking Bench sites that have rental units in or near a destination city in the United States, nearest first, five per page. `city` is the destination the traveler names, never the traveler's own location. Each result has siteSlug, siteName, matchedCity, distanceMiles (straight-line, whole miles, between town centers), the cities the site has units in, and numberOfProperties. The answer states how many sites match in all (totalMatches) and gives nextCursor when more exist. Sites at the same distance are ordered by a daily rotation. A city name used in several states returns candidates; a misspelling returns suggestions.
| Argument | Type | Description |
|---|---|---|
| city* | string | The destination city name, for example "Deadwood". |
| limit | integer | How many results to return, 1 to 10. |
| state | string | US state name or two-letter abbreviation, for example "SD". |
| cursor | string | The nextCursor from an earlier answer to the same search, unchanged. |
| radiusMiles | integer | Search radius in miles, 1 to 50. Default 15. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The destination city name, for example \"Deadwood\"."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "How many results to return, 1 to 10."
},
"state": {
"type": "string",
"maxLength": 40,
"description": "US state name or two-letter abbreviation, for example \"SD\"."
},
"cursor": {
"type": "string",
"maxLength": 400,
"description": "The nextCursor from an earlier answer to the same search, unchanged."
},
"radiusMiles": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Search radius in miles, 1 to 50. Default 15."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.
| string |
| Arrival date as YYYY-MM-DD. |
| checkOut* | string | Departure date as YYYY-MM-DD. |
| siteSlug* | string | The siteSlug of a Booking Bench site, as returned by list_sites. |
| amenities | array | Amenity names the unit must list, for example "Hot tub". Matched ignoring case. |
| minBedrooms | integer | Minimum number of bedrooms. |
| petsAllowed | boolean | True returns only units that allow pets. |
| minBathrooms | number | Minimum number of bathrooms. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"siteSlug",
"checkIn",
"checkOut"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"description": "Only units in this town on the site, for example the matchedCity from list_sites."
},
"sort": {
"enum": [
"fit",
"price",
"name"
],
"type": "string",
"description": "Result order. Default fit."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "How many results to return, 1 to 10."
},
"cursor": {
"type": "string",
"maxLength": 400,
"description": "The nextCursor from an earlier answer to the same search, unchanged."
},
"guests": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Number of guests. Default 2."
},
"checkIn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Arrival date as YYYY-MM-DD."
},
"checkOut": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Departure date as YYYY-MM-DD."
},
"siteSlug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$",
"description": "The siteSlug of a Booking Bench site, as returned by list_sites."
},
"amenities": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 10,
"description": "Amenity names the unit must list, for example \"Hot tub\". Matched ignoring case."
},
"minBedrooms": {
"type": "integer",
"maximum": 50,
"minimum": 0,
"description": "Minimum number of bedrooms."
},
"petsAllowed": {
"type": "boolean",
"description": "True returns only units that allow pets."
},
"minBathrooms": {
"type": "number",
"maximum": 50,
"minimum": 0,
"description": "Minimum number of bathrooms."
}
},
"additionalProperties": false
}