AI agent access to NomadStays accommodation search, availability, and help center data.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An MCP (Model Context Protocol) server that gives AI agents access to Nomad Stays accommodation data β search by country, continent, location, lifestyle, budget, amenities, and availability.
Compatible with Claude, ChatGPT, and any MCP-aware AI agent.
Full, current tool list: 76 tools total. See mcp.nomadstays.com for the complete reference with parameters β this README lists them grouped by category; keep both in sync when tools are added or changed.
| Tool | Description |
|---|---|
getStaysByCountry | Search stays by 2-letter country code or country name |
getStaysByContinent | Search by continent (Europe, Asia, Africa, etc.) |
getStaysByLocation | Free-text search across city, region, location description |
getStaysByLifestyle | Filter by lifestyle category (Digital Nomad, Beach, Cityβ¦) |
getStaysByBudget | Find stays within a budget for a given duration and currency |
getStaysByAmenities | Filter by amenities (WiFi, Pool, Air Conditioningβ¦) |
getStaysByWiFiSpeed | Filter by minimum WiFi download speed (Mbps) |
getStayByID | Full details for a single stay |
getAllLifestyles | List all available lifestyle categories |
getAllAmenities | List all available amenities |
checkStayAvailability | Check if a stay is available for given dates |
findNearestAvailability | Find nearest available dates when preferred dates are taken |
getAvailabilityByMonth | All available windows in a specific month |
getRoomAvailability | Per-room availability for a date range |
getRoomAmenities | Full amenity list for a specific room including WiFi metrics |
searchHelpCenter | Search Nomad Stays help centre articles |
getHelpCenterArticle | Fetch a specific help article by ID |
listHelpCenterCategories | List all help centre categories |
If the person you're assisting doesn't have a Nomad Stays account yet, use the signupNomadStaysAccount tool to create one for them β no authentication, browser, or CAPTCHA required.
| Tool | Description |
|---|---|
signupNomadStaysAccount | Create a new Nomad Stays account for someone who doesn't have one yet. Returns pending_email_confirmation β no session or token. |
Notes:
Controllers/AgentSignupApiController.cs in the main repo).www.nomadstays.com/Account/Login, they can request an MCP bearer token or complete OAuth (see "Trusted Stay Partner management tools" below) to let their own agent act on their behalf going forward.Stay, Experience, and Coworking applications each go through the same list / get / create / save / submit lifecycle. Stay and Experience applications carry a one-time EUR 39 Application Fee (products 8 and 9); Coworking applications have no fee.
| Tool | Description |
|---|---|
getProductInfo | Look up a product's price and purchasability (product 8 = Stay Application, 9 = Experience Application) |
purchaseProduct | Start a purchase on the caller's own behalf; returns a checkoutUrl or resolves as "waived" |
getPurchaseStatus | Check whether a purchase has been paid, verified fresh against the payment provider |
listStayApplications / getStayApplication / createStayApplication / saveStayApplication / submitStayApplication | Full Stay Application lifecycle |
listExperienceApplications / getExperienceApplication / createExperienceApplication / saveExperienceApplication / submitExperienceApplication | Full Experience Application lifecycle (min. 4-day experiences, enforced server-side) |
listCoworkingApplications / getCoworkingApplication / createCoworkingApplication / saveCoworkingApplication / submitCoworkingApplication | Full Coworking Application lifecycle β no Application Fee |
| Tool | Description |
|---|---|
quoteStayBooking | Price a prospective booking (package, dates, guests) before committing |
bookStay | Create a booking on the caller's own behalf; returns a checkoutUrl or resolves as confirmed |
getBookingStatus | Check whether a booking is confirmed, verified fresh against the payment provider |
listMyBookings | List the caller's own bookings, including needsAction/checkoutUrl for anything still pending |
The tools above are read-only and public (aside from applications, which are self-service but still token-gated). A separate set of tools lets an authorized Trusted Stay Partner's own AI agent read AND write their own listing data β with the same capabilities (no more, no less) as they have via the Nomad Stays admin UI. These require a bearer token issued from the partner's Operator Information page at www.nomadstays.com/stayadmin/user-profile-stays (2FA must be enabled on the account to request one), set as NOMADSTAYS_MCP_AGENT_TOKEN. Every call is scoped server-side to Stays the authenticated account actually owns.
| Tool | Description |
|---|---|
getMyStays / getMyStayDetail / updateStayDetail | Read/update a Stay's core details (title, description, address, policies) |
getMyStayOnboardingStatus | The six "Listing Completion" scores from the Stay dashboard (Stay Details, Availability, Rooms, Packages, Wi-Fi, Operator Information) plus an overall percentage β Wi-Fi is a test-freshness score, not a speed rating |
getMyStayRooms / createStayRoom / updateStayRoom / deleteStayRoom | Full room CRUD, including bed sizes, facilities, and photos |
getRoomTypeOptions / getRoomFacilityOptions | Reference lookups for valid room types/facilities (differ for boutique vs standard Stays) |
uploadStayPhoto / getMyStayPhotos / deleteStayPhoto / reorderStayPhotos | Stay-level photo management, including reordering |
deleteRoomPhoto / reorderRoomPhotos | Room-level photo management |
getMyStayPackages / createStayPackage / updateStayPackage / deleteStayPackage | Pricing package CRUD β sellPrice is always server-computed, never directly settable |
getCurrencyOptions / getBusinessModelOptions | Reference lookups for package currency and business model |
getMyStayOrganisationalData / updateStayOrganisationalData | Address, check-in/out policy, cancellation policy, pets/children/parking rules |
getStayTypeOptions / getCountryOptions / getCancellationPolicyOptions / getAdditionalInformationOptions | Reference lookups for organisational-data fields |
getMyStayContacts / updateStayContacts | Public-facing contact details |
getMyStayFacilities / updateStayFacilities / getFacilityGroups | Facility checkboxes, grouped exactly as on the admin UI |
getMyBusinessProfile / updateHostBusinessProfile | Business profile (excludes personal, bank, and tax fields β never exposed via MCP) |
Key rules: boutique Stays (Boutique1βBoutique6 room types) and standard Stays are validated separately β always call getRoomTypeOptions first. Package price tiers are locked to 7/14/21/30 nights and don't all need to be set β a subset (e.g. 1-week-only) is valid. advertisingEndpoint only applies to Advertising-business-model Stays. Personal, bank, and tax details are permanently excluded from every tool.
HTTP endpoints:
POST /mcp β MCP Streamable HTTP transportGET /health β Health checkGET /api/mcp/stats/daily β Daily usage statsGET /api/mcp/stats/tools β Per-tool usage statsCopy claude_desktop_config.example.json, update the path and connection string, then merge into your claude_desktop_config.json:
The production Nomad Stays deployment runs its MCP servers as Docker containers on Coolify (self-hosted on Hetzner) rather than Azure App Service. This repo doesn't include a Dockerfile of its own β containerize it with a standard Node.js build (Node 20+, npm run build, run dist/index.js) and deploy to any Docker-capable host, setting NOMADSTAYS_DB_CONNECTION (and PORT/HTTP_PORT for HTTP mode) as environment variables on the target platform.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-server-147)<a href="https://allmcps.com/mcp/mcp-server-147"><img src="https://allmcps.com/api/badge/mcp-server-147?style=directory" alt="MCP Server on AllMCPs" /></a>