NuVista Haven MCP Server

io.github.Cswarey16由 GitHub 帳號 Cswarey16 發布v1.0.0更新於 Oct 24, 2026

AI front desk for NuVista Haven vacation rentals: live availability, rates, booking links.

已驗證Streamable HTTP可網頁執行位置與生活商業與電商

概覽

AI 產生的概覽

NuVista Haven 度假民宿的唯讀 MCP 伺服器,讓助理搜尋房源、查詢即時空房、估算住宿價格並取得訂房連結。

可以做什麼
  • 依房源搜尋 NuVista Haven 度假民宿。
  • 依 Hospitable 行事曆查詢某房源在指定日期範圍內的即時空房狀況。
  • 以每晚房價乘以晚數加清潔費估算住宿價格,清潔費未知時明確標示為部分估算。
  • 查詢房源資訊,如臥室數、可住人數、衛浴數、設施與亮點,未知值回傳 null。
  • 回傳房源在 nuvistahaven.com 上的直接訂房連結。
適用情境
適合讓助理以即時資料回答關於 NuVista Haven 住宿的旅客問題:有哪些房源、指定日期是否可訂、住宿費用多少、在哪裡直接訂房,而不是憑空猜測。
執行需求
遠端 Streamable HTTP 端點;用戶端不需驗證、環境變數或標頭。託管伺服器本身需要以 HOSPITABLE_API_TOKEN 環境變數提供 Hospitable 個人存取權杖,且需先將房源 ID 對應到 Hospitable 紀錄,空房查詢與報價才能使用。
安裝前請注意
伺服器依設計為唯讀,無法修改 Hospitable 資料,但會轉送 Hospitable 的即時空房與房價以及 nuvistahaven.com 的房源資訊。清潔費未提供時報價可能只是部分估算,訂房連結不帶日期預填。文件說明空房查詢參數與房源對應尚未驗證,應對照即時資料確認。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 NuVista Haven MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.Cswarey16%2Fnuvista-haven/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "nuvista-haven": {
      "type": "http",
      "url": "https://nuvista-haven-mcp.onrender.com/mcp"
    }
  }
}

README

NuVista Haven MCP server ("AI front desk")

Model Context Protocol server that lets AI assistants answer, from live data:

  • what NuVista Haven properties exist → search_properties
  • what's free on given dates → check_availability (Hospitable calendars)
  • what's the price → get_quote (nightly rates × nights + cleaning fee)
  • where to book direct → get_booking_link (nuvistahaven.com)

Security model

  • Read-only by construction. hospitable_client.py exposes exactly one HTTP verb (GET) against an allow-list of read paths (/user, /properties, /reservations). There are no POST/PUT/PATCH/DELETE methods anywhere — even though the token may carry write scopes, this code cannot mutate anything in Hospitable.
  • Token handling. The Hospitable Personal Access Token is read ONLY from the HOSPITABLE_API_TOKEN environment variable. It is never hardcoded, never logged, never written to disk.

Setup

bash
cd ~/workspace/nuvista-mcppython3 -m venv venv./venv/bin/pip install -r requirements.txt

Run

bash
# local testing (stdio)HOSPITABLE_API_TOKEN=<token> ./venv/bin/python server.py
# public hosting (Streamable HTTP)HOSPITABLE_API_TOKEN=<token> ./venv/bin/python server.py --http --port 8000

Tests (mocked, no token needed)

bash
./venv/bin/python test_server.py

One-time: map Hospitable property IDs

properties.py holds the 12 canonical properties with best-effort Hospitable name guesses (7 strong, 5 guesses — see guess_confidence). With a live token, run the matcher and confirm each mapping by hand, then fill in hospitable_id per property:

bash
HOSPITABLE_API_TOKEN=<token> ./venv/bin/python - <<'EOF'import sys; sys.path.insert(0, '.')from hospitable_client import HospitableClientfrom logic import build_id_mappingimport jsonprint(json.dumps(build_id_mapping(HospitableClient()), indent=2))EOF

Entries with "needs_human_confirm": true must be verified before use — check_availability/get_quote refuse to run for unmapped properties.

Known API gaps / assumptions (verify against live API)

  1. Calendar query params: get_calendar sends start_date/end_date (the Hospitable convention used by /reservations). If the endpoint ignores them, availability windows may be wrong — verify on first live run.
  2. Cleaning fee: not part of the calendar day object. get_quote probes the property record for common fee shapes; if absent, the total is explicitly marked total_is_partial_estimate: true — never silently zero.
  3. Booking-link date params: date pre-fill via query string on nuvistahaven.com is unverified, so get_booking_link returns the plain property URL (no fabricated params).
  4. Reservations cross-check: list_reservations is implemented but the calendar is the source of truth; reservations are not currently consulted.

Files

  • server.py — FastMCP server, 4 tools, stdio + Streamable HTTP
  • logic.py — tool logic (testable without MCP)
  • hospitable_client.py — GET-only Hospitable Public API v2 client
  • properties.py — canonical 12-property registry + Hospitable mapping
  • test_server.py — mock-based tests

來源:README.md,提交 a87c136

工具

5

search_properties

Search Properties

Search NuVista Haven vacation rentals.

輸入參數areaquerymin_sleeps

check_availability

Check Availability

Check live availability for a property over a date range.

輸入參數check_in必填property必填check_out必填

get_quote

Get Quote

Quote a stay: nightly rate x nights + cleaning fee. Nightly rates are live from Hospitable. If the cleaning fee is not exposed by the API, the total is marked as a partial estimate.

輸入參數guestscheck_in必填property必填check_out必填

get_property_details

Get Property Details

Facts about a property: bedrooms, sleeps, bathrooms, amenities, highlights. Answers "does it have a hot tub?", "how many bedrooms?", etc. Facts come from nuvistahaven.com; unknown values are null, never guessed.

輸入參數property必填

版本歷史

1
  1. v1.0.0最新Oct 9, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。