Nomad Stays
Qué hace este MCP
Searches and books remote-work accommodations while supporting host listing management, rooms, packages, availability, and hospitality applications.
Herramientas
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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."}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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"}}}
Esquema de entrada
{'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"}}}
Esquema de entrada
{'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'"}}}
Esquema de entrada
{'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"}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'type': 'object', 'required': ['filterName'], 'properties': {'filterName': {'enum': ['Children Allowed', 'Pets Allowed', 'Parking'], 'type': 'string', 'description': 'Which picklist to fetch options for'}}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'type': 'object', 'required': ['pnr'], 'properties': {'pnr': {'type': 'string', 'description': 'The booking reference (PNR) returned by bookStay'}}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID (use listCoworkingApplications to find it)"}}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID (use listExperienceApplications to find it)"}}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The WordPress post ID of the Help Center article (e.g., '123')"}}}
Esquema de entrada
{'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."}}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Esquema de entrada
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Esquema de entrada
{'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"}}}
Esquema de entrada
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Esquema de entrada
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Esquema de entrada
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Esquema de entrada
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Esquema de entrada
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID (use getMyStays to find it)"}}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': ['productId'], 'properties': {'productId': {'type': 'number', 'description': "The product's EntryID â\x80\x94 use 8 for the Stay Application fee"}}}
Esquema de entrada
{'type': 'object', 'required': ['saleId'], 'properties': {'saleId': {'type': 'string', 'description': 'The saleId returned by purchaseProduct'}}}
Esquema de entrada
{'type': 'object', 'required': ['roomId'], 'properties': {'roomId': {'type': 'string', 'description': 'The unique identifier of the room (tbStaysRoom.EntryID)'}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': ['stayId'], 'properties': {'stayId': {'type': 'number', 'description': "The Stay's EntryID"}}}
Esquema de entrada
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID (use listStayApplications to find it)"}}}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Stay identifier (searches the EntryId field)'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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')"}}}
Esquema de entrada
{'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')"}}}
Esquema de entrada
{'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."}}}
Esquema de entrada
{'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')"}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
Esquema de entrada
{'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"}}}
Esquema de entrada
{'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)"}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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"}}}
Esquema de entrada
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID"}}}
Esquema de entrada
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID"}}}
Esquema de entrada
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'number', 'description': "The application's ID"}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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)"}}}
Cambios recientes en herramientas
Servidores MCP similares
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 …