Live hotel rates worldwide: search stays, property detail, all-in room prices, human phone desk.
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.
What Callstay is, which tools exist, what prices mean, and the human desk's phone number. Call first.
This tool takes no arguments.
What Callstay is, which tools exist, what prices mean, and the human desk's phone number. Call first.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Full detail for one property by slug: description, facilities, check-in and check-out times, parking, pets, children, policies, review summary and nearby places.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The property slug from search_stays, e.g. 'delta-hotels-by-marriott-peterborough'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The property slug from search_stays, e.g. 'delta-hotels-by-marriott-peterborough'."
}
}
}Every room and rate one property has for an exact stay, live from the supplier. Each room has an all-in total, itemised fees, cancellation terms and a booking URL. `status` says whether an empty list is no rooms or a supplier outage.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The property slug from search_stays, e.g. 'delta-hotels-by-marriott-peterborough'. |
| rooms | integer | Number of rooms. |
| adults | integer | Adults across all rooms. |
| checkin* | string | Check-in date, YYYY-MM-DD. |
| checkout* | string | Check-out date, YYYY-MM-DD. Must be after checkin. |
| currency | string | ISO 4217 code to quote in. Defaults to the market's currency. |
| children_ages | array | Age of each child at check-in. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug",
"checkin",
"checkout"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The property slug from search_stays, e.g. 'delta-hotels-by-marriott-peterborough'."
},
"rooms": {
"type": "integer",
"default": 1,
"maximum": 30,
"minimum": 1,
"description": "Number of rooms."
},
"adults": {
"type": "integer",
"default": 2,
"maximum": 30,
"minimum": 1,
"description": "Adults across all rooms."
},
"checkin": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-in date, YYYY-MM-DD."
},
"checkout": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-out date, YYYY-MM-DD. Must be after checkin."
},
"currency": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "ISO 4217 code to quote in. Defaults to the market's currency."
},
"children_ages": {
"type": "array",
"items": {
"type": "integer",
"maximum": 17,
"minimum": 0
},
"default": [],
"maxItems": 10,
"description": "Age of each child at check-in."
}
}
}Find hotels for a place, dates and party. Returns up to 48 properties with an indicative nightly and total, rating and a URL that carries the dates.
| Argument | Type | Description |
|---|---|---|
| query* | string | What the guest wants, in plain language: 'near the river, pet friendly, 2 adults'. Dates in the text are read too, but the date fields win. |
| rooms | integer | Number of rooms. |
| adults | integer | Adults across all rooms. |
| checkin | string | Check-in date, YYYY-MM-DD. |
| checkout | string | Check-out date, YYYY-MM-DD. Must be after checkin. |
| currency | string | ISO 4217 code to quote in. Defaults to the market's currency. |
| destination | string | City or place name, with country when ambiguous: 'Peterborough, United Kingdom'. Strongly recommended; the parser is more reliable with it separate. |
| max_results | integer | |
| children_ages |
| array |
| Age of each child at check-in. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 400,
"minLength": 1,
"description": "What the guest wants, in plain language: 'near the river, pet friendly, 2 adults'. Dates in the text are read too, but the date fields win."
},
"rooms": {
"type": "integer",
"default": 1,
"maximum": 30,
"minimum": 1,
"description": "Number of rooms."
},
"adults": {
"type": "integer",
"default": 2,
"maximum": 30,
"minimum": 1,
"description": "Adults across all rooms."
},
"checkin": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-in date, YYYY-MM-DD."
},
"checkout": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-out date, YYYY-MM-DD. Must be after checkin."
},
"currency": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "ISO 4217 code to quote in. Defaults to the market's currency."
},
"destination": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "City or place name, with country when ambiguous: 'Peterborough, United Kingdom'. Strongly recommended; the parser is more reliable with it separate."
},
"max_results": {
"type": "integer",
"default": 12,
"maximum": 48,
"minimum": 1
},
"children_ages": {
"type": "array",
"items": {
"type": "integer",
"maximum": 17,
"minimum": 0
},
"default": [],
"maxItems": 10,
"description": "Age of each child at check-in."
}
}
}