booking
Beach Valencia holiday apartments (Valencia, Spain): availability, pricing, cancellation policy.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"booking": {
"url": "https://www.beachvalencia.com/api/mcp"
}
}
}远程端点
https://www.beachvalencia.com/api/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢search_availability(check_in, check_out, adults, children, language)
Search availability across every apartment category for a given date range and party size. Returns one match per available category with total EUR price (public rate, no discount code), photos and a booking_url that opens beachvalencia.com with dates and guests pre-filled. Use it whenever the traveller asks "what do you have from X to Y for N people". Example: {"check_in":"2027-05-22","check_out":"2027-05-27","adults":4}.
输入模式
{
"type": "object",
"properties": {
"check_in": {
"type": "string",
"description": "Arrival date (YYYY-MM-DD, Europe/Madrid)."
},
"check_out": {
"type": "string",
"description": "Departure date (YYYY-MM-DD, Europe/Madrid); must be strictly after check_in."
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 32,
"description": "Number of adults."
},
"children": {
"description": "Optional list of children ages. Only the count is used to size the property.",
"maxItems": 10,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 17
}
},
"language": {
"description": "Response language. Defaults to en if omitted or unsupported.",
"type": "string",
"enum": [
"es",
"en"
]
}
},
"required": [
"check_in",
"check_out",
"adults"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "EUR"
},
"check_in": {
"type": "string"
},
"check_out": {
"type": "string"
},
"nights": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"guests": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"max_guests": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"bedrooms": {
"type": "string"
},
"location": {
"type": "string"
},
"highlights": {
"type": "array",
"items": {
"type": "string"
}
},
"total_price_eur": {
"type": "number"
},
"nightly_avg_eur": {
"type": "number"
},
"nights": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"public_price_eur": {
"type": "number"
},
"discount_note": {
"type": "string"
},
"min_stay_nights": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"photos": {
"type": "array",
"items": {
"type": "string"
}
},
"booking_url": {
"type": "string"
}
},
"required": [
"id",
"name",
"max_guests",
"bedrooms",
"location",
"highlights",
"total_price_eur",
"nightly_avg_eur",
"nights",
"photos",
"booking_url"
],
"additionalProperties": false
}
},
"minimum_stay_only": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"min_stay_nights": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"name",
"min_stay_nights"
],
"additionalProperties": false
},
"description": "Properties that would be available if the stay met the minimum-nights rule."
},
"priority_note": {
"type": "string"
},
"priority_url": {
"type": "string"
}
},
"required": [
"currency",
"check_in",
"check_out",
"nights",
"guests",
"matches",
"minimum_stay_only",
"priority_note",
"priority_url"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_property_details(id, language)
Return description, capacity, amenities and photos for one property category (G1..G6 or G4B). Use it after search_availability when the traveller wants to compare or see more detail about a specific option. The exact apartment address and access instructions are shared by email only after the reservation is confirmed — never expose them here or invent them. Example: {"id":"G4","language":"en"}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Property/type ID (G1..G6 or G4B)."
},
"language": {
"description": "Response language. Defaults to en.",
"type": "string",
"enum": [
"es",
"en"
]
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"max_guests": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"bedrooms": {
"type": "string"
},
"size_sqm": {
"type": [
"number",
"null"
]
},
"location": {
"type": "string"
},
"highlights": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "string"
},
"amenities": {
"type": "object",
"properties": {
"parking": {
"type": "boolean"
},
"pool_seasonal": {
"type": "boolean"
}
},
"required": [
"parking",
"pool_seasonal"
],
"additionalProperties": false
},
"photos": {
"type": "array",
"items": {
"type": "string"
}
},
"booking_url_base": {
"type": "string"
},
"priority_note": {
"type": "string"
},
"priority_url": {
"type": "string"
}
},
"required": [
"id",
"name",
"max_guests",
"bedrooms",
"size_sqm",
"location",
"highlights",
"description",
"amenities",
"photos",
"booking_url_base",
"priority_note",
"priority_url"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_quote(id, check_in, check_out, adults, children, ...)
Return the exact total EUR price for one property category and date range. The price matches what checkout charges a non-member with no discount code — if the traveller has a code, they enter it themselves on beachvalencia.com. Includes deposit and cancellation summary. If the dates are not available, "available" is false and booking_url points to the search page as a fallback. Example: {"id":"G4","check_in":"2027-06-08","check_out":"2027-06-15","adults":6}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Property/type ID (G1..G6 or G4B)."
},
"check_in": {
"type": "string",
"description": "Arrival date YYYY-MM-DD."
},
"check_out": {
"type": "string",
"description": "Departure date YYYY-MM-DD."
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 32
},
"children": {
"maxItems": 10,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 17
}
},
"language": {
"type": "string",
"enum": [
"es",
"en"
]
}
},
"required": [
"id",
"check_in",
"check_out",
"adults"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"currency": {
"type": "string",
"const": "EUR"
},
"check_in": {
"type": "string"
},
"check_out": {
"type": "string"
},
"nights": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"guests": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"available": {
"type": "boolean"
},
"total_price_eur": {
"type": "number"
},
"nightly_avg_eur": {
"type": "number"
},
"public_price_eur": {
"type": "number"
},
"discount_note": {
"type": "string"
},
"min_stay_nights": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"deposit": {
"type": "string"
},
"cancellation": {
"type": "string"
},
"cancellation_details_url": {
"type": "string"
},
"booking_url": {
"type": "string"
},
"hint": {
"type": "string"
}
},
"required": [
"id",
"name",
"currency",
"check_in",
"check_out",
"nights",
"guests",
"available",
"deposit",
"cancellation",
"cancellation_details_url",
"booking_url"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_policies(language)
Return the official policies of the property: check-in / check-out times, cancellation summary, refundable deposit rules, the mandatory Spanish traveller registration (SES.Hospedajes) and the contact email. Use it whenever the traveller asks about "cancellation", "deposit", "check-in time", "how does registration work", etc. Example: {"language":"en"}.
输入模式
{
"type": "object",
"properties": {
"language": {
"description": "Response language. Defaults to en.",
"type": "string",
"enum": [
"es",
"en"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"check_in": {
"type": "string"
},
"check_out": {
"type": "string"
},
"cancellation": {
"type": "object",
"properties": {
"summary": {
"type": "string"
},
"details_url": {
"type": "string"
}
},
"required": [
"summary",
"details_url"
],
"additionalProperties": false
},
"deposit": {
"type": "string"
},
"online_check_in": {
"type": "string"
},
"contact": {
"type": "string"
}
},
"required": [
"check_in",
"check_out",
"cancellation",
"deposit",
"online_check_in",
"contact"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}社区
证据