workspace
Floreal Holidays Belgium: live prices and availability; staff run M&E dossiers, day sheets, tasks.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"workspace": {
"url": "https://mcp.florealholidays.be/mcp"
}
}
}Remote-Endpunkte
https://mcp.florealholidays.be/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (16)
🟢list_locations
All Floreal Holidays locations in Belgium with their slug, name, kind of site, town, region and coordinates. Use the "slug" as the `domain` argument of every other tool. The "type" is the kind of site, not the accommodation on it — a park can offer hotel rooms, studios, apartments, chalets and camping pitches at the same time; ask list_accommodation_types for that. Locations with bookable=false (the head office) cannot be priced.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_stays(arrival, nights, adults, children, babies, ...)
Find where Floreal Holidays has a stay available, across every location in one call, with the live all-in price per accommodation type. Use this whenever the guest has not picked a location yet — "somewhere at the Belgian coast in July", "a hotel room in the Ardennes with a dog", "the cheapest week for a family of four". Narrow with `region` (coast, ardennes, kempen, gaume, wallonie-picarde), with `accommodation` (hotel_room, studio, apartment, chalet, mobile_home, glamping, camping_pitch, or plain words like "hotel", "appartement", "chalet") or with `maxPrice`; widen with `flexibleDays`. Results are sorted cheapest first, one cheapest option per accommodation type, and each result carries a bookingUrl for that location — always share it so the guest can book. When nothing matches, the answer lists "alternatives" within three days. For one known location get_stay_price gives the full picture.
Eingabe-Schema
{
"type": "object",
"properties": {
"arrival": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Arrival date (YYYY-MM-DD)"
},
"nights": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "Number of nights"
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Number of adults"
},
"children": {
"type": "integer",
"minimum": 0,
"maximum": 20,
"description": "Number of children (under 12)"
},
"babies": {
"type": "integer",
"minimum": 0,
"maximum": 10,
"description": "Number of babies (under 2)"
},
"pets": {
"type": "integer",
"minimum": 0,
"maximum": 5,
"description": "Number of pets"
},
"region": {
"type": "string",
"description": "Region to limit the search to: coast, ardennes, kempen, gaume, wallonie-picarde (Dutch/French names work too)"
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Location slugs to limit the search to; takes precedence over region"
},
"accommodation": {
"type": "string",
"description": "Accommodation kind (hotel_room, studio, apartment, chalet, mobile_home, glamping, camping_pitch) or a word from the type name, e.g. \"hotel\", \"apartment\", \"chalet\", \"tent\""
},
"maxPrice": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Highest acceptable all-in price for the whole stay, in euro"
},
"flexibleDays": {
"type": "integer",
"minimum": 0,
"maximum": 14,
"description": "Also search this many days before and after the arrival date, in the same call (0 = that day only). Use it for \"around the 12th\" or \"some weekend in July\". When the exact date has nothing, the tool already looks 3 days around it by itself."
},
"lang": {
"type": "string",
"enum": [
"nl",
"fr",
"en"
],
"description": "Language for accommodation names; defaults to Dutch, the language they are maintained in"
}
},
"required": [
"arrival",
"nights",
"adults"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_stay_price(domain, arrival, nights, adults, children, ...)
Live all-in price and availability for a stay at one Floreal location, per accommodation type, for the given arrival date, number of nights and party. Each option carries its kind (hotel room, studio, apartment, chalet, glamping, camping pitch) and how many people it sleeps. Pass a packageId from list_arrangements to price that specific package. With flexibleDays the same call also prices the days around the arrival; when the exact date is full the answer already lists "alternatives" within three days. The answer carries a bookingUrl: the same search on our own booking site — always share it so the guest can book. When the guest has not chosen a location yet, use search_stays instead.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Location slug from list_locations, e.g. \"floreal-blankenberge\""
},
"arrival": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Arrival date (YYYY-MM-DD)"
},
"nights": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "Number of nights"
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Number of adults"
},
"children": {
"type": "integer",
"minimum": 0,
"maximum": 20,
"description": "Number of children (under 12)"
},
"babies": {
"type": "integer",
"minimum": 0,
"maximum": 10,
"description": "Number of babies (under 2)"
},
"pets": {
"type": "integer",
"minimum": 0,
"maximum": 5,
"description": "Number of pets"
},
"packageId": {
"type": "string",
"description": "Package id from list_arrangements (optional)"
},
"flexibleDays": {
"type": "integer",
"minimum": 0,
"maximum": 14,
"description": "Also search this many days before and after the arrival date, in the same call (0 = that day only). Use it for \"around the 12th\" or \"some weekend in July\". When the exact date has nothing, the tool already looks 3 days around it by itself."
},
"lang": {
"type": "string",
"enum": [
"nl",
"fr",
"en"
],
"description": "Language for accommodation names; defaults to Dutch, the language they are maintained in"
}
},
"required": [
"domain",
"arrival",
"nights",
"adults"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_accommodation_types(domain, arrival, lang)
What kinds of accommodation one Floreal Holidays location offers — hotel rooms, studios, apartments, chalets, glamping, camping pitches — each with how many people it sleeps and an indicative "from" price. Use this for questions about what a location has ("does Blankenberge have hotel rooms?", "are there apartments in Nieuwpoort?"). A location can combine several kinds. Without a date it probes the next two months and every length of stay up to a week, so it also finds types that need a fixed number of nights. The prices are samples; ask get_stay_price for the guest's own dates.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Location slug from list_locations, e.g. \"floreal-blankenberge\""
},
"arrival": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional sample arrival date; omit to probe the next two months (YYYY-MM-DD)"
},
"lang": {
"type": "string",
"enum": [
"nl",
"fr",
"en"
],
"description": "Language for accommodation names; defaults to Dutch, the language they are maintained in"
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_arrangements(domain)
The bookable packages of one location: stay arrangements and add-on extras, with name, description and validity period. A package price depends on the stay and the party, so ask for it with get_stay_price and the packageId from this list.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Location slug, e.g. \"floreal-blankenberge\""
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_menu(domain, lang)
The current restaurant and food & beverage menus of one Floreal location, as published by that location. Not every location publishes menus.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Location slug, e.g. \"floreal-blankenberge\" (see list_locations)"
},
"lang": {
"type": "string",
"enum": [
"nl",
"fr",
"en"
],
"description": "Menu language (defaults to Dutch)"
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_faq(domain)
Published questions and answers about Floreal Holidays, optionally narrowed to one location. Answers are multilingual (Dutch, French, English).
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Location slug; omit for the general questions"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢gift_card_info
Information about Floreal Holidays gift cards: amounts, languages and where to buy one. Gift cards are valid at every location.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢whoami
Needs a Floreal Workspace sign-in, which this connection does not have. Signed in it returns who you are and which locations you may look at. Call it anyway when the user asks for this: it answers with what is wrong and how to fix it, which is what they need to hear.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢flash_dashboard
Needs a Floreal Workspace sign-in, which this connection does not have. Signed in it returns occupancy, revenue and KPIs per day, month or year. Call it anyway when the user asks for this: it answers with what is wrong and how to fix it, which is what they need to hear.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢arrivals
Needs a Floreal Workspace sign-in, which this connection does not have. Signed in it returns the reservations arriving on a day. Call it anyway when the user asks for this: it answers with what is wrong and how to fix it, which is what they need to hear.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢departures
Needs a Floreal Workspace sign-in, which this connection does not have. Signed in it returns the reservations departing on a day. Call it anyway when the user asks for this: it answers with what is wrong and how to fix it, which is what they need to hear.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢bookings_search
Needs a Floreal Workspace sign-in, which this connection does not have. Signed in it returns reservations in a date window, by room or booking number. Call it anyway when the user asks for this: it answers with what is wrong and how to fix it, which is what they need to hear.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢reservation_detail
Needs a Floreal Workspace sign-in, which this connection does not have. Signed in it returns one reservation: dates, party size, room, status. Call it anyway when the user asks for this: it answers with what is wrong and how to fix it, which is what they need to hear.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢day_summary
Needs a Floreal Workspace sign-in, which this connection does not have. Signed in it returns arrivals, departures and guests in house for a day. Call it anyway when the user asks for this: it answers with what is wrong and how to fix it, which is what they need to hear.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tasks_overview
Needs a Floreal Workspace sign-in, which this connection does not have. Signed in it returns tasks per department and status. Call it anyway when the user asks for this: it answers with what is wrong and how to fix it, which is what they need to hear.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis