search_properties
Search Properties
Search NuVista Haven vacation rentals.
areaquerymin_sleeps
io.github.Cswarey16Published by GitHub account Cswarey16v1.0.0Updated Oct 24, 2026
AI front desk for NuVista Haven vacation rentals: live availability, rates, booking links.
Read-only MCP server for NuVista Haven vacation rentals, letting an assistant search properties, check live availability, quote stays and get booking links.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.Cswarey16%2Fnuvista-haven/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"nuvista-haven": {
"type": "http",
"url": "https://nuvista-haven-mcp.onrender.com/mcp"
}
}
}Model Context Protocol server that lets AI assistants answer, from live data:
search_propertiescheck_availability (Hospitable calendars)get_quote (nightly rates × nights + cleaning fee)get_booking_link (nuvistahaven.com)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.HOSPITABLE_API_TOKEN environment variable. It is never
hardcoded, never logged, never written to disk.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:
Entries with "needs_human_confirm": true must be verified before use —
check_availability/get_quote refuse to run for unmapped properties.
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.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.get_booking_link returns the plain
property URL (no fabricated params).list_reservations is implemented but the
calendar is the source of truth; reservations are not currently consulted.server.py — FastMCP server, 4 tools, stdio + Streamable HTTPlogic.py — tool logic (testable without MCP)hospitable_client.py — GET-only Hospitable Public API v2 clientproperties.py — canonical 12-property registry + Hospitable mappingtest_server.py — mock-based testsSource: README.md at commit a87c136
Search Properties
Search NuVista Haven vacation rentals.
areaquerymin_sleepsCheck Availability
Check live availability for a property over a date range.
check_inrequiredpropertyrequiredcheck_outrequiredGet 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_inrequiredpropertyrequiredcheck_outrequiredGet 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.
propertyrequiredGet Booking Link
Direct booking URL on nuvistahaven.com for a property.
check_inpropertyrequiredcheck_out90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare a license in the repository or the registry entry.
cd ~/workspace/nuvista-mcppython3 -m venv venv./venv/bin/pip install -r requirements.txt# 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./venv/bin/python test_server.pyHOSPITABLE_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