Skip to main content
Glama

createStayApplication

Start a new Stay Application for the caller. Any fields can be supplied now or filled in later via saveStayApplication — the applicant's name defaults from their Nomad Stays profile if not supplied. Call getCountryOptions and getBusinessModelOptions 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.

Input Schema

NameRequiredDescriptionDefault
zipNo
cityNo
stateNo
mobileNo
streetNo
websiteNo
commentsNo
stayNameNo
vatNumberNoRequired if the postal country's vatNumberRequired flag is true (see getCountryOptions)
hasKitchenNo
businessNameNo
monthlyPriceNoIndicative monthly wholesale price in US dollars (USD) — the application is always priced in USD. Packages are priced in the owner's chosen currency later, after approval.
downloadSpeedNo
numberOfRoomsNo
stayCountryIdNotbCountry.CountryId for where the Stay is actually located — this is the country the application itself is filed under. Use getCountryOptions to find a value.
tourismNumberNoRequired if the stay country's tourismNumberRequired flag is true (see getCountryOptions)
applicantEmailNo
workFacilitiesNo
businessModelIdNotbBusinessModel.EntryID — use getBusinessModelOptions. If the stay country's bookingModelsRestricted flag is true, only a 'StayDirect'-prefixed model is accepted.
postalCountryIdNotbCountry.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 getCountryOptions to find a value.
applicantLastNameNoOverrides the profile default for this application only — does not change the member's profile
laundryFacilitiesNo
applicantFirstNameNoOverrides the profile default for this application only — does not change the member's profile
availabilitySupplierNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / businessModelId / description
      Previous value: -"tbBusinessModel.EntryID — use getBusinessModels. If the stay country's bookingModelsRestricted flag is true, only a 'StayDirect'-prefixed model is accepted."New value: +"tbBusinessModel.EntryID — use getBusinessModelOptions. If the stay country's bookingModelsRestricted flag is true, only a 'StayDirect'-prefixed model is accepted."
    • addedInput schema / properties / monthlyPrice / description
      Added value: +"Indicative monthly wholesale price in US dollars (USD) — the application is always priced in USD. Packages are priced in the owner's chosen currency later, after approval."
    • changedInput schema / properties / postalCountryId / description
      Previous value: -"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 getCountries to find a value."New value: +"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 getCountryOptions to find a value."
    • changedInput schema / properties / stayCountryId / description
      Previous value: -"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."New value: +"tbCountry.CountryId for where the Stay is actually located — this is the country the application itself is filed under. Use getCountryOptions to find a value."
    • changedInput schema / properties / tourismNumber / description
      Previous value: -"Required if the stay country's tourismNumberRequired flag is true (see getCountries)"New value: +"Required if the stay country's tourismNumberRequired flag is true (see getCountryOptions)"
    • changedInput schema / properties / vatNumber / description
      Previous value: -"Required if the postal country's vatNumberRequired flag is true (see getCountries)"New value: +"Required if the postal country's vatNumberRequired flag is true (see getCountryOptions)"
  2. Added

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly=false, destructive=false, openWorld=false), and the description adds substantial non-obvious behavior: server-side country-specific rule enforcement, rejections that name the offending field, profile-based name defaulting, and the required NOMADSTAYS_MCP_AGENT_TOKEN. The main gap is that no output schema exists and the description never says what a successful call returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, then prerequisites, then behavioral caveats, in a tight sequence with no filler. It is dense but every clause adds actionable information, so length is justified rather than padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 24-parameter, zero-required tool with no output schema, this covers prerequisites, defaulting, validation behavior, and auth, which is the important surface area. It omits the approval/submission lifecycle (that submitStayApplication is the eventual finalizer) and any statement of what the call returns, which are meaningful gaps at this parameter count.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% against 24 parameters, so the description carries a heavy burden. It clarifies the country/model ID resolution path and the applicant-name defaulting, but roughly two-thirds of the parameters (zip, mobile, website, hasKitchen, downloadSpeed, workFacilities, laundryFacilities, etc.) are explained in neither place.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Start a new Stay Application for the caller'), clearly differentiating it from the save/submit/read siblings in the same family. It does not explicitly contrast itself with createCoworkingApplication or createExperienceApplication, but the 'Stay' qualifier plus the draft-creating framing make the scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real operational guidance: call getCountryOptions and getBusinessModelOptions first, and use saveStayApplication later for incremental filling. It stops short of stating when NOT to use it (e.g., that submitStayApplication must follow to finalize), so the lifecycle guidance is implied rather than complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.