workspace
Floreal Holidays Belgium: live prices and availability; staff run M&E dossiers, day sheets, tasks.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"workspace": {
"url": "https://mcp.florealholidays.be/mcp"
}
}
}遠端端點
https://mcp.florealholidays.be/mcpstreamable-http它能做什麼
工具清單
工具(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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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).
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}社群
證據