Nomad Stays is an MCP server with 79 tools an agent can call, among them bookStay, checkStayAvailability, createCoworkingApplication. It answers at https://mcp.nomadstays.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 22 October 2026, succeeded.
Search remote-work accommodations worldwide; Trusted Stay Partners can manage their own listings.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
bookStay | Create a real booking from a quoteId returned by quoteStayBooking, and return a hosted checkoutUrl. The quote's price/availability is re-validated server-side one more time before the booking is created — a stale or expired quote will be re Inputs: quoteId, contactName, contactEmail, contactPhone, specialRequest |
checkStayAvailability | Check if a specific stay is available for given check-in and check-out dates. Returns availability status and room details. Inputs: stayId, checkIn, checkOut, roomType |
createCoworkingApplication | Start a new Coworking Application for the caller. Much simpler than the Stay/Experience applications: no VAT/tourism-number/business-model rules, no Application Fee, and no billing step at all — once coworkingName, applicantName, applicantE Inputs: coworkingName, applicantName, applicantEmail, telephone, address, city |
createExperienceApplication | Start a new Experience Application for the caller. Any fields can be supplied now or filled in later via saveExperienceApplication — the applicant's name defaults from their Nomad Stays profile if not supplied. Call getCountries and getBusi Inputs: applicantFirstName, applicantLastName, applicantEmail, mobile, businessName, street |
createStayApplication | Start a new Stay Application for the caller. Any fields can be supplied now or filled in later via saveStayApplication — the applicant's name defaults from their Nomad Stays profile if not supplied. Call getCountries and getBusinessModels f Inputs: applicantFirstName, applicantLastName, applicantEmail, mobile, businessName, street |
createStayPackage | Create a new pricing package on a Stay, optionally with initial price tiers. Requires an MCP agent token scoped to the owning account. Inputs: stayId, packageName, description, roomTypeFK, stayRoomFK, currencyFK |
createStayRoom | Create a new room on a Stay. Call getRoomTypeOptions(stayId) and getRoomFacilityOptions() first to find valid roomTypeFK/roomFacilityFk values. Boutique Stays are capped at 6 rooms total (one per Boutique1-6 slot) — creation is rejected onc Inputs: stayId, roomTitle, roomDescription, roomTypeFK, beds, maxPerson |
deleteRoomPhoto | Delete one photo from a room's gallery. Call getMyStayRooms first to find the exact fileName. Requires NOMADSTAYS_MCP_AGENT_TOKEN. Inputs: stayId, roomId, roomArea, fileName |
deleteStayPackage | Permanently delete a pricing package and all its price tiers from a Stay. This is a hard delete (unlike room deletion, which is soft). Requires an MCP agent token scoped to the owning account. Inputs: stayId, packageId |
deleteStayPhoto | Delete one photo from a Stay. Call getMyStayPhotos first to find the exact fileName. Requires NOMADSTAYS_MCP_AGENT_TOKEN. Inputs: stayId, area, fileName |
deleteStayRoom | Delete (soft-delete) a room from a Stay. Requires an MCP agent token scoped to the owning account. Inputs: stayId, roomId |
findNearestAvailability | Find the nearest available dates when requested dates are not available. Searches for alternative check-in dates within a specified window and can adjust length of stay. Inputs: stayId, preferredCheckIn, minLengthOfStay, maxLengthOfStay, searchWindowDays |
getAdditionalInformationOptions | List valid values for one of the Additional Information picklists used in updateStayOrganisationalData: Children Allowed, Pets Allowed, or Parking. These are NOT booleans — they're lookup IDs (e.g. 'Yes', 'No', 'On Request') — call this to Inputs: filterName |
getAllAmenities | List all possible amenities in the database, grouped into Stay Amenities (referenced by tbStaysFacilities) and Room Amenities (referenced by tbStaysRoom.RoomFacilityFk). |
getAllLifestyles | Returns all active lifestyle/genre categories available in NomadStays. Use this to discover what lifestyle categories exist before searching with getStaysByLifestyle. |
getAvailabilityByMonth | Get all available booking windows in a specific month that meet the minimum length of stay requirement. Returns all possible check-in dates and their corresponding available periods. Inputs: stayId, year, month, minLengthOfStay |
getBookingStatus | Check a Stay booking's real payment status by PNR. Status is always freshly re-verified against Airwallex directly if not already confirmed paid — never trust a client-supplied claim of success. Only ever returns bookings owned by the calle Inputs: pnr |
getBusinessModelOptions | List valid values for a Stay's listing/business model (businessModelId, read-only — displayed on the Stay but not editable via MCP or the host UI itself). Requires NOMADSTAYS_MCP_AGENT_TOKEN. |
getCancellationPolicyOptions | List valid values for a Stay's cancellation policy (cxPolicyId in updateStayOrganisationalData). Requires NOMADSTAYS_MCP_AGENT_TOKEN. |
getCountryOptions | List valid values for a Stay's country (countryId in updateStayOrganisationalData), with each country's name and 2-letter code. Requires NOMADSTAYS_MCP_AGENT_TOKEN. |
getCoworkingApplication | Get the full current state of one Coworking Application, including a nextAction hint and (if incomplete) a missingFields list naming exactly which required fields are still empty. Requires NOMADSTAYS_MCP_AGENT_TOKEN. Inputs: applicationId |
getCurrencyOptions | List valid currency ids/codes for use as a package's currencyFK. |
getExperienceApplication | Get the full current state of one Experience Application, including a nextAction hint and (if incomplete) a missingFields list naming exactly which required fields are still empty. Requires NOMADSTAYS_MCP_AGENT_TOKEN. Inputs: applicationId |
getFacilityGroups | List every facility/checkbox group name that exists on the platform (e.g. 'Languages Spoken', 'General', 'Services', 'Meal', 'Position', 'Remote Worker'). Call this first if you don't already know the exact group name to pass to getMyStayFa |
getHelpCenterArticle | Fetch a specific NomadStays Help Center article by its ID. Returns the full article content, title, slug, and categories. Inputs: id |
getMarketplaceAdverts | Returns Nomad Marketplace adverts — third-party partner deals and services (e.g. eSIMs, travel services) listed at nomadstays.com/nomad-marketplace. This is separate from Stays (accommodation listings); use the getStaysBy* tools for accommo Inputs: category, limit |
getMarketplaceCategories | Returns the list of Nomad Marketplace advertising categories (e.g. 'eSIM', 'Travel Insurance'). Use this to discover valid category values for getMarketplaceAdverts. |
getMyBusinessProfile | Get the host account's business profile: legal business name, VAT/business registration numbers, whether registered as a business entity. Does NOT include bank or tax-ID details — those are never exposed via MCP. Call this before updateHost |
getMyStayContacts | Get a Stay's contact/owner/manager details and social media links: owner name/email/mobile, manager (day-to-day contact person) name/email/mobile, booking email/phone/mobile, host display name, and website/Facebook/Twitter/YouTube/Instagram Inputs: stayId |
getMyStayDetail | Get the current title, description, and listed status for one of your Stays. Call this before updateStayDetail so the agent knows the current values and doesn't accidentally overwrite them. Requires NOMADSTAYS_MCP_AGENT_TOKEN. Inputs: stayId |
getMyStayFacilities | Get the available options AND current selections for one facility/checkbox group on a Stay — e.g. 'Languages Spoken' returns every language the platform supports plus which ones are currently selected for this Stay. Call getFacilityGroups f Inputs: stayId, group |
getMyStayOnboardingStatus | Get the Stay's listing-completion scores — the same six 'Listing Completion' cards shown on the Stay dashboard (Stay Details, Availability, Rooms, Packages, Wi-Fi, Operator Information), plus an overall completion percentage. Use this when Inputs: stayId |
getMyStayOrganisationalData | Get a Stay's organisational data: address, check-in/out policy, pets/children/parking, cancellation policy, tourism/land-registration numbers. Call this before updateStayOrganisationalData so the agent knows current values. Requires NOMADST Inputs: stayId |
getMyStayPackages | List all pricing packages on one of your Stays, including their full price tiers (days, buy price, sell price, comparison price, listed status). Call this before createStayPackage or updateStayPackage — hosts often forget exactly what packa Inputs: stayId |
getMyStayPhotos | Get every current photo for a Stay across all areas (listing gallery, main/hero, workspace/coworking gallery, host), each as a full https:// CDN URL an agent can view directly (not just a filename). Call this before deleteStayPhoto or reord Inputs: stayId |
getMyStayRooms | List all rooms currently configured on one of your Stays, including bed setup, occupancy, facilities (resolved to names, not just IDs), and every room/workspace photo as a viewable CDN URL. Call this before createStayRoom, updateStayRoom, d Inputs: stayId |
getMyStays | List all Stays owned by the account bound to the MCP agent token. Returns stayId, title, and listed status for each — use this to find a stayId before calling any other owner-scoped tool. Requires NOMADSTAYS_MCP_AGENT_TOKEN. |
getProductInfo | Look up a Nomad Stays product's price and purchasability — currently only product 8, the Stay Application fee (EUR 39). Returns isWaivedForCaller: true if the caller is already a Stay Partner re-applying, in which case there's nothing to pa Inputs: productId |
getPurchaseStatus | Check whether a purchase has been paid. Only ever reports 'paid' after a fresh server-side check against the payment provider — never trust the member's own claim that they've paid, always poll this instead. Possible statuses: pending, paid Inputs: saleId |
getRoomAmenities | Get comprehensive list of all facilities and amenities for a specific room, including WiFi metrics (download/upload speed, jitter). Returns room details, all facilities, and network performance data. Inputs: roomId |
getRoomAvailability, getRoomFacilityOptions, getRoomTypeOptions, getStayApplication, getStayByID, getStayTypeOptions, getStaysByAmenities, getStaysByBudget, getStaysByContinent, getStaysByCountry, getStaysByLifestyle, getStaysByLocation, getStaysByWiFiSpeed, hasAvailabilityInWindow, listCoworkingApplications, listExperienceApplications, listHelpCenterCategories, listMyBookings, listStayApplications, purchaseProduct, quoteStayBooking, reorderRoomPhotos, reorderStayPhotos, saveCoworkingApplication, saveExperienceApplication, saveStayApplication, searchHelpCenter, signupNomadStaysAccount, submitCoworkingApplication, submitExperienceApplication, submitStayApplication, updateHostBusinessProfile, updateStayContacts, updateStayDetail, updateStayFacilities, updateStayOrganisationalData, updateStayPackage, updateStayRoom, uploadStayPhoto
Every block below points at https://mcp.nomadstays.com/mcp. Pick your client and copy.
claude mcp add --transport http nomad-stays https://mcp.nomadstays.com/mcp
{
"mcpServers": {
"nomad-stays": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.nomadstays.com/mcp"]
}
}
}{
"mcpServers": {
"nomad-stays": {
"url": "https://mcp.nomadstays.com/mcp"
}
}
}{
"servers": {
"nomad-stays": {
"type": "http",
"url": "https://mcp.nomadstays.com/mcp"
}
}
}{
"context_servers": {
"nomad-stays": {
"url": "https://mcp.nomadstays.com/mcp"
}
}
}{
"mcpServers": {
"nomad-stays": {
"serverUrl": "https://mcp.nomadstays.com/mcp"
}
}
}{
"mcpServers": {
"nomad-stays": {
"url": "https://mcp.nomadstays.com/mcp"
}
}
}name: Nomad Stays
version: 0.0.1
schema: v1
mcpServers:
- name: Nomad Stays
type: streamable-http
url: https://mcp.nomadstays.com/mcp{
"mcpServers": {
"nomad-stays": {
"httpUrl": "https://mcp.nomadstays.com/mcp"
}
}
}{
"mcpServers": {
"nomad-stays": {
"type": "http",
"url": "https://mcp.nomadstays.com/mcp"
}
}
}{
"mcpServers": {
"nomad-stays": {
"url": "https://mcp.nomadstays.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.nomadstays.com%2Fmcp&type=streamable_http&id=nomad-stays&name=Nomad%20Stays
It answered our last check on 22 October 2026 in 63 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
79, as returned by the server's own tools/list on 17 September 2026: bookStay, checkStayAvailability, createCoworkingApplication, createExperienceApplication, createStayApplication, createStayPackage, createStayRoom, deleteRoomPhoto, and 71 more.
It answered our last check on 22 October 2026 in 63 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.nomadstays.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.nomadstays. Endpoint host: mcp.nomadstays.com. ARD identifier: urn:air:io.github.nomadstays:mcp:mcp-server.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.