Nomad Stays
Ce que fait ce MCP
Searches and books remote-work accommodations while supporting host listing management, rooms, packages, availability, and hospitality applications.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['quoteId'], 'properties': {'quoteId': {'type': 'string', 'description': 'The quoteId returned by quoteStayBooking'}, 'contactName': {'type': 'string', 'description': "Guest's full name for the booking. Defaults to the member's account name if omitted."}, 'contactEmail': {'type': 'string', 'description': "Contact email for the booking. Defaults to the member's account email if omitted."}, 'contactPhone': {'type': 'string', 'description': 'Contact phone number for the booking.'}, 'specialRequest': {'type': 'string', 'description': 'Any special request to pass along to the Stay.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'checkIn', 'checkOut'], 'properties': {'stayId': {'type': 'string', 'description': 'The unique identifier of the stay'}, 'checkIn': {'type': 'string', 'description': 'Check-in date in ISO format (YYYY-MM-DD)'}, 'checkOut': {'type': 'string', 'description': 'Check-out date in ISO format (YYYY-MM-DD)'}, 'roomType': {'type': 'string', 'description': 'Optional specific room type to check availability for'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'city': {'type': 'string'}, 'address': {'type': 'string'}, 'country': {'type': 'string', 'description': 'Exact tbCountry.CountryName (not a country ID) â\x80\x94 use getCountries and take the countryName field. Must not be a sanctioned country.'}, 'website': {'type': 'string'}, 'telephone': {'type': 'string'}, 'applicantName': {'type': 'string'}, 'coworkingName': {'type': 'string'}, 'applicantEmail': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'state': {'type': 'string'}, 'maxPax': {'type': 'string', 'description': 'Maximum participants'}, 'mobile': {'type': 'string'}, 'street': {'type': 'string'}, 'daysQty': {'type': 'string', 'description': 'Minimum 4 days, enforced server-side'}, 'website': {'type': 'string'}, 'comments': {'type': 'string'}, 'vatNumber': {'type': 'string', 'description': "Required if the postal country's vatNumberRequired flag is true (see getCountries)"}, 'hasKitchen': {'type': 'boolean'}, 'description': {'type': 'string'}, 'businessName': {'type': 'string'}, 'hasInsurance': {'type': 'boolean'}, 'monthlyPrice': {'type': 'string', 'description': 'Price per person (USD)'}, 'downloadSpeed': {'type': 'string'}, 'tourismNumber': {'type': 'string', 'description': "Required if the experience country's tourismNumberRequired flag is true (see getCountries)"}, 'applicantEmail': {'type': 'string'}, 'experienceName': {'type': 'string'}, 'workFacilities': {'enum': ['None', 'Both', 'In Room', 'CoWorking Space'], 'type': 'string'}, 'businessModelId': {'type': 'number', 'description': "tbBusinessModel.EntryID â\x80\x94 use getBusinessModels. If the experience country's bookingModelsRestricted flag is true, only a 'StayDirect'-prefixed model is accepted."}, 'postalCountryId': {'type': 'number', 'description': "tbCountry.CountryId for the applicant's billing/postal address â\x80\x94 used only to check whether a VAT number is required, and stored on the member's business profile (not on the application itself). Use getCountries to find a value."}, 'applicantLastName': {'type': 'string', 'description': "Overrides the profile default for this application only â\x80\x94 does not change the member's profile"}, 'laundryFacilities': {'enum': ['No', 'On Premises', 'Nearby'], 'type': 'string'}, 'applicantFirstName': {'type': 'string', 'description': "Overrides the profile default for this application only â\x80\x94 does not change the member's profile"}, 'experienceCountryId': {'type': 'number', 'description': 'tbCountry.CountryId for where the experience actually takes place â\x80\x94 this is the country the application itself is filed under. Use getCountries to find a value.'}, 'availabilitySupplier': {'type': 'string'}, 'overnightLocationsQty': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'state': {'type': 'string'}, 'mobile': {'type': 'string'}, 'street': {'type': 'string'}, 'website': {'type': 'string'}, 'comments': {'type': 'string'}, 'stayName': {'type': 'string'}, 'vatNumber': {'type': 'string', 'description': "Required if the postal country's vatNumberRequired flag is true (see getCountries)"}, 'hasKitchen': {'type': 'boolean'}, 'businessName': {'type': 'string'}, 'monthlyPrice': {'type': 'string'}, 'downloadSpeed': {'type': 'string'}, 'numberOfRooms': {'type': 'string'}, 'stayCountryId': {'type': 'number', 'description': 'tbCountry.CountryId for where the Stay is actually located â\x80\x94 this is the country the application itself is filed under. Use getCountries to find a value.'}, 'tourismNumber': {'type': 'string', 'description': "Required if the stay country's tourismNumberRequired flag is true (see getCountries)"}, 'applicantEmail': {'type': 'string'}, 'workFacilities': {'enum': ['None', 'Both', 'In Room', 'CoWorking Space'], 'type': 'string'}, 'businessModelId': {'type': 'number', 'description': "tbBusinessModel.EntryID â\x80\x94 use getBusinessModels. If the stay country's bookingModelsRestricted flag is true, only a 'StayDirect'-prefixed model is accepted."}, 'postalCountryId': {'type': 'number', 'description': "tbCountry.CountryId for the applicant's billing/postal address â\x80\x94 used only to check whether a VAT number is required, and stored on the member's business profile (not on the application itself). Use getCountries to find a value."}, 'applicantLastName': {'type': 'string', 'description': "Overrides the profile default for this application only â\x80\x94 does not change the member's profile"}, 'laundryFacilities': {'enum': ['No', 'On Premises', 'Nearby'], 'type': 'string'}, 'applicantFirstName': {'type': 'string', 'description': "Overrides the profile default for this application only â\x80\x94 does not change the member's profile"}, 'availabilitySupplier': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'packageName'], 'properties': {'listed': {'type': 'boolean', 'description': 'OPTIONAL: whether the package is publicly listed'}, 'maxPax': {'type': 'number', 'description': 'OPTIONAL: max occupancy for this package'}, 'prices': {'type': 'array', 'items': {'type': 'object', 'required': ['days', 'buyPrice', 'listed'], 'properties': {'days': {'enum': [7, 14, 21, 30], 'type': 'number', 'description': 'Length-of-stay tier in nights â\x80\x94 must be one of 7, 14, 21, 30, the only tiers the host UI supports'}, 'listed': {'type': 'boolean', 'description': 'Whether this price tier is publicly listed'}, 'buyPrice': {'type': 'number', 'description': 'Internal cost basis. SellPrice is NOT settable â\x80\x94 it is always server-computed from buyPrice (buyPrice / 0.88, or = buyPrice for Advertising-model Stays), matching the host UI exactly'}}}, 'description': 'OPTIONAL: initial price tiers. If supplied, replaces all price rows for the package. Exactly one entry per 7/14/21/30-night tier used.'}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'endDate': {'type': 'string', 'format': 'date', 'description': 'OPTIONAL: last check-in date this package is available for'}, 'startDate': {'type': 'string', 'format': 'date', 'description': 'OPTIONAL: first check-in date this package is available for'}, 'currencyFK': {'type': 'number', 'description': 'OPTIONAL: currency id. Call getCurrencyOptions for valid values.'}, 'roomTypeFK': {'type': 'number', 'description': 'OPTIONAL: room type id this package covers. Call getRoomTypeOptions for valid values.'}, 'stayRoomFK': {'type': 'number', 'description': 'STRONGLY RECOMMENDED: the specific room this package covers (tbStaysRoom.EntryID). Call getMyStayRooms to find the right room id first. If omitted, the server guesses a room matching roomTypeFK, which may pick the wrong one when a Stay has multiple rooms of the same type.'}, 'description': {'type': 'string', 'description': 'OPTIONAL: package description'}, 'packageName': {'type': 'string', 'description': 'Package name'}, 'advertisingEndpoint': {'type': 'string', 'description': "OPTIONAL: only usable on Advertising-business-model Stays â\x80\x94 ignored otherwise, matching the host UI which hides this field for all other business models. Check getBusinessModelOptions / the Stay's businessModelFK before setting."}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'roomTitle'], 'properties': {'beds': {'type': 'number', 'description': 'OPTIONAL: number of beds'}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'maxPerson': {'type': 'number', 'description': 'OPTIONAL: max occupancy'}, 'mcpRoomId': {'type': 'string', 'description': 'OPTIONAL: external MCP room identifier to bind. NOT AVAILABLE for boutique Stays â\x80\x94 the host UI has no field for this there, and the API will reject it.'}, 'roomTitle': {'type': 'string', 'description': 'Room name/title'}, 'roomTypeFK': {'type': 'number', 'description': 'REQUIRED for non-boutique Stays â\x80\x94 a roomTypeId from getRoomTypeOptions(stayId). IGNORED for boutique Stays â\x80\x94 the next available Boutique1-6 slot is auto-assigned server-side, matching the host UI (which has no room-type picker for boutique room creation).'}, 'mainBedSize': {'enum': ['Single', 'Double', 'Twin', 'Queen', 'King', 'Other'], 'type': 'string', 'description': 'OPTIONAL: main bed size'}, 'otherBedSize': {'enum': ['Single', 'Double', 'Twin', 'Queen', 'King', 'Other', ''], 'type': 'string', 'description': 'OPTIONAL: other bed size, or empty for none'}, 'roomFacilityFk': {'type': 'array', 'items': {'type': 'number'}, 'description': 'OPTIONAL: facilityDetailId values from getRoomFacilityOptions() â\x80\x94 the full set of amenities this room has. Wi-Fi is added automatically even if omitted.'}, 'roomDescription': {'type': 'string', 'description': 'OPTIONAL: room description'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'roomId', 'roomArea', 'fileName'], 'properties': {'roomId': {'type': 'number', 'description': "The room's EntryID"}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'fileName': {'type': 'string', 'description': 'The exact file name from getMyStayRooms'}, 'roomArea': {'enum': ['photos', 'workspace'], 'type': 'string', 'description': "'photos' for the regular room gallery, 'workspace' for the room's coworking gallery"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'packageId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'packageId': {'type': 'number', 'description': "The package's EntryID (tbStayPackages) to delete"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'area', 'fileName'], 'properties': {'area': {'enum': ['listing', 'main', 'workspace', 'host'], 'type': 'string', 'description': "Which photo area the file belongs to (room photos aren't supported by this tool â\x80\x94 manage those via updateStayRoom)"}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'fileName': {'type': 'string', 'description': "The exact file name from getMyStayPhotos, e.g. '69bdf22cdb0c43a7be3e825a0a3a2074.jpg'"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'roomId'], 'properties': {'roomId': {'type': 'number', 'description': "The room's EntryID â\x80\x94 use getMyStayRooms to find it"}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'preferredCheckIn', 'minLengthOfStay'], 'properties': {'stayId': {'type': 'string', 'description': 'The unique identifier of the stay'}, 'maxLengthOfStay': {'type': 'number', 'description': 'Maximum length of stay in days (optional)'}, 'minLengthOfStay': {'type': 'number', 'description': 'Minimum length of stay in days'}, 'preferredCheckIn': {'type': 'string', 'description': 'Preferred check-in date in ISO format (YYYY-MM-DD)'}, 'searchWindowDays': {'type': 'number', 'description': 'Number of days before and after preferred date to search (default: 90)'}}}
Schéma d’entrée
{'type': 'object', 'required': ['filterName'], 'properties': {'filterName': {'enum': ['Children Allowed', 'Pets Allowed', 'Parking'], 'type': 'string', 'description': 'Which picklist to fetch options for'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'year', 'month', 'minLengthOfStay'], 'properties': {'year': {'type': 'number', 'description': 'Year (e.g., 2026)'}, 'month': {'type': 'number', 'description': 'Month number (1-12, where 1=January, 12=December)'}, 'stayId': {'type': 'string', 'description': 'The unique identifier of the stay'}, 'minLengthOfStay': {'type': 'number', 'description': 'Minimum length of stay in days required'}}}
Schéma d’entrée
{'type': 'object', 'required': ['pnr'], 'properties': {'pnr': {'type': 'string', 'description': 'The booking reference (PNR) returned by bookStay'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID (use listCoworkingApplications to find it)"}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID (use listExperienceApplications to find it)"}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The WordPress post ID of the Help Center article (e.g., '123')"}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'number', 'description': 'Maximum number of results to return (default: 20)'}, 'category': {'type': 'string', 'description': "Optional category name or partial match to filter adverts (e.g. 'eSIM', 'Travel Insurance'). Use getMarketplaceCategories to see available categories."}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'group'], 'properties': {'group': {'type': 'string', 'description': "Exact facility group name, e.g. 'Languages Spoken', 'General', 'Services', 'Meal', 'Position', 'Remote Worker' (call getFacilityGroups for the full list)"}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['productId'], 'properties': {'productId': {'type': 'number', 'description': "The product's EntryID â\x80\x94 use 8 for the Stay Application fee"}}}
Schéma d’entrée
{'type': 'object', 'required': ['saleId'], 'properties': {'saleId': {'type': 'string', 'description': 'The saleId returned by purchaseProduct'}}}
Schéma d’entrée
{'type': 'object', 'required': ['roomId'], 'properties': {'roomId': {'type': 'string', 'description': 'The unique identifier of the room (tbStaysRoom.EntryID)'}}}
Schéma d’entrée
{'type': 'object', 'required': ['roomId', 'checkIn', 'checkOut'], 'properties': {'roomId': {'type': 'string', 'description': 'The unique identifier of the room (tbStaysRoom.EntryID)'}, 'checkIn': {'type': 'string', 'description': 'Check-in date in ISO format (YYYY-MM-DD)'}, 'checkOut': {'type': 'string', 'description': 'Check-out date in ISO format (YYYY-MM-DD)'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID"}}}
Schéma d’entrée
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID (use listStayApplications to find it)"}}}
Schéma d’entrée
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Stay identifier (searches the EntryId field)'}}}
Schéma d’entrée
{'type': 'object', 'required': ['amenities'], 'properties': {'limit': {'type': 'number', 'description': 'Maximum number of results to return (default: 25)'}, 'amenities': {'type': 'array', 'items': {'type': 'string'}, 'description': "Array of amenity names to search for (e.g., ['WiFi', 'Air Conditioning', 'Pool']). Use getAllAmenities to see all available amenities."}, 'matchType': {'enum': ['any', 'all'], 'type': 'string', 'description': "OPTIONAL: 'any' (default) finds stays with at least one amenity, 'all' finds stays with all amenities"}, 'minWifiSpeed': {'type': 'number', 'description': 'OPTIONAL: Minimum WiFi download speed in Mbps (default: 0). Only returns stays with WiFi speed at or above this threshold.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['durationDays', 'maxPrice', 'currency'], 'properties': {'limit': {'type': 'number', 'description': 'Maximum number of results to return (default: 15)'}, 'currency': {'type': 'string', 'description': "Currency code (e.g., 'EUR', 'USD', 'GBP')"}, 'maxPrice': {'type': 'number', 'description': 'Maximum price for the entire duration (e.g., 1000 for EUR 1000)'}, 'continent': {'type': 'string', 'description': "OPTIONAL: Continent name (e.g., 'Europe', 'Asia', 'Africa'). Filters results to stays in countries on this continent. If omitted, searches all continents globally."}, 'checkInDate': {'type': 'string', 'description': "OPTIONAL: Check-in date. Can be a full date (e.g., '2026-05-15'), a month name (e.g., 'May' ? uses May 1st), or omit for today (2026-01-19)"}, 'countryCode': {'type': 'string', 'description': "OPTIONAL: 2-letter country code (e.g., 'ES', 'PT') or country name (e.g., 'Spain'). If omitted, searches all countries globally."}, 'durationDays': {'type': 'number', 'description': 'Duration of stay in days (e.g., 30 for 1 month, 90 for 3 months)'}}}
Schéma d’entrée
{'type': 'object', 'required': ['continent'], 'properties': {'limit': {'type': 'number', 'description': 'Maximum number of results to return (default: 15)'}, 'continent': {'type': 'string', 'description': "Continent name or partial match (e.g., 'Europe', 'Asia', 'Africa')"}}}
Schéma d’entrée
{'type': 'object', 'required': ['countrycode'], 'properties': {'limit': {'type': 'number', 'description': 'Maximum number of results to return (default: 15)'}, 'countrycode': {'type': 'string', 'description': "2-letter country code (e.g., 'MA', 'US') or partial country name (e.g., 'Antigua')"}}}
Schéma d’entrée
{'type': 'object', 'required': ['lifestyle'], 'properties': {'limit': {'type': 'number', 'description': 'Maximum number of results to return (default: 15)'}, 'lifestyle': {'type': 'string', 'description': "Lifestyle/genre category name or partial match (e.g., 'Digital Nomad', 'Beach', 'City'). Use getAllLifestyles tool to see all available categories."}}}
Schéma d’entrée
{'type': 'object', 'required': ['location'], 'properties': {'limit': {'type': 'number', 'description': 'Maximum number of results to return (default: 15)'}, 'location': {'type': 'string', 'description': "Location search term to match against City, State, location_name, location_country, or location_description (e.g., 'Paris', 'California', 'Beach', 'Mountain')"}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'number', 'description': 'Maximum number of results to return (default: 15)'}, 'minWiFiDownloadSpeed': {'type': 'number', 'description': 'Minimum WiFi download speed in Mbps (default: 10)'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'fromDate', 'minLengthOfStay'], 'properties': {'stayId': {'type': 'string', 'description': 'The unique identifier of the stay'}, 'fromDate': {'type': 'string', 'description': "Start of the search window, ISO format (YYYY-MM-DD). Usually today's date."}, 'windowDays': {'type': 'number', 'description': 'How many days forward from fromDate to search (default: 180, i.e. 6 months)'}, 'minLengthOfStay': {'type': 'number', 'description': 'Minimum length of stay in days required (e.g. 30 for a month-long stay)'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['productId'], 'properties': {'productId': {'type': 'number', 'description': "The product's EntryID â\x80\x94 use 8 for the Stay Application fee"}, 'applicationId': {'type': 'number', 'description': "Optional: if this purchase is paying a Stay Application's fee, pass its applicationId (from createStayApplication) so the payment is applied back to that application automatically once paid"}}}
Schéma d’entrée
{'type': 'object', 'required': ['packageId', 'checkIn', 'checkOut'], 'properties': {'pets': {'type': 'number', 'description': 'Number of pets. Defaults to 0.'}, 'rooms': {'type': 'number', 'description': 'Number of rooms to book. Defaults to 1.'}, 'adults': {'type': 'number', 'description': 'Number of adult guests. Defaults to 1.'}, 'checkIn': {'type': 'string', 'description': 'Check-in date, YYYY-MM-DD'}, 'checkOut': {'type': 'string', 'description': 'Check-out date, YYYY-MM-DD'}, 'children': {'type': 'number', 'description': 'Number of child guests. Defaults to 0.'}, 'packageId': {'type': 'number', 'description': "The Stay package's ID (from getPackages or search/browse tools)"}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'roomId', 'roomArea', 'fileNames'], 'properties': {'roomId': {'type': 'number', 'description': "The room's EntryID"}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'roomArea': {'enum': ['photos', 'workspace'], 'type': 'string', 'description': "'photos' for the regular room gallery, 'workspace' for the room's coworking gallery"}, 'fileNames': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The complete gallery file names in the new desired order â\x80\x94 must match the current set exactly (call getMyStayRooms first)'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'area', 'fileNames'], 'properties': {'area': {'enum': ['listing', 'workspace'], 'type': 'string', 'description': 'Only these two areas support reordering'}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'fileNames': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The complete gallery file names in the new desired order â\x80\x94 must match the current set exactly (call getMyStayPhotos first)'}}}
Schéma d’entrée
{'type': 'object', 'required': ['applicationId'], 'properties': {'city': {'type': 'string'}, 'address': {'type': 'string'}, 'country': {'type': 'string', 'description': 'Exact tbCountry.CountryName (not a country ID) â\x80\x94 use getCountries.'}, 'website': {'type': 'string'}, 'telephone': {'type': 'string'}, 'applicantName': {'type': 'string'}, 'applicationId': {'type': 'number', 'description': "The application's ID"}, 'coworkingName': {'type': 'string'}, 'applicantEmail': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': ['applicationId'], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'state': {'type': 'string'}, 'maxPax': {'type': 'string'}, 'mobile': {'type': 'string'}, 'street': {'type': 'string'}, 'daysQty': {'type': 'string', 'description': 'Minimum 4 days, enforced server-side'}, 'website': {'type': 'string'}, 'comments': {'type': 'string'}, 'vatNumber': {'type': 'string'}, 'hasKitchen': {'type': 'boolean'}, 'description': {'type': 'string'}, 'businessName': {'type': 'string'}, 'hasInsurance': {'type': 'boolean'}, 'monthlyPrice': {'type': 'string'}, 'applicationId': {'type': 'number', 'description': "The application's ID"}, 'downloadSpeed': {'type': 'string'}, 'tourismNumber': {'type': 'string'}, 'applicantEmail': {'type': 'string'}, 'experienceName': {'type': 'string'}, 'workFacilities': {'enum': ['None', 'Both', 'In Room', 'CoWorking Space'], 'type': 'string'}, 'businessModelId': {'type': 'number', 'description': 'tbBusinessModel.EntryID â\x80\x94 use getBusinessModels.'}, 'postalCountryId': {'type': 'number', 'description': 'tbCountry.CountryId â\x80\x94 used only for the VAT check, stored on the business profile, not on the application. Use getCountries.'}, 'applicantLastName': {'type': 'string'}, 'laundryFacilities': {'enum': ['No', 'On Premises', 'Nearby'], 'type': 'string'}, 'applicantFirstName': {'type': 'string'}, 'experienceCountryId': {'type': 'number', 'description': 'tbCountry.CountryId â\x80\x94 the country the application itself is filed under. Use getCountries.'}, 'availabilitySupplier': {'type': 'string'}, 'overnightLocationsQty': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': ['applicationId'], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'state': {'type': 'string'}, 'mobile': {'type': 'string'}, 'street': {'type': 'string'}, 'website': {'type': 'string'}, 'comments': {'type': 'string'}, 'stayName': {'type': 'string'}, 'vatNumber': {'type': 'string'}, 'hasKitchen': {'type': 'boolean'}, 'businessName': {'type': 'string'}, 'monthlyPrice': {'type': 'string'}, 'applicationId': {'type': 'number', 'description': "The application's ID"}, 'downloadSpeed': {'type': 'string'}, 'numberOfRooms': {'type': 'string'}, 'stayCountryId': {'type': 'number', 'description': 'tbCountry.CountryId â\x80\x94 the country the application itself is filed under. Use getCountries.'}, 'tourismNumber': {'type': 'string'}, 'applicantEmail': {'type': 'string'}, 'workFacilities': {'enum': ['None', 'Both', 'In Room', 'CoWorking Space'], 'type': 'string'}, 'businessModelId': {'type': 'number', 'description': 'tbBusinessModel.EntryID â\x80\x94 use getBusinessModels.'}, 'postalCountryId': {'type': 'number', 'description': 'tbCountry.CountryId â\x80\x94 used only for the VAT check, stored on the business profile, not on the application. Use getCountries.'}, 'applicantLastName': {'type': 'string'}, 'laundryFacilities': {'enum': ['No', 'On Premises', 'Nearby'], 'type': 'string'}, 'applicantFirstName': {'type': 'string'}, 'availabilitySupplier': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'number', 'description': 'Maximum number of results to return (default: 15)'}, 'query': {'type': 'string', 'description': 'Search term to match against Help Center knowledgebase articles'}}}
Schéma d’entrée
{'type': 'object', 'required': ['firstName', 'lastName', 'email', 'telephone', 'password', 'acceptGdpr'], 'properties': {'email': {'type': 'string', 'description': "A real email address the person controls â\x80\x94 the confirmation link is sent here and the account stays inactive until it's clicked"}, 'lastName': {'type': 'string', 'description': "The person's last name"}, 'password': {'type': 'string', 'description': 'Account password, minimum 6 characters'}, 'firstName': {'type': 'string', 'description': "The person's first name"}, 'telephone': {'type': 'string', 'description': 'Contact telephone number'}, 'acceptGdpr': {'type': 'boolean', 'description': "Must be true â\x80\x94 the person has agreed to NomadStays' GDPR terms"}}}
Schéma d’entrée
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID"}}}
Schéma d’entrée
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID"}}}
Schéma d’entrée
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID"}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'vatNumber': {'type': 'string'}, 'businessName': {'type': 'string'}, 'entityAccount': {'type': 'boolean', 'description': 'Whether the host operates as a registered business entity'}, 'businessNumber': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'tikTok': {'type': 'string'}, 'twitter': {'type': 'string', 'description': 'X (Twitter) profile link'}, 'website': {'type': 'string'}, 'youtube': {'type': 'string'}, 'linkedIn': {'type': 'string'}, 'instagram': {'type': 'string'}, 'ownerName': {'type': 'string'}, 'ownerEmail': {'type': 'string'}, 'managerName': {'type': 'string', 'description': "The day-to-day contact person's name (not necessarily the owner)"}, 'ownerMobile': {'type': 'string'}, 'bookingEmail': {'type': 'string', 'description': 'Email guests use to reach the Stay about bookings'}, 'bookingPhone': {'type': 'string'}, 'facebookPage': {'type': 'string'}, 'hostFullName': {'type': 'string', 'description': 'Display name shown to guests as the host'}, 'managerEmail': {'type': 'string'}, 'bookingMobile': {'type': 'string'}, 'managerMobile': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'title': {'type': 'string', 'description': 'OPTIONAL: new title'}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'description': {'type': 'string', 'description': 'OPTIONAL: new description'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'group', 'facilityDetailIds'], 'properties': {'group': {'type': 'string', 'description': 'Exact facility group name, matching what getMyStayFacilities was called with'}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'facilityDetailIds': {'type': 'array', 'items': {'type': 'number'}, 'description': 'The FULL list of facilityDetailId values that should be selected after this call â\x80\x94 call getMyStayFacilities first to see valid IDs. An empty array clears all selections in this group.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId'], 'properties': {'city': {'type': 'string'}, 'state': {'type': 'string'}, 'geoLat': {'type': 'number', 'description': 'Map pin latitude'}, 'geoLng': {'type': 'number', 'description': 'Map pin longitude'}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'address': {'type': 'string'}, 'reason1': {'type': 'string', 'description': "First 'Why Choose Us' reason shown to guests"}, 'reason2': {'type': 'string'}, 'reason3': {'type': 'string'}, 'postCode': {'type': 'string'}, 'checkInTo': {'type': 'string'}, 'countryId': {'type': 'string', 'description': 'A country ID from getCountryOptions â\x80\x94 NOT a country name.'}, 'parkingId': {'type': 'string', 'description': "An optionId from getAdditionalInformationOptions(filterName='Parking') â\x80\x94 NOT a boolean."}, 'checkOutTo': {'type': 'string'}, 'cxPolicyId': {'type': 'string', 'description': 'A cxPolicyId from getCancellationPolicyOptions.'}, 'stayTypeId': {'type': 'number', 'description': 'A stayTypeId from getStayTypeOptions.'}, 'totalRooms': {'type': 'number'}, 'checkInFrom': {'type': 'string'}, 'fullPayment': {'type': 'boolean', 'description': "Whether guests must pay in full up front (vs. pay on arrival). Only settable if the Stay's country allows it â\x80\x94 check fullPaymentAllowedByCountry from getMyStayOrganisationalData first; writing true when the country doesn't allow it will be rejected."}, 'checkOutFrom': {'type': 'string'}, 'earlyCheckIn': {'type': 'boolean'}, 'lateCheckout': {'type': 'boolean'}, 'petsAllowedId': {'type': 'string', 'description': "An optionId from getAdditionalInformationOptions(filterName='Pets Allowed') â\x80\x94 NOT a boolean."}, 'tourismNumber': {'type': 'string'}, 'receiveReviews': {'type': 'boolean'}, 'childrenAllowedId': {'type': 'string', 'description': "An optionId from getAdditionalInformationOptions(filterName='Children Allowed') â\x80\x94 NOT a boolean."}, 'customCxPolicyLink': {'type': 'string'}, 'registeredBusiness': {'type': 'boolean', 'description': 'Whether the Stay is officially registered for tourism/lodging'}, 'landRegistrationNumber': {'type': 'string'}, 'checkinLocationWhat3Words': {'type': 'string', 'description': 'what3words location for guest check-in'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'packageId'], 'properties': {'listed': {'type': 'boolean'}, 'maxPax': {'type': 'number'}, 'prices': {'type': 'array', 'items': {'type': 'object', 'required': ['days', 'buyPrice', 'listed'], 'properties': {'days': {'enum': [7, 14, 21, 30], 'type': 'number', 'description': 'Length-of-stay tier in nights â\x80\x94 must be one of 7, 14, 21, 30'}, 'listed': {'type': 'boolean'}, 'buyPrice': {'type': 'number', 'description': 'Internal cost basis. SellPrice is NOT settable â\x80\x94 always server-computed from buyPrice'}}}, 'description': 'OPTIONAL: replaces ALL price rows for this package when supplied. Exactly one entry per 7/14/21/30-night tier used.'}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'endDate': {'type': 'string', 'format': 'date', 'description': 'OPTIONAL: last check-in date this package is available for'}, 'isActive': {'type': 'boolean', 'description': "OPTIONAL: archive (false) or restore (true) this package â\x80\x94 cascades to 'listed' on all its price tiers, matching the host UI's Archive/Restore actions"}, 'packageId': {'type': 'number', 'description': "The package's EntryID (tbStayPackages)"}, 'startDate': {'type': 'string', 'format': 'date', 'description': 'OPTIONAL: first check-in date this package is available for'}, 'currencyFK': {'type': 'number', 'description': 'Call getCurrencyOptions for valid values.'}, 'roomTypeFK': {'type': 'number', 'description': 'Call getRoomTypeOptions for valid values.'}, 'stayRoomFK': {'type': 'number', 'description': 'The specific room this package covers (tbStaysRoom.EntryID). Call getMyStayRooms to find valid values.'}, 'description': {'type': 'string'}, 'packageName': {'type': 'string'}, 'advertisingEndpoint': {'type': 'string', 'description': 'OPTIONAL: only usable on Advertising-business-model Stays â\x80\x94 ignored otherwise, matching the host UI which hides this field for all other business models.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'roomId'], 'properties': {'beds': {'type': 'number'}, 'roomId': {'type': 'number', 'description': "The room's EntryID (tbStaysRoom) â\x80\x94 use getMyStayRooms to find it"}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID"}, 'maxPerson': {'type': 'number'}, 'mcpRoomId': {'type': 'string', 'description': 'External MCP room identifier. NOT AVAILABLE for boutique Stays â\x80\x94 the host UI has no field for this there, and the API will reject it.'}, 'roomTitle': {'type': 'string'}, 'roomTypeFK': {'type': 'number', 'description': 'A roomTypeId from getRoomTypeOptions(stayId).'}, 'mainBedSize': {'enum': ['Single', 'Double', 'Twin', 'Queen', 'King', 'Other'], 'type': 'string'}, 'otherBedSize': {'enum': ['Single', 'Double', 'Twin', 'Queen', 'King', 'Other', ''], 'type': 'string'}, 'roomFacilityFk': {'type': 'array', 'items': {'type': 'number'}, 'description': 'The FULL replacement list of facilityDetailId values from getRoomFacilityOptions() â\x80\x94 anything not included will be removed (except Wi-Fi, which is always kept).'}, 'roomDescription': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': ['stayId', 'area'], 'properties': {'url': {'type': 'string', 'description': 'A public https:// URL the server can download the image from (e.g. a Google Drive or Dropbox share link). Supply this OR base64, not both.'}, 'area': {'enum': ['listing', 'main', 'workspace', 'host', 'room'], 'type': 'string', 'description': "Which photo area this belongs to:\n- 'listing': general Stay gallery photos (multiple allowed, min 1920x1080 landscape)\n- 'main': the single hero/cover photo shown first for the Stay (min 1920x1080 landscape, replaces any existing main photo)\n- 'workspace': coworking/workspace photos for the whole Stay (multiple allowed, min 1920x1080 landscape)\n- 'host': a photo of the HOST/CONTACT PERSON, not the property â\x80\x94 must be PORTRAIT orientation, min 1080x1350 (replaces any existing host photo)\n- 'room': photos for one specific room â\x80\x94 requires roomId (multiple allowed, min 1920x1080 landscape)"}, 'base64': {'type': 'string', 'description': 'Base64-encoded JPEG, PNG, or WebP image bytes (a data:image/...;base64,... URI prefix is also accepted and stripped automatically). Supply this OR url, not both. Under ~27MB encoded (20MB image).'}, 'roomId': {'type': 'number', 'description': "Required when area is 'room' â\x80\x94 the room's EntryID (use getMyStayRooms to find it). Ignored for other areas."}, 'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Modifications récentes des outils
Serveurs MCP similaires
Award Travel Finder
Searches award flights and hotels, tracks bookings and loyalty balances, evaluates points and credit cards, and monitors travel r…
AI 代理人任務中樞
Aggregates Taiwan-focused tools for AI service comparisons, cryptocurrency data, game information, health guidance, and other con…
Good Turn Studio (all tools)
Offers consumer utilities for insurance claim appeals, subscription cancellation, flight fare research, financial recovery resour…
Gover MCP
Searches and manages corporate travel requests, flights, hotels, rental vehicles, passengers, carts, approvals, reservations, and…
DC Member API
Provides access to Dynamite Circle membership data, community profiles, chapters, events, trips, calendars, alerts, follows, agen…
lilo Vacation Rentals
Supports vacation-rental discovery, availability and direct booking, property operations, short-term-rental compliance, guest and…
mcp-server
Provides immigration, citizenship and residency programme research alongside tax, wealth structuring, banking, visa, treaty and c…
Geo-Parity
Compares global living costs, wages, healthcare, banking, taxes and connectivity while checking visa, Schengen and tax-residency …