Spann Stays
Read-only sample stays, booking constraints, and staged reservation actions for review.
Should I use this
Quality & Safety
Findings (4)
- HIGH
- MEDIUMin prepare_reservation_action
- LOWin explain_booking_constraints
- INFOin prepare_reservation_action
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"stays": {
"url": "https://mcp.spannhq.com/mcp"
}
}
}Remote endpoints
https://mcp.spannhq.com/mcpstreamable-httphttps://mcp.persimmonhq.com/hospitality/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢search_availability(destination, property_id, stay, guest_count, language, ...)
Search deterministic sample stay options from the Spann Stays fixture; no live inventory or property availability is queried.
Input Schema
{
"type": "object",
"properties": {
"destination": {
"type": "object",
"additionalProperties": false,
"required": [
"country",
"prefecture"
],
"properties": {
"country": {
"type": "string",
"const": "JP"
},
"prefecture": {
"type": "string"
},
"city": {
"type": "string"
},
"area": {
"type": "string"
}
}
},
"property_id": {
"type": "string"
},
"stay": {
"type": "object",
"additionalProperties": false,
"required": [
"check_in",
"check_out"
],
"properties": {
"check_in": {
"type": "string"
},
"check_out": {
"type": "string"
}
}
},
"guest_count": {
"type": "object",
"additionalProperties": false,
"required": [
"adults",
"children",
"rooms"
],
"properties": {
"adults": {
"type": "integer",
"minimum": 1
},
"children": {
"type": "integer",
"minimum": 0
},
"rooms": {
"type": "integer",
"minimum": 1
}
}
},
"language": {
"type": "string",
"enum": [
"en",
"ja"
]
},
"required_constraints": {
"type": "array",
"items": {
"type": "string"
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"stay",
"guest_count",
"language"
],
"additionalProperties": false,
"oneOf": [
{
"required": [
"destination"
]
},
{
"required": [
"property_id"
]
}
]
}🟢explain_booking_constraints(property_id, room_rate_id, language, traveler_constraints)
Explain fixture-backed booking constraints for a sample property and rate; no property authority or live policy decision is provided.
Input Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "string"
},
"room_rate_id": {
"type": "string"
},
"language": {
"type": "string",
"enum": [
"en",
"ja"
]
},
"traveler_constraints": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"constraint_type",
"value"
],
"properties": {
"constraint_type": {
"type": "string"
},
"value": {
"type": [
"string",
"number",
"boolean",
"null"
]
},
"notes": {
"type": [
"string",
"null"
]
}
}
}
}
},
"required": [
"property_id",
"room_rate_id",
"language"
],
"additionalProperties": false
}🟢prepare_reservation_action(option_id, room_rate_id, traveler_packet, special_requests, confirmation_language, ...)
Prepare a fixture-only reservation action for review; never holds a room, books, pays, sends, or contacts a property. Use sample traveler placeholders only.
Input Schema
{
"type": "object",
"properties": {
"option_id": {
"type": "string"
},
"room_rate_id": {
"type": "string"
},
"traveler_packet": {
"type": "object",
"additionalProperties": false,
"required": [
"lead_traveler_name",
"party",
"contact",
"language",
"consent_source"
],
"properties": {
"lead_traveler_name": {
"type": "string"
},
"party": {
"type": "object"
},
"contact": {
"type": "object"
},
"language": {
"type": "string",
"enum": [
"en",
"ja"
]
},
"consent_source": {
"type": "string"
}
}
},
"special_requests": {
"type": "array",
"items": {
"type": "object"
}
},
"confirmation_language": {
"type": "string",
"enum": [
"en",
"ja"
]
},
"desired_action_mode": {
"type": "string",
"enum": [
"stage_only"
]
}
},
"required": [
"option_id",
"room_rate_id",
"traveler_packet",
"desired_action_mode"
],
"additionalProperties": false
}Community
Evidence