Spann Stays
Server Details
Read-only sample stays, booking constraints, and staged reservation actions for review.
- Status
- Healthy
- Uptime
- 99.9% over 79 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Each tool targets a distinct resource or action: property records, guest observations, route resolution, constraint explanation, availability search, and reservation preparation. The three booking-adjacent tools (explain_booking_constraints, search_availability, prepare_reservation_action) are close in theme but their descriptions clearly separate explain/search/prepare purposes.
All names follow a snake_case verb_noun pattern (explain_, get_, prepare_, resolve_, search_), which is readable and predictable. The verbs vary widely, but that reflects genuinely different actions rather than inconsistent convention.
Six tools is well-scoped for a fixture-backed booking domain, with each tool earning its place. No redundancy or padding is apparent.
The surface covers reading properties and guest observations, explaining constraints, searching availability, resolving routes, and preparing reservation actions, which is solid coverage for a fixture-only server. Mutation operations like submitting inquiries or confirming bookings are intentionally excluded, which is a minor but deliberate gap.
Available Tools
6 toolsexplain_booking_constraintsExplain Sample Booking ConstraintsARead-onlyIdempotentInspect
Explain fixture-backed booking constraints for a sample property and rate; no property authority or live policy decision is provided.
| Name | Required | Description | Default |
|---|---|---|---|
| language | Yes | ||
| property_id | Yes | ||
| room_rate_id | Yes | ||
| traveler_constraints | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds context that the data is fixture-backed and that the tool does not consult live property authority, meaning results are illustrative rather than definitive. This is a meaningful behavioral disclosure beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb, and no redundant information. Every phrase adds value—'fixture-backed', 'sample', and the caveat about authority.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and its limitations, but it remains incomplete because it omits the role of traveler_constraints, which is a meaningful optional input for generating constraints, and it doesn't describe the form of the output. The schema and annotations don't fill these gaps, leaving the agent without enough information to confidently invoke the tool for complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no description for the four parameters, and the tool description only gives partial context by referring to 'sample property and rate' for property_id and room_rate_id. It does not explain the language parameter or the traveler_constraints array, which are crucial for understanding how to construct a valid request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Explain') and scope ('fixture-backed booking constraints for a sample property and rate'), distinguishing it from sibling tools like search_availability and prepare_reservation_action. It also clarifies the non-authoritative nature, reinforcing its distinct analytical purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear when-to-use for sample data and an explicit when-not-to-use by stating that no live property authority or policy decision is provided. This tells the agent that for authoritative booking decisions, another tool is needed, though no specific alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_customer_propertyRead Published Customer PropertyBRead-onlyIdempotentInspect
Read a published customer property record with public provenance and an official handoff route; unpublished records fail closed.
| Name | Required | Description | Default |
|---|---|---|---|
| property_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds a concrete error condition (unpublished records fail closed), which is genuine value, but 'public provenance' and 'official handoff route' are undefined jargon that conveys little actionable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the core action front-loaded. It avoids padding, though the back half is spent on opaque phrases rather than useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read with no output schema, the description covers the access condition and failure mode but leaves the return shape and the meaning of 'provenance'/'handoff route' unexplained. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about property_id — no format, source, or meaning. The enum does constrain the allowed values in the schema, but the description adds no semantics for the single required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read a published customer property record') and scopes it to the published subset. It is clearly distinct from siblings like search_availability or resolve_customer_route, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'published' qualifier and the note that unpublished records 'fail closed' imply the precondition for a successful call, but there is no explicit when-to-use versus a sibling or guidance on what to do when the record is unpublished.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_guest_observationsRead Attributed Guest ObservationsBRead-onlyIdempotentInspect
Read moderated guest observations separately from property facts; no review collection or submission.
| Name | Required | Description | Default |
|---|---|---|---|
| preference | No | ||
| property_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive, closed-world behavior. The description adds genuinely new behavioral context: the observations are 'moderated' (pre-filtered content) and the tool neither collects nor submits reviews, which tells the agent this is a read-only, content-curated source rather than a live review pipeline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence delivering the action, the resource, and the scope boundary with no filler. It is arguably too terse for the amount of information an agent still needs, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should say more about what an 'observation' is and what comes back (text, rating, attribution, count). Annotations carry the safety profile, but return shape and the meaning of the preference filter are left entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters, and the description says nothing about the 'preference' filter or how 'property_id' scopes results. The enum values are self-descriptive, which partially mitigates the gap, but the description does not compensate for the missing documentation as low coverage requires.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('moderated guest observations'), and contrasts it with 'property facts', which effectively separates it from the sibling get_customer_property. It does not explicitly name that sibling, so the differentiation is implied rather than declared.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'separately from property facts; no review collection or submission' sets a boundary and implies property-fact queries belong elsewhere, but it never states positively when to call this tool or names the alternative tool to use for facts. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_reservation_actionPrepare Sample Reservation ActionARead-onlyIdempotentInspect
Prepare a fixture-only reservation action for review; never holds a room, books, pays, sends, or contacts a property. Use sample traveler placeholders only.
| Name | Required | Description | Default |
|---|---|---|---|
| option_id | Yes | ||
| room_rate_id | Yes | ||
| traveler_packet | Yes | ||
| special_requests | No | ||
| desired_action_mode | Yes | ||
| confirmation_language | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable specificity by enumerating what the tool never does (hold a room, book, pay, send, contact a property), which goes beyond the generic annotation. This is transparent and reassuring without contradicting any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence that front-loads the core purpose and then adds essential constraints. Every clause adds value with no dead weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a complex schema (nested traveler_packet, multiple enums, 6 params) and no output schema. The description fails to explain how to construct required inputs or what the prepared action will look like. This leaves significant gaps for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate but does not. It mentions 'sample traveler placeholders' but does not explain any of the 6 parameters, including the nested traveler_packet object with required fields. This leaves users guessing about input formatting and semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific purpose: to prepare a fixture-only reservation action for review. It explicitly distinguishes itself from real booking operations by listing what it never does (holds, books, pays, sends, contacts), making it distinct from siblings that explain constraints or search availability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use: it's for review/testing with sample traveler placeholders only. However, it does not explicitly name sibling alternatives or state when not to use this tool, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_customer_routeResolve Official Customer HandoffARead-onlyIdempotentInspect
Resolve a published customer's official booking or inquiry URL from stay length; never checks inventory or sends an inquiry.
| Name | Required | Description | Default |
|---|---|---|---|
| stay | Yes | ||
| property_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the bar is lower. The description adds real context on top: it explicitly rules out inventory checks and inquiry sends, the two side effects an agent might otherwise fear, and restricts scope to published customers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action first and the exclusions appended; every clause carries information and nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description makes the return value clear (a booking or inquiry URL), and annotations cover the safety profile. The remaining gap is the format expected for the nested stay dates, which nothing in the definition supplies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds the causal link that the result is derived 'from stay length' (explaining why the nested stay object matters), but gives no date format guidance for check_in/check_out, leaving the nested object under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Resolve') and a specific resource ('official booking or inquiry URL'), scoped to published customers and driven by stay length. It does not name any sibling tool, differentiating only through negations ('never checks inventory or sends an inquiry'), so an agent must infer the boundary with search_availability and prepare_reservation_action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Never checks inventory or sends an inquiry' implies two when-not boundaries, which is useful negative guidance. However, no when-to-use condition or named alternative is given, so the agent must infer routing between this tool, search_availability, and prepare_reservation_action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_availabilitySearch Sample Stay AvailabilityARead-onlyIdempotentInspect
Search deterministic sample stay options from the Spann Stays fixture; no live inventory or property availability is queried.
| Name | Required | Description | Default |
|---|---|---|---|
| stay | Yes | ||
| limit | No | ||
| language | Yes | ||
| destination | No | ||
| guest_count | Yes | ||
| property_id | No | ||
| required_constraints | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already indicating a read-only, idempotent operation, the description adds valuable context by revealing that no live inventory or property availability is queried, and that results are deterministic from a fixture. This goes beyond the annotations and sets correct expectations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose and includes one clarifying contrasting clause. Every word earns its place, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a moderately complex schema (7 parameters, nested objects, oneOf constraints) and no output schema, the description provides no information about return values, parameter relationships, or the required either/or selection of destination vs property_id. The tool's behavior is underspecified for an agent to invoke it correctly without deeper assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, placing the burden on the description to explain parameters. The description mentions only 'sample stay options' and does not elaborate on destination, property_id, stay, guest_count, language, limit, or required_constraints. While parameter names are somewhat self-explanatory, the description provides no additional semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Search' and identifies the resource as 'sample stay options from the Spann Stays fixture.' It explicitly states the tool does not query live inventory, which distinguishes it from potential live-search alternatives. The purpose is clear and well-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for deterministic sample data via the phrase 'deterministic sample stay options' and 'fixture,' but it does not explicitly state when to use this tool versus sibling tools or exclude any scenarios. The guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
get_customer_property1 field changed- changed
Input schema / properties / property_id / enumPrevious value: -[ - "kumihimo-kobe", - "elevenvillage", - "asagiya-takayama" -]New value: +[ + "kumihimo-kobe", + "elevenvillage", + "asagiya-takayama", + "big-island-base", + "halo" +]
- Changed
get_guest_observations1 field changed- changed
Input schema / properties / property_id / enumPrevious value: -[ - "kumihimo-kobe", - "elevenvillage", - "asagiya-takayama" -]New value: +[ + "kumihimo-kobe", + "elevenvillage", + "asagiya-takayama", + "big-island-base", + "halo" +]
- Changed
resolve_customer_route1 field changed- changed
Input schema / properties / property_id / enumPrevious value: -[ - "kumihimo-kobe", - "elevenvillage", - "asagiya-takayama" -]New value: +[ + "kumihimo-kobe", + "elevenvillage", + "asagiya-takayama", + "big-island-base", + "halo" +]
3 tool updates
- Added
get_customer_property - Added
get_guest_observations - Added
resolve_customer_route
3 tool updates
- First observed
explain_booking_constraints - First observed
prepare_reservation_action - First observed
search_availability
Related MCP Connectors
Read-only analytics for short-term rentals: bookings, occupancy, forecasts, reviews, owner payouts.
Read-only property facts, indicative availability, authorised booking links and guest-safe support.
Your hotel's numbers in Claude: occupancy, pace, pickup, mix, rates and reviews. Read-only.
Read rooms, rates, inventory, reservations and price quotes in ThinkReservations.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables read-only inspection of ad-bid recommendations, scenario analysis, and explanation of threshold decisions using synthetic fixtures, without requiring live ad accounts or credentials.-

Aroha Retreat MCPofficial
AlicenseNot gradedqualityCmaintenanceProvides read-only, token-scoped access to a versioned retreat booking REST API, exposing tools for runtime capabilities, availability, aggregate calendar data, individual reservation pages, room lists and details, published content, and communication statuses. Discovery is limited to the capabilities granted by the integration token, with no booking writes, payment, or feedback tools.MIT- FlicenseNot gradedqualityCmaintenanceProvides a read-only approval gate for AI agent commerce actions, reviewing up to five non-sensitive actions and returning decisions and required evidence without executing, paying, or signing.-
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to search global holiday rentals, hotels and short-term stays, read full property details, and get exact, itemised prices for specific dates and party sizes, then hand the traveller a link to complete the booking. All tools are read-only, and it also returns guidance for hosts listing a property and for software companies building integrations.-
Glama MCP Gateway
Add one secure layer between your agents and this server.