Posadita – direct-booking holiday rentals
Server Details
Holiday rentals booked direct with the host: availability, prices, checkout links. No auth.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool targets a distinct step in the booking flow: search_stays for discovery, get_property for details, check_availability for nightly availability, get_quote for total price, and create_checkout for initiating a checkout link. The descriptions explicitly clarify when to use one over another (e.g., get_quote for whole-stay pricing vs. check_availability for nightly details), preventing misselection.
All five tools follow a consistent snake_case verb_noun pattern: check_availability, create_checkout, get_property, get_quote, search_stays. The verbs are standard and the nouns clearly indicate the target resource or action.
Five tools is well-scoped for a direct-booking rental flow that covers search, property details, availability, pricing, and checkout initiation. No tool feels redundant or out of place, and the count matches the narrow domain.
The set covers the core guest journey from search to checkout link, and the actual booking is intentionally handled by the guest externally. The main gap is the lack of a tool to list or discover collection slugs (search_stays requires a slug from an external source like /llms.txt), which could hinder agents without prior knowledge.
Available Tools
5 toolscheck_availabilityARead-onlyIdempotentInspect
Which nights are free between two dates, both inclusive, at most 62 days per call. Each night has available, minStay, whether arrival/departure is allowed that day, and priceCents (null when the place takes no online booking). For the price of a whole stay use get_quote – nightly prices do not include fees or discounts.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Last night, YYYY-MM-DD | |
| from | Yes | First night, YYYY-MM-DD | |
| slug | Yes | The place's slug – the last part of its page URL (posadita.com/p/{slug}), or from search_stays or /llms.txt. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, so the bar is lower. The description adds real value: the 62-day-per-call limit, the per-night fields returned, and the meaning of priceCents=null when the place takes no online booking.
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?
Three tight sentences, front-loaded with the core question and the 62-day cap, then return shape, then the sibling pointer. No wasted text, though slightly dense.
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?
No output schema exists, so the description carries the return-value burden and does so by enumerating each night's fields. Limits and pricing caveats are covered; only minor gaps remain, such as ordering or error behavior.
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 coverage is 100%, so from/to/slug are already documented in the schema. The description adds only the 'both inclusive' range clarification and reinforces that prices are nightly; baseline 3 is appropriate when the schema does the heavy lifting.
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+resource: determining which nights are free between two dates for a given place. It distinguishes itself from the pricing sibling by explicitly naming get_quote for whole-stay prices, so an agent can tell it apart without opening the schema.
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?
Explicitly routes whole-stay pricing to get_quote and clarifies that nightly prices exclude fees/discounts. Clear usage context for that alternative, though it does not mention search_stays or get_property or state when-not to call this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_checkoutAInspect
Prepare a stay for the guest to confirm and pay. It reserves NOTHING and books nothing: no nights are held, the host is not told, no e-mail is sent. It returns checkoutUrl, a link you must give to the guest; the GUEST opens it, checks the stay, agrees to the host's terms and pays. Until they do, anyone else can book those nights. The link expires after 24 hours. Never tell the guest they are booked, and never try to complete the booking for them. Quote first; contact details are optional and only pre-fill the form, which the guest can change. Limited to a few per hour per caller.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The place's slug – the last part of its page URL (posadita.com/p/{slug}), or from search_stays or /llms.txt. | |
| agent | No | Who is asking – your assistant's name. Only the host's statistics see it. | |
| guest | No | Optional – pre-fills the booking form. | |
| adults | Yes | Adults (at least one). | |
| locale | No | Language the guest reads. | |
| checkIn | Yes | Arrival, YYYY-MM-DD | |
| message | No | Optional note to the host, pre-filled; the guest can edit it. | |
| checkOut | Yes | Departure, YYYY-MM-DD | |
| children | No | Children, if any. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=false; the description adds substantial behavioral context beyond them — no reservation or hold is created, nothing is sent to the host, the returned link expires after 24 hours, anyone else may book the nights in the meantime, and there is a per-caller rate limit. This is exactly the disclosure an agent needs for a non-idempotent, non-holding link-generation call, and it contradicts nothing in 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 front-loaded with the core action and return value, and the negative guarantees are stated up front where they matter. It is slightly redundant in places ('reserves NOTHING and books nothing: no nights are held, the host is not told, no e-mail is sent'), but that emphasis is defensible for a tool whose failure mode is an agent falsely telling a guest they are booked.
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 nine-parameter tool with a nested guest object and no output schema, the description covers what is returned (checkoutUrl), who must act on it (the guest), its expiry (24 hours), the booking race condition, and rate limits. Nothing critical for correct invocation is missing.
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 100%, so the schema already documents all nine parameters, including that guest/contact details and message are optional and pre-fill the form. The description restates this ('contact details are optional and only pre-fill the form, which the guest can change') but adds no syntax, format, or constraint detail beyond what the structured schema provides, so the baseline of 3 applies.
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 states a specific verb and outcome — preparing a stay for the guest to confirm and pay, returning a checkoutUrl — and immediately bounds the scope with what it does NOT do (reserves nothing, books nothing, no email). It also distinguishes itself from the siblings by naming the required prerequisite step ('Quote first', i.e. get_quote), so an agent can place it in the workflow without opening schemas.
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?
It gives clear sequencing guidance ('Quote first') and explicit when-not-to-act instructions ('Never tell the guest they are booked, and never try to complete the booking for them'), plus a rate limit. It does not explicitly name the alternative sibling tools by name, which keeps it just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_propertyARead-onlyIdempotentInspect
One holiday rental: what it is, where (rounded when the host keeps the address private), capacity, amenities (fixed ids + labels), house rules, check-in/out times, cancellation policy (cancellation.terms is what the level promises; for custom read note), photos and a from-price per night. bookable: false means the page shows the place but takes no online booking – the guest contacts the host; do not quote or prepare a checkout for it. bookingMode says what happens after the guest presses book: request (host confirms), request_hold (card held, host confirms) or instant.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The place's slug – the last part of its page URL (posadita.com/p/{slug}), or from search_stays or /llms.txt. | |
| locale | No | Language of the texts (default en). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover only the safety profile (readOnly/idempotent/non-destructive), and the description goes well beyond that: it discloses that addresses are rounded when the host keeps them private, decodes the `bookable` flag, explains the three `bookingMode` outcomes from the guest's perspective, and clarifies that `cancellation.terms` is the level promise while `custom` requires reading `note`. These are exactly the behavioral details an agent cannot infer from annotations or schema.
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?
Front-loaded with the resource identity, then packed with parenthetical clarifications; nearly every clause carries usable information. It is a single dense block rather than a poorly organized one, though the bookingMode sentence could be tightened.
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 carries the full burden of describing the return payload and does so field-area by field-area (identity, location, capacity, amenities, rules, times, cancellation, photos, price). Combined with the flag semantics, an agent can call it and interpret the result without further docs.
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 coverage is 100% and both parameters (slug, locale) are documented in the schema, including where the slug comes from. The description adds no parameter-level detail such as slug format constraints or locale fallback behavior, so the baseline 3 applies.
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 opening clause 'One holiday rental: what it is, where ... capacity, amenities ...' states a specific resource (a single rental listing) and enumerates the payload, which naturally separates it from the multi-result search_stays and the action tools (get_quote, create_checkout). It never names a sibling or explicitly contrasts itself with them, so it falls just short of a 5.
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?
It gives a concrete usage rule: when `bookable: false`, 'the guest contacts the host; do not quote or prepare a checkout for it', which steers the agent away from get_quote/create_checkout in that case. It also explains when each `bookingMode` applies. What is missing is a positive routing statement (e.g. 'use after search_stays to fetch full details').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteARead-onlyIdempotentInspect
The total price of one stay for a party, with its breakdown (nights, length discount, extra-guest fee, cleaning) – the same calculation that charges the guest. Amounts are integer cents. When the stay cannot be booked the answer has ok:false and a reason: unavailable (with the taken dates), min_stay (with minStay), no_checkin_day, no_checkout_day, max_guests (with maxGuests), no_rates or invalid_range. A quote holds nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The place's slug – the last part of its page URL (posadita.com/p/{slug}), or from search_stays or /llms.txt. | |
| adults | Yes | Adults (at least one). | |
| checkIn | Yes | Arrival, YYYY-MM-DD | |
| checkOut | Yes | Departure, YYYY-MM-DD (that night is not included) | |
| children | No | Children, if any. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, but the description goes further: amounts are integer cents, the failure envelope is spelled out (ok:false with unavailable/min_stay/no_checkin_day/no_checkout_day/max_guests/no_rates/invalid_range), and 'A quote holds nothing' confirms no persistence. This is substantive behavioral context an agent cannot get from 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?
Front-loads the core purpose, then layers units and the failure taxonomy in three tight sentences with zero filler. The parenthetical breakdowns are efficient rather than redundant.
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 carries the return-value burden and does so for the failure path and the breakdown components. It stops short of the success envelope shape (field names/currency) and any auth or rate-limit context, but is otherwise complete for a read-only quote tool.
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 coverage is 100% – all five params (slug, checkIn, checkOut, adults, children) are documented in the schema itself, including format notes like 'that night is not included'. The description adds no parameter-level syntax or constraint beyond that, so the baseline 3 applies.
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 operation (total price of one stay for a party) with an enumerated breakdown (nights, length discount, extra-guest fee, cleaning) and clarifies it is 'the same calculation that charges the guest'. An agent can immediately separate this pricing tool from check_availability or create_checkout.
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?
Usage is implied rather than stated: the error reasons (min_stay, no_checkin_day, max_guests) indirectly reveal booking constraints, but the description never says when to prefer this over check_availability or that a quote should precede create_checkout. No explicit alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_staysARead-onlyIdempotentInspect
Search ONE collection – a host's portfolio, a residential community or a destination – named by its slug (posadita.com/s/{slug}, or from /llms.txt). There is no search across all of Posadita. With dates and guests every place is priced for exactly that stay (totalCents, the same figure get_quote gives) and those that can be booked come first; without dates you get each place's from-price per night. Only places with bookable:true can be quoted or checked out; the others are booked by contacting their host.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Departure, YYYY-MM-DD (with from) | |
| from | No | Arrival, YYYY-MM-DD (with to) | |
| guests | No | Everyone staying, children included. | |
| amenities | No | Every one of these, not any. | |
| collection | Yes | The collection's slug. | |
| minBedrooms | No | ||
| propertyType | No | ||
| availableOnly | No | With dates: leave out places that cannot be booked for them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world, so the burden is low; the description nonetheless adds substantial behavior: pricing semantics with vs without dates, that totalCents matches get_quote, result ordering with bookable places first, and the from-price-per-night fallback. These are outcome-shaping facts an agent cannot get from annotations or schema.
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?
Four dense sentences, front-loaded with the scope constraint and then the pricing behavior; each sentence carries information an agent needs. The middle sentences are long and clause-heavy, which costs a little readability without adding waste.
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 read-only, 8-parameter search with no output schema, the description covers the important return facts (totalCents, from-price, bookable flag, ordering) and the collection-resolution path. It omits pagination/result-count behavior and any mention of the filtering parameters (amenities, minBedrooms), which leaves a small gap an agent may have to probe for.
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 coverage is 75%, so the baseline is 3. The description adds real meaning for `collection` (slug origin, posadita.com/s/{slug}, /llms.txt) and for the date pair (pricing behavior), but says nothing about minBedrooms, propertyType, availableOnly, or the all-of-not-any amenity semantics — the latter is only carried by the schema.
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 ('Search ONE collection – a host's portfolio, a residential community or a destination') and explicitly bounds the scope with 'There is no search across all of Posadita.' That boundary alone lets an agent distinguish it from sibling tools like get_property and check_availability without opening any schema.
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?
Gives clear conditional usage: with dates and guests every place is priced for that stay and bookable ones sort first; without dates you get from-prices. It also names the downstream gate ('Only places with bookable:true can be quoted or checked out') and names get_quote as the equivalent figure. It stops short of an explicit 'use X instead when Y' routing statement for get_property/check_availability.
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.
5 tool updates
- First observed
check_availability - First observed
create_checkout - First observed
get_property - First observed
get_quote - First observed
search_stays
Related MCP Connectors
Read-only property facts, indicative availability, authorised booking links and guest-safe support.
Search independent UK holiday stays, check live availability and exact prices, then open checkout.
Find vacation rentals, explore photos and property details, and open direct host booking links.
Find direct-booking vacation rentals, check availability, and get stay quotes.
Related MCP Servers
- AlicenseAqualityAmaintenanceVacation rental software. A signed stay offer on the host’s own domain. Use this when a vacation rental host wants booking software on the host’s own domain, or when a stay offer must be verified against that domain. Returns an Ed25519-signed offer (VRP) and the host’s direct booking URL. The guest books and pays the host. Do not use to compare hosts or prices.6814 npm4Apache 2.0
- 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.-
- AlicenseNot gradedqualityBmaintenanceA public, read-only server that lets any AI agent or MCP client check vacation-rental prices, availability, day-by-day calendars and booking links for properties in Puerto Viejo de Talamanca, Costa Rica, with no credentials required. It never creates, changes or cancels bookings and never exposes guest or reservation data.GPL 3.0
- -
Glama MCP Gateway
Add one secure layer between your agents and this server.