hotels

Agent-bookable Dubai & Abu Dhabi hotel store: live all-in prices, rate holds, payment links.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
95%
命名品質
87%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,416Token(工具定義)
~1.5 KB典型回應大小
中等的注意力影響(128k 上下文的 1.11%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "hotels": {
      "url": "https://fostay.com/api/mcp"
    }
  }
}

遠端端點

https://fostay.com/api/mcpstreamable-http

它能做什麼

工具清單

工具(6)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢search_stays(city, query, min_rating, limit)

Search hotels in Dubai or Abu Dhabi. Returns Fostay's hand-curated edit first (8 flagship stays with editorial verdicts), then catalog matches (~2,000 bookable hotels). Use get_live_rates for prices. Results include a fostay_url where a human can view photos, live rates and book.

輸入結構描述

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "enum": [
        "Dubai",
        "Abu Dhabi"
      ],
      "description": "City to search"
    },
    "query": {
      "description": "Optional hotel-name filter, e.g. 'Atlantis' or 'Rove'",
      "type": "string",
      "maxLength": 80
    },
    "min_rating": {
      "description": "Minimum guest rating on a 10 scale, e.g. 8",
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "limit": {
      "description": "Max catalog results (default 10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "required": [
    "city"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_live_rates(hotel_id, checkin, checkout, adults, children)

Live bookable room offers for one hotel and stay dates: total all-in price (AED), board (breakfast etc.), refundability and exact free-cancellation deadlines. The booking_url takes a human straight to this hotel on fostay.com to complete the booking.

輸入結構描述

{
  "type": "object",
  "properties": {
    "hotel_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 40,
      "description": "Hotel id from search_stays (e.g. lp6556acf7)"
    },
    "checkin": {
      "type": "string",
      "description": "Check-in date, YYYY-MM-DD"
    },
    "checkout": {
      "type": "string",
      "description": "Check-out date, YYYY-MM-DD"
    },
    "adults": {
      "description": "Adult guests (default 2)",
      "type": "integer",
      "minimum": 1,
      "maximum": 8
    },
    "children": {
      "description": "Children's ages at check-in, e.g. [7, 9]. IMPORTANT for families: child-inclusive rates price kids' breakfast and extras upfront — always pass ages when children travel.",
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 17
      }
    }
  },
  "required": [
    "hotel_id",
    "checkin",
    "checkout"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢demand_calendar(city)

Fostay's editorial demand calendar: the upcoming date windows where Dubai and Abu Dhabi hotels predictably spike or sell out (GITEX, F1, NYE, Eid, school breaks...), each with a suggested book-by deadline. Use it to warn users about expensive dates or find event stays.

輸入結構描述

{
  "type": "object",
  "properties": {
    "city": {
      "description": "Filter by city (default: both)",
      "type": "string",
      "enum": [
        "Dubai",
        "Abu Dhabi"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢when_to_go(hotel_id, city)

Prices upcoming weekends (Fri–Sun, 2 nights) to find the cheapest times to stay. Pass hotel_id for one hotel across ~8 weekends, or just a city to compare Fostay's curated stays across the next ~6 weekends. Cheapest options first.

輸入結構描述

{
  "type": "object",
  "properties": {
    "hotel_id": {
      "description": "Optional hotel id from search_stays",
      "type": "string",
      "minLength": 3,
      "maxLength": 40
    },
    "city": {
      "description": "Used when hotel_id is omitted",
      "type": "string",
      "enum": [
        "Dubai",
        "Abu Dhabi"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡prepare_booking(offer_id, guest_first_name, guest_last_name, guest_email, guest_phone, ...)

Books everything except the payment: holds the chosen offer (real prebook — the price is locked while the hold lasts), registers the guest details, and returns a payment_url. The human opens that link, sees the exact stay summary, and pays in one step — the agent never handles card details. Confirm the guest's name and email with the user before calling. If the held price differs from what you quoted, this returns the final price and any change warnings — tell the user before sending them to pay.

輸入結構描述

{
  "type": "object",
  "properties": {
    "offer_id": {
      "type": "string",
      "minLength": 10,
      "maxLength": 4000,
      "description": "offer_id from get_live_rates"
    },
    "guest_first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "guest_last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "guest_email": {
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Guest's email — booking confirmation goes here"
    },
    "guest_phone": {
      "type": "string",
      "maxLength": 32
    },
    "agent_name": {
      "description": "Your client name for attribution, e.g. 'claude' or 'chatgpt'",
      "type": "string",
      "maxLength": 40
    }
  },
  "required": [
    "offer_id",
    "guest_first_name",
    "guest_last_name",
    "guest_email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢booking_status(booking_id, guest_email)

Verify a completed booking: confirmation status, hotel confirmation code, stay and price. Requires the Fostay booking id AND the guest email it was booked under (both are in the guest's confirmation). Use after the human pays via a prepare_booking link.

輸入結構描述

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "string",
      "minLength": 4,
      "maxLength": 40,
      "description": "Fostay booking id, e.g. uzYG5ZTt9"
    },
    "guest_email": {
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Guest email on the booking"
    }
  },
  "required": [
    "booking_id",
    "guest_email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本6 個工具