Plan a stay at an oceanfront villa in Cabrera, Dominican Republic: open dates, exact quotes, holds.
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.
Whether the whole villa is free for exact dates, counting the turnover days around other stays, the 7-day booking lead time, and the season's minimum stay.
Arrival date, YYYY-MM-DD. Arrival is from 2pm.
Departure date, YYYY-MM-DD. Departure is by noon.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http villa https://www.casakimball.com/mcp
Whether the whole villa is free for exact dates, counting the turnover days around other stays, the 7-day booking lead time, and the season's minimum stay.
| Argument | Type | Description |
|---|---|---|
| check_in* | string | Arrival date, YYYY-MM-DD. Arrival is from 2pm. |
| check_out* | string | Departure date, YYYY-MM-DD. Departure is by noon. |
{
"type": "object",
"required": [
"check_in",
"check_out"
],
"properties": {
"check_in": {
"type": "string",
"format": "date",
"description": "Arrival date, YYYY-MM-DD. Arrival is from 2pm."
},
"check_out": {
"type": "string",
"format": "date",
"description": "Departure date, YYYY-MM-DD. Departure is by noon."
}
},
"additionalProperties": false
}Open stretches on the calendar, long enough for a stay. Each window gives the first possible arrival, the last possible departure, and how many nights fit between them. Turnover days around other stays are already excluded, and arrivals open 7 days out.
| Argument | Type | Description |
|---|---|---|
| from | string | Look from this date, YYYY-MM-DD; default today. |
| months | integer | How many months to look across. |
| nights | integer | Only windows with room for at least this many nights; default the minimum stay. |
{
"type": "object",
"required": null,
"properties": {
"from": {
"type": "string",
"format": "date",
"description": "Look from this date, YYYY-MM-DD; default today."
},
"months": {
"type": "integer",
"default": 3,
"maximum": 12,
"minimum": 1,
"description": "How many months to look across."
},
"nights": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "Only windows with room for at least this many nights; default the minimum stay."
}
},
"additionalProperties": false
}Facts about Casa Kimball. "overview" has the essentials in one page: who it sleeps, the nightly rates by season, what every stay adds, payment and cancellation terms, and arrival times. The others go deeper: house (the place itself), rooms, dining (the chef and meals), activities, arrival (airports and transfers), spa, events (weddings and celebrations), faq.
| Argument | Type | Description |
|---|---|---|
| topic | string |
{
"type": "object",
"required": null,
"properties": {
"topic": {
"enum": [
"overview",
"house",
"rooms",
"dining",
"activities",
"arrival",
"spa",
"events",
"faq"
],
"type": "string",
"default": "overview"
}
},
"additionalProperties": false
}The exact itemized price of a stay, from the same engine as the booking page: the nightly rental by season, the meal plan, the 12% gratuity, the refundable security deposit, and any add-ons. Also says whether the dates are open, lists the add-ons, and gives a link that opens the booking page on this stay.
| Argument | Type | Description |
|---|---|---|
| adults* | integer | Adults (12 and up). |
| add_ons | array | Optional add-on codes from get_quote's add_ons_available (boat tour, spa, bonfire, ...); priced for the whole party. |
| check_in* | string | Arrival date, YYYY-MM-DD. Arrival is from 2pm. |
| children | integer | Children aged 4 to 11. Adults and children together may not exceed 20. |
| toddlers | integer | Children under 4: free, and not counted toward the 20. |
| check_out* | string | Departure date, YYYY-MM-DD. Departure is by noon. |
{
"type": "object",
"required": [
"check_in",
"check_out",
"adults"
],
"properties": {
"adults": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Adults (12 and up)."
},
"add_ons": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional add-on codes from get_quote's add_ons_available (boat tour, spa, bonfire, ...); priced for the whole party."
},
"check_in": {
"type": "string",
"format": "date",
"description": "Arrival date, YYYY-MM-DD. Arrival is from 2pm."
},
"children": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Children aged 4 to 11. Adults and children together may not exceed 20."
},
"toddlers": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Children under 4: free, and not counted toward the 20."
},
"check_out": {
"type": "string",
"format": "date",
"description": "Departure date, YYYY-MM-DD. Departure is by noon."
}
},
"additionalProperties": false
}Sets the dates aside for 2 hours and emails the guest a link. The guest opens it, reads the payment and cancellation terms, and accepts; only then are the dates held, for 72 hours, and the itemized invoice sent. Nothing is charged. Use the guest's own name and email address, with their permission, after get_quote: the email goes to them, and the house will reply there. One open request per email address at a time.
| Argument | Type | Description |
|---|---|---|
| name* | string | The guest's full name. |
| email* | string | The guest's email address; the confirmation link goes here. |
| phone | string | Optional phone number, with country code. |
| adults* | integer | Adults (12 and up). |
| add_ons | array | Optional add-on codes from get_quote's add_ons_available (boat tour, spa, bonfire, ...); priced for the whole party. |
| message | string | Optional note for the house: the occasion, arrival plans, what the group loves. |
| check_in* | string | Arrival date, YYYY-MM-DD. Arrival is from 2pm. |
Passes a message to the house team, who reply to the guest by email. For weddings and events, long stays, larger groups, or any question the other tools don't answer. Use the guest's own name and email address, with their permission.
| Argument | Type | Description |
|---|---|---|
| name* | string | The guest's full name. |
| email* | string | Where the house should reply. |
| guests | integer | Optional head count, including day guests for an event. |
| message* | string | The question or request, in the guest's words where possible. |
| check_in | string | Optional arrival date the guest has in mind. |
| check_out | string | Optional departure date. |
{
"type": "object",
"required": [
"name",
"email",
"message"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"description": "The guest's full name."
},
"email": {
"type": "string",
"format": "email",
"maxLength": 320,
"description": "Where the house should reply."
},
"guests": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Optional head count, including day guests for an event."
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "The question or request, in the guest's words where possible."
},
"check_in": {
"type": "string",
"format": "date",
"description": "Optional arrival date the guest has in mind."
},
"check_out": {
"type": "string",
"format": "date",
"description": "Optional departure date."
}
},
"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 12, 2026.
| children |
| integer |
| Children aged 4 to 11. Adults and children together may not exceed 20. |
| toddlers | integer | Children under 4: free, and not counted toward the 20. |
| check_out* | string | Departure date, YYYY-MM-DD. Departure is by noon. |
{
"type": "object",
"required": [
"check_in",
"check_out",
"adults",
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"description": "The guest's full name."
},
"email": {
"type": "string",
"format": "email",
"maxLength": 320,
"description": "The guest's email address; the confirmation link goes here."
},
"phone": {
"type": "string",
"maxLength": 40,
"description": "Optional phone number, with country code."
},
"adults": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Adults (12 and up)."
},
"add_ons": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional add-on codes from get_quote's add_ons_available (boat tour, spa, bonfire, ...); priced for the whole party."
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "Optional note for the house: the occasion, arrival plans, what the group loves."
},
"check_in": {
"type": "string",
"format": "date",
"description": "Arrival date, YYYY-MM-DD. Arrival is from 2pm."
},
"children": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Children aged 4 to 11. Adults and children together may not exceed 20."
},
"toddlers": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Children under 4: free, and not counted toward the 20."
},
"check_out": {
"type": "string",
"format": "date",
"description": "Departure date, YYYY-MM-DD. Departure is by noon."
}
},
"additionalProperties": false
}