NuVista Haven MCP server ("AI front desk")
MCP serverDev toolsLets your agent check availability, rates, and booking links for NuVista Haven vacation rentals.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Then ask your AI: use NuVista Haven MCP server ("AI front desk") to search properties
Details
Available today. Use it as a step in a pipeline you build, or from your connected AI.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.
About this server
AI front desk for NuVista Haven vacation rentals: live availability, rates, booking links.
Install NuVista Haven MCP server ("AI front desk")
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user nuvista-haven-mcp-server-ai-fron 'https://nuvista-haven-mcp.onrender.com/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://nuvista-haven-mcp.onrender.com/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=nuvista-haven-mcp-server-ai-fron&config=eyJ1cmwiOiJodHRwczovL251dmlzdGEtaGF2ZW4tbWNwLm9ucmVuZGVyLmNvbS9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://nuvista-haven-mcp.onrender.com/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add nuvista-haven-mcp-server-ai-fron --url 'https://nuvista-haven-mcp.onrender.com/mcp'Run it once, then sign in with codex mcp login nuvista-haven-mcp-server-ai-fron if the server asks for an account.
From the project's README
As published by cswarey16/nuvista-mcp in README.md.
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.pyexposes 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_TOKENenvironment variable. It is never hardcoded, never logged, never written to disk.
Setup
cd ~/workspace/nuvista-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
Run
# 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)
./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:
HOSPITABLE_API_TOKEN=<token> ./venv/bin/python - <<'EOF'
import sys; sys.path.insert(0, '.')
from hospitable_client import HospitableClient
from logic import build_id_mapping
import json
print(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)
- Calendar query params:
get_calendarsendsstart_date/end_date(the Hospitable convention used by/reservations). If the endpoint ignores them, availability windows may be wrong — verify on first live run. - Cleaning fee: not part of the calendar day object.
get_quoteprobes the property record for common fee shapes; if absent, the total is explicitly markedtotal_is_partial_estimate: true— never silently zero. - Booking-link date params: date pre-fill via query string on
nuvistahaven.com is unverified, so
get_booking_linkreturns the plain property URL (no fabricated params). - Reservations cross-check:
list_reservationsis implemented but the calendar is the source of truth; reservations are not currently consulted.
Files
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 tests
Tools it offers (5)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
search_propertiescheck_availabilityget_quoteget_property_detailsget_booking_link
Signals
- Last commit
- Oct 2026
Advanced
- Delivery
- nuvista-haven MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-cswarey16-nuvista-haven- Source
- github.com/cswarey16/nuvista-mcp
- Hosted endpoint
https://nuvista-haven-mcp.onrender.com/mcp
github.com/cswarey16/nuvista-mcp
More in Dev tools
MCP server · airtreks
More in Dev toolsworld-data-statistics
MCP server · adarsh4052
More in Dev toolsdraw.io
MCP server · jgraph
More in Dev tools0nMCP
MCP server · 0nork
More in Dev toolssportwizzard
MCP server · adamruehle
More in Dev toolskorean-law-mcp
MCP server · chrisryugj
More in Dev tools