Nomad Stays
REMOTE · MCP.NOMADSTAYS.COM · SCANNED AUG 3
Search remote-work accommodations worldwide; Trusted Stay Partners can manage their own listings.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: this server exposes a tool marked destructive (deleteStayRoom) and its handshake is open, but we could not confirm whether a tool call is gated, so we do not assert it is callable unauthenticated. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability74
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 16737 tokens (~176/item across 95 items; 76 tools + 19 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage86
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 59% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.nomadstays.com
claude mcp add --transport http nomadstays-mcp-server https://mcp.nomadstays.com/mcp
[mcp_servers.nomadstays-mcp-server] url = "https://mcp.nomadstays.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"nomadstays-mcp-server": {
"type": "remote",
"url": "https://mcp.nomadstays.com/mcp",
"enabled": true
}
}
} openclaw mcp add nomadstays-mcp-server --url https://mcp.nomadstays.com/mcp --transport streamable-http
mcp_servers:
nomadstays-mcp-server:
url: "https://mcp.nomadstays.com/mcp" {
"mcpServers": {
"nomadstays-mcp-server": {
"type": "http",
"url": "https://mcp.nomadstays.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 0
- “createStayRoom” reworded the description of “roomTypeFK” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- Tool “uploadStayPhoto” rewrote its description, which is the text the model reads security
- Schema quality: excellent → good functional
- “uploadStayPhoto” reworded the description of “base64” cosmetic
- “uploadStayPhoto” reworded the description of “area” cosmetic
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 62
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://mcp.nomadstays.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.nomadstays.com | CN=YR2,O=Let's Encrypt,C=US | 28 Jul 2026 | 26 Oct 2026 | RSA 4096 | SHA256-RSA | 60d43306aa756e89c362b85feee6f6f3139 |
| SANs: mcp.nomadstays.com | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of mcp.nomadstays.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| nomadstays.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.nomadstays.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.nomadstays.com/mcp | HTTPS enforced | 302 | https://mcp.nomadstays.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
bookStay ~220
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 rejected with a message to call quoteStayBooking again. You MUST send the checkoutUrl to the member and tell them to open it in their own browser to pay — you cannot complete this payment on their behalf, and no card details ever pass through you. Requires NOMADSTAYS_MCP_AGENT_TOKEN with the 'bookings' scope.
| Name | Type | Req | Description |
|---|---|---|---|
| contactEmail | string | — | Contact email for the booking. Defaults to the member's account email if omitted. |
| contactName | string | — | Guest's full name for the booking. Defaults to the member's account name if omitted. |
| contactPhone | string | — | Contact phone number for the booking. |
| quoteId | string | yes | The quoteId returned by quoteStayBooking |
| specialRequest | string | — | Any special request to pass along to the Stay. |
No output schema declared.
No examples provided.
checkStayAvailability ~98
Check if a specific stay is available for given check-in and check-out dates. Returns availability status and room details.
| Name | Type | Req | Description |
|---|---|---|---|
| checkIn | string | yes | Check-in date in ISO format (YYYY-MM-DD) |
| checkOut | string | yes | Check-out date in ISO format (YYYY-MM-DD) |
| roomType | string | — | Optional specific room type to check availability for |
| stayId | string | yes | The unique identifier of the stay |
No output schema declared.
No examples provided.
createCoworkingApplication ~199
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, applicantEmail, city and country are present, nextAction goes straight to 'submit'. Call getCountries first to find a valid country name (must be the exact tbCountry.CountryName, not an ID). Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | — | — |
| applicantEmail | string | — | — |
| applicantName | string | — | — |
| city | string | — | — |
| country | string | — | Exact tbCountry.CountryName (not a country ID) — use getCountries and take the countryName field. Must not be a sanctioned country. |
| coworkingName | string | — | — |
| telephone | string | — | — |
| website | string | — | — |
No output schema declared.
No examples provided.
createExperienceApplication ~528
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 getBusinessModels first to resolve experienceCountryId/postalCountryId/businessModelId, since country-specific rules (VAT number, tourism number, permitted business models) are enforced server-side and rejections name the specific field/reason. Experiences must run a minimum of 4 days. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| applicantEmail | string | — | — |
| applicantFirstName | string | — | Overrides the profile default for this application only — does not change the member's profile |
| applicantLastName | string | — | Overrides the profile default for this application only — does not change the member's profile |
| availabilitySupplier | string | — | — |
| businessModelId | number | — | tbBusinessModel.EntryID — use getBusinessModels. If the experience country's bookingModelsRestricted flag is true, only a 'StayDirect'-prefixed model is accepted. |
| businessName | string | — | — |
| city | string | — | — |
| comments | string | — | — |
| daysQty | string | — | Minimum 4 days, enforced server-side |
| description | string | — | — |
| downloadSpeed | string | — | — |
| experienceCountryId | number | — | tbCountry.CountryId for where the experience actually takes place — this is the country the application itself is filed under. Use getCountries to find a value. |
| experienceName | string | — | — |
| hasInsurance | boolean | — | — |
| hasKitchen | boolean | — | — |
| laundryFacilities | string | — | — |
| maxPax | string | — | Maximum participants |
| mobile | string | — | — |
| monthlyPrice | string | — | Price per person (USD) |
| overnightLocationsQty | string | — | — |
| postalCountryId | number | — | tbCountry.CountryId for the applicant's billing/postal address — used only to check whether a VAT number is required, and stored on the member's business profile (not on the application itself). Use… |
| state | string | — | — |
| street | string | — | — |
| tourismNumber | string | — | Required if the experience country's tourismNumberRequired flag is true (see getCountries) |
| vatNumber | string | — | Required if the postal country's vatNumberRequired flag is true (see getCountries) |
| website | string | — | — |
| workFacilities | string | — | — |
| zip | string | — | — |
No output schema declared.
No examples provided.
createStayApplication ~471
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 first to resolve stayCountryId/postalCountryId/businessModelId, since country-specific rules (VAT number, tourism number, permitted business models) are enforced server-side and rejections name the specific field/reason. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| applicantEmail | string | — | — |
| applicantFirstName | string | — | Overrides the profile default for this application only — does not change the member's profile |
| applicantLastName | string | — | Overrides the profile default for this application only — does not change the member's profile |
| availabilitySupplier | string | — | — |
| businessModelId | number | — | tbBusinessModel.EntryID — use getBusinessModels. If the stay country's bookingModelsRestricted flag is true, only a 'StayDirect'-prefixed model is accepted. |
| businessName | string | — | — |
| city | string | — | — |
| comments | string | — | — |
| downloadSpeed | string | — | — |
| hasKitchen | boolean | — | — |
| laundryFacilities | string | — | — |
| mobile | string | — | — |
| monthlyPrice | string | — | — |
| numberOfRooms | string | — | — |
| postalCountryId | number | — | tbCountry.CountryId for the applicant's billing/postal address — used only to check whether a VAT number is required, and stored on the member's business profile (not on the application itself). Use… |
| state | string | — | — |
| stayCountryId | number | — | tbCountry.CountryId for where the Stay is actually located — this is the country the application itself is filed under. Use getCountries to find a value. |
| stayName | string | — | — |
| street | string | — | — |
| tourismNumber | string | — | Required if the stay country's tourismNumberRequired flag is true (see getCountries) |
| vatNumber | string | — | Required if the postal country's vatNumberRequired flag is true (see getCountries) |
| website | string | — | — |
| workFacilities | string | — | — |
| zip | string | — | — |
No output schema declared.
No examples provided.
createStayPackage ~346
Create a new pricing package on a Stay, optionally with initial price tiers. Requires an MCP agent token scoped to the owning account.
| Name | Type | Req | Description |
|---|---|---|---|
| advertisingEndpoint | string | — | OPTIONAL: only usable on Advertising-business-model Stays — ignored otherwise, matching the host UI which hides this field for all other business models. Check getBusinessModelOptions / the Stay's bu… |
| currencyFK | number | — | OPTIONAL: currency id. Call getCurrencyOptions for valid values. |
| description | string | — | OPTIONAL: package description |
| endDate | string | — | OPTIONAL: last check-in date this package is available for |
| listed | boolean | — | OPTIONAL: whether the package is publicly listed |
| maxPax | number | — | OPTIONAL: max occupancy for this package |
| packageName | string | yes | Package name |
| prices | array | — | OPTIONAL: initial price tiers. If supplied, replaces all price rows for the package. Exactly one entry per 7/14/21/30-night tier used. |
| roomTypeFK | number | — | OPTIONAL: room type id this package covers. Call getRoomTypeOptions for valid values. |
| startDate | string | — | OPTIONAL: first check-in date this package is available for |
| stayId | number | yes | The Stay's EntryID |
| stayRoomFK | number | — | 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, whic… |
No output schema declared.
No examples provided.
createStayRoom ~328
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 once all 6 exist. Requires an MCP agent token scoped to the owning account.
| Name | Type | Req | Description |
|---|---|---|---|
| beds | number | — | OPTIONAL: number of beds |
| mainBedSize | string | — | OPTIONAL: main bed size |
| maxPerson | number | — | OPTIONAL: max occupancy |
| mcpRoomId | string | — | OPTIONAL: external MCP room identifier to bind. NOT AVAILABLE for boutique Stays — the host UI has no field for this there, and the API will reject it. |
| otherBedSize | string | — | OPTIONAL: other bed size, or empty for none |
| roomDescription | string | — | OPTIONAL: room description |
| roomFacilityFk | array | — | OPTIONAL: facilityDetailId values from getRoomFacilityOptions() — the full set of amenities this room has. Wi-Fi is added automatically even if omitted. |
| roomTitle | string | yes | Room name/title |
| roomTypeFK | number | — | REQUIRED for non-boutique Stays — a roomTypeId from getRoomTypeOptions(stayId). IGNORED for boutique Stays — the next available Boutique1-6 slot is auto-assigned server-side, matching the host UI (wh… |
| stayId | number | yes | The Stay's EntryID |
No output schema declared.
No examples provided.
deleteRoomPhoto ~111
Delete one photo from a room's gallery. Call getMyStayRooms first to find the exact fileName. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| fileName | string | yes | The exact file name from getMyStayRooms |
| roomArea | string | yes | 'photos' for the regular room gallery, 'workspace' for the room's coworking gallery |
| roomId | number | yes | The room's EntryID |
| stayId | number | yes | The Stay's EntryID |
No output schema declared.
No examples provided.
deleteStayPackage ~83
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.
| Name | Type | Req | Description |
|---|---|---|---|
| packageId | number | yes | The package's EntryID (tbStayPackages) to delete |
| stayId | number | yes | The Stay's EntryID |
No output schema declared.
No examples provided.
deleteStayPhoto ~126
Delete one photo from a Stay. Call getMyStayPhotos first to find the exact fileName. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| area | string | yes | Which photo area the file belongs to (room photos aren't supported by this tool — manage those via updateStayRoom) |
| fileName | string | yes | The exact file name from getMyStayPhotos, e.g. '69bdf22cdb0c43a7be3e825a0a3a2074.jpg' |
| stayId | number | yes | The Stay's EntryID |
No output schema declared.
No examples provided.
deleteStayRoom ~66
Delete (soft-delete) a room from a Stay. Requires an MCP agent token scoped to the owning account.
| Name | Type | Req | Description |
|---|---|---|---|
| roomId | number | yes | The room's EntryID — use getMyStayRooms to find it |
| stayId | number | yes | The Stay's EntryID |
No output schema declared.
No examples provided.
findNearestAvailability ~130
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.
| Name | Type | Req | Description |
|---|---|---|---|
| maxLengthOfStay | number | — | Maximum length of stay in days (optional) |
| minLengthOfStay | number | yes | Minimum length of stay in days |
| preferredCheckIn | string | yes | Preferred check-in date in ISO format (YYYY-MM-DD) |
| searchWindowDays | number | — | Number of days before and after preferred date to search (default: 90) |
| stayId | string | yes | The unique identifier of the stay |
No output schema declared.
No examples provided.
getAdditionalInformationOptions ~109
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 find the right value before writing petsAllowedId/childrenAllowedId/parkingId. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| filterName | string | yes | Which picklist to fetch options for |
No output schema declared.
No examples provided.
getAllAmenities ~45
List all possible amenities in the database, grouped into Stay Amenities (referenced by tbStaysFacilities) and Room Amenities (referenced by tbStaysRoom.RoomFacilityFk).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getAllLifestyles ~41
Returns all active lifestyle/genre categories available in NomadStays. Use this to discover what lifestyle categories exist before searching with getStaysByLifestyle.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getAvailabilityByMonth ~110
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.
| Name | Type | Req | Description |
|---|---|---|---|
| minLengthOfStay | number | yes | Minimum length of stay in days required |
| month | number | yes | Month number (1-12, where 1=January, 12=December) |
| stayId | string | yes | The unique identifier of the stay |
| year | number | yes | Year (e.g., 2026) |
No output schema declared.
No examples provided.
getBookingStatus ~98
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 caller's own account. Requires NOMADSTAYS_MCP_AGENT_TOKEN with the 'bookings' scope.
| Name | Type | Req | Description |
|---|---|---|---|
| pnr | string | yes | The booking reference (PNR) returned by bookStay |
No output schema declared.
No examples provided.
getBusinessModelOptions ~53
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getCancellationPolicyOptions ~41
List valid values for a Stay's cancellation policy (cxPolicyId in updateStayOrganisationalData). Requires NOMADSTAYS_MCP_AGENT_TOKEN.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getCountryOptions ~48
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getCoworkingApplication ~77
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.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | number | yes | The application's ID (use listCoworkingApplications to find it) |
No output schema declared.
No examples provided.
getCurrencyOptions ~24
List valid currency ids/codes for use as a package's currencyFK.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getExperienceApplication ~71
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.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | number | yes | The application's ID (use listExperienceApplications to find it) |
No output schema declared.
No examples provided.
getFacilityGroups ~78
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 getMyStayFacilities/updateStayFacilities. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getHelpCenterArticle ~60
Fetch a specific NomadStays Help Center article by its ID. Returns the full article content, title, slug, and categories.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The WordPress post ID of the Help Center article (e.g., '123') |
No output schema declared.
No examples provided.
getMyBusinessProfile ~68
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 updateHostBusinessProfile. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getMyStayContacts ~116
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/TikTok/LinkedIn links. Call this before updateStayContacts so the agent knows current values. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| stayId | number | yes | The Stay's EntryID (use getMyStays to find it) |
No output schema declared.
No examples provided.
getMyStayDetail ~78
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.
| Name | Type | Req | Description |
|---|---|---|---|
| stayId | number | yes | The Stay's EntryID (use getMyStays to find it) |
No output schema declared.
No examples provided.
getMyStayFacilities ~154
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 first if you don't know the exact group name. Common groups: 'General', 'Services', 'Languages Spoken', 'Meal', 'Position', 'Remote Worker'. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| group | string | yes | Exact facility group name, e.g. 'Languages Spoken', 'General', 'Services', 'Meal', 'Position', 'Remote Worker' (call getFacilityGroups for the full list) |
| stayId | number | yes | The Stay's EntryID |
No output schema declared.
No examples provided.
getMyStayOnboardingStatus ~159
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 a host asks how far along they are with onboarding or what's left to finish. Note: Wi-Fi is a test-freshness score (recency of the last speed test), not a speed rating, and Operator Information is a status label ('Open'), not a real percentage — both are noted via isPlaceholder/behavior in the response. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| stayId | number | yes | The Stay's EntryID (use getMyStays to find it) |
No output schema declared.
No examples provided.
getMyStayOrganisationalData ~90
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 NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| stayId | number | yes | The Stay's EntryID (use getMyStays to find it) |
No output schema declared.
No examples provided.
getMyStayPackages ~96
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 packages/pricing they've already set. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| stayId | number | yes | The Stay's EntryID (use getMyStays to find it) |
No output schema declared.
No examples provided.
getMyStayPhotos ~103
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 reorderStayPhotos to see current filenames. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| stayId | number | yes | The Stay's EntryID (use getMyStays to find it) |
No output schema declared.
No examples provided.
getMyStayRooms ~122
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, deleteStayRoom, deleteRoomPhoto, or reorderRoomPhotos so the agent can show current values or find the right roomId/fileName. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| stayId | number | yes | The Stay's EntryID (use getMyStays to find it) |
No output schema declared.
No examples provided.
getMyStays ~63
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getProductInfo ~107
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 pay and purchaseProduct will process the waiver automatically. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| productId | number | yes | The product's EntryID — use 8 for the Stay Application fee |
No output schema declared.
No examples provided.
getPurchaseStatus ~86
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, failed, waived. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| saleId | string | yes | The saleId returned by purchaseProduct |
No output schema declared.
No examples provided.
getRoomAmenities ~66
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.
| Name | Type | Req | Description |
|---|---|---|---|
| roomId | string | yes | The unique identifier of the room (tbStaysRoom.EntryID) |
No output schema declared.
No examples provided.
getRoomAvailability ~92
Check a specific room's availability for each night in a date range. Returns availability status (available/not available) for each night.
| Name | Type | Req | Description |
|---|---|---|---|
| checkIn | string | yes | Check-in date in ISO format (YYYY-MM-DD) |
| checkOut | string | yes | Check-out date in ISO format (YYYY-MM-DD) |
| roomId | string | yes | The unique identifier of the room (tbStaysRoom.EntryID) |
No output schema declared.
No examples provided.
getRoomFacilityOptions ~69
List every room-level amenity/facility option available (roomFacilityFk in createStayRoom/updateStayRoom) — e.g. Wi-Fi, Air Conditioning, Private Bathroom. Wi-Fi is mandatory and always included even if not explicitly selected. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
getRoomTypeOptions ~89
List valid room types for a specific Stay's rooms (roomTypeFK in createStayRoom/updateStayRoom). Valid values depend on the Stay: boutique Stays choose from a fixed boutique type range; standard Stays are restricted to types already used on one of their own rooms. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| stayId | number | yes | The Stay's EntryID |
No output schema declared.
No examples provided.
getStayApplication ~71
Get the full current state of one Stay Application, including a nextAction hint and (if incomplete) a missingFields list naming exactly which required fields are still empty. Requires NOMADSTAYS_MCP_AGENT_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | number | yes | The application's ID (use listStayApplications to find it) |
No output schema declared.
No examples provided.
getStayByID ~46
Returns full details for a single stay. The id parameter searches both EntryId and StayId fields.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Stay identifier (searches the EntryId field) |
No output schema declared.
No examples provided.
getStaysByAmenities ~208
Find all stays that have specific amenities. Searches both stay-level amenities (referenced by tbStayFacilities) and room-level amenities (referenced by tbRoomFacilities). Use matchType 'any' to find stays with at least one amenity, or 'all' to find stays with all requested amenities. Can optionally filter by minimum WiFi download speed.
| Name | Type | Req | Description |
|---|---|---|---|
| amenities | array | yes | Array of amenity names to search for (e.g., ['WiFi', 'Air Conditioning', 'Pool']). Use getAllAmenities to see all available amenities. |
| limit | number | — | Maximum number of results to return (default: 25) |
| matchType | string | — | OPTIONAL: 'any' (default) finds stays with at least one amenity, 'all' finds stays with all amenities |
| minWifiSpeed | number | — | OPTIONAL: Minimum WiFi download speed in Mbps (default: 0). Only returns stays with WiFi speed at or above this threshold. |
No output schema declared.
No examples provided.
getStaysByBudget ~272
Search for stays that fit within a budget for a given duration. Country is OPTIONAL - can search globally or filter by specific country. Perfect for queries like 'Find me somewhere to stay for 1 month under EUR 1000' or 'Find me a place in Spain for 1 month under EUR 1000'.
| Name | Type | Req | Description |
|---|---|---|---|
| checkInDate | string | — | 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 | string | — | OPTIONAL: 2-letter country code (e.g., 'ES', 'PT') or country name (e.g., 'Spain'). If omitted, searches all countries globally. |
| currency | string | yes | Currency code (e.g., 'EUR', 'USD', 'GBP') |
| durationDays | number | yes | Duration of stay in days (e.g., 30 for 1 month, 90 for 3 months) |
| limit | number | — | Maximum number of results to return (default: 15) |
| maxPrice | number | yes | Maximum price for the entire duration (e.g., 1000 for EUR 1000) |
No output schema declared.
No examples provided.
getStaysByContinent ~98
Returns stays from the NomadStays database filtered by continent. Search by continent name (e.g., 'Europe', 'Asia', 'Africa', 'North America', 'South America', 'Oceania')
| Name | Type | Req | Description |
|---|---|---|---|
| continent | string | yes | Continent name or partial match (e.g., 'Europe', 'Asia', 'Africa') |
| limit | number | — | Maximum number of results to return (default: 15) |
No output schema declared.
No examples provided.
getStaysByCountry ~109
Returns stays from the NomadStays database. Search by 2-letter country code (e.g., 'MA', 'US') or country name (e.g., 'Antigua' matches 'Antigua and Barbuda')
| Name | Type | Req | Description |
|---|---|---|---|
| countrycode | string | yes | 2-letter country code (e.g., 'MA', 'US') or partial country name (e.g., 'Antigua') |
| limit | number | — | Maximum number of results to return (default: 15) |
No output schema declared.
No examples provided.
getStaysByLifestyle ~115
Returns stays from the NomadStays database filtered by lifestyle/genre category (e.g., 'Digital Nomad', 'Beach Life', 'City Living', 'Mountain Retreat'). Each stay can belong to multiple lifestyle categories.
| Name | Type | Req | Description |
|---|---|---|---|
| lifestyle | string | yes | Lifestyle/genre category name or partial match (e.g., 'Digital Nomad', 'Beach', 'City'). Use getAllLifestyles tool to see all available categories. |
| limit | number | — | Maximum number of results to return (default: 15) |
No output schema declared.
No examples provided.
getStaysByLocation ~125
Returns stays from the NomadStays database that match a location search term. Searches across City, State, location_name, location_country, and location_description fields. Use this for flexible location searches (e.g., 'Paris', 'California', 'Beach', 'Mountain')
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Maximum number of results to return (default: 15) |
| location | string | yes | Location search term to match against City, State, location_name, location_country, or location_description (e.g., 'Paris', 'California', 'Beach', 'Mountain') |
No output schema declared.
No examples provided.
getStaysByWiFiSpeed ~73
Find all stays with WiFi download speed greater than 10Mbps, listed and not suspended.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Maximum number of results to return (default: 15) |
| minWiFiDownloadSpeed | number | — | Minimum WiFi download speed in Mbps (default: 10) |
No output schema declared.
No examples provided.