booking

Beach Valencia holiday apartments (Valencia, Spain): availability, pricing, cancellation policy.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
95%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,076Tokens (tool definitions)
~4.4 KBTypical response size
Moderate attention impact (1.62% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "booking": {
      "url": "https://www.beachvalencia.com/api/mcp"
    }
  }
}

Remote endpoints

https://www.beachvalencia.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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}.

Input Schema

{
  "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#"
}

Output 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"}.

Input Schema

{
  "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#"
}

Output 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}.

Input Schema

{
  "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#"
}

Output 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"}.

Input Schema

{
  "type": "object",
  "properties": {
    "language": {
      "description": "Response language. Defaults to en.",
      "type": "string",
      "enum": [
        "es",
        "en"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output 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
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools