RentalCal
Server Details
Find direct-booking vacation rentals, check availability, and get stay quotes.
- Status
- Healthy
- Uptime
- 99.9% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The tools mostly target distinct steps: availability, property lookup, property retrieval by id, and quoting. The main potential overlap is find_property versus get_property, since both return listing details, but the descriptions clarify that one resolves a site/domain while the other fetches by property id.
All tools use a consistent snake_case verb_noun pattern: check_availability, find_property, get_property, get_quote. The naming is predictable and readable throughout.
Four tools is a well-scoped surface for a rental availability and quoting workflow. Each tool covers a distinct step: resolve a property, inspect details, check availability, and price a stay.
The set covers the core pre-booking flow: property discovery, full listing details, availability, and exact quote with booking handoff. Minor gaps exist around broader property search or in-server booking completion, but the described bookingUrl flow suggests those may be intentionally out of scope.
Available Tools
4 toolscheck_availabilityCheck availabilityARead-onlyInspect
Booked nights and the open date ranges a stay can actually be booked in, with minimum-stay rules applied. bookableFrom is the first check-in a request made now may ask for (later than today when the host requires notice before check-in). bookableUntil is the first night the host's booking window has not opened yet (24 months from today when the host has not set one); nights after it are not open rather than taken. The listing's maxNights is the longest stay a quote accepts. Defaults to the next 90 days; at most 365 days per call. Ranges are check-in inclusive, check-out exclusive.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Day after the last date to check, YYYY-MM-DD. | |
| from | No | First date to check, YYYY-MM-DD. Defaults to today. | |
| propertyId | Yes | A RentalCal property id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, but the description adds substantive behavior beyond that. It distinguishes booked nights from nights that are not yet open, explains bookableFrom and bookableUntil, applies maxNights, and clarifies inclusive/exclusive range semantics.
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 front-loads what the tool returns and then defines the ambiguous terms that affect interpretation. Every sentence earns its place by adding either semantics or usage constraints, with no redundant restatement of the name or title.
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, so the description carries the burden of explaining returned concepts, and it does so well. With read-only annotations and complete schema coverage, it gives enough context for an agent to invoke the tool correctly and interpret the results.
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 baseline is 3, and the schema already documents each parameter. The description adds useful range constraints, such as defaulting to the next 90 days and allowing at most 365 days per call, though it does not add further detail about propertyId.
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 resource and output: booked nights and open date ranges with minimum-stay rules, and it explains the key returned fields. It does not explicitly distinguish this from siblings such as get_quote, but the availability-focused purpose is clear.
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 useful usage constraints, including a default range of the next 90 days and a maximum of 365 days per call. However, it does not say when to use this tool rather than get_quote or other siblings, so alternatives are only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_propertyFind a RentalCal propertyARead-onlyInspect
Look up a vacation rental by its RentalCal booking site, or by the page on the host's own website where their RentalCal booking widget is installed. Accepts a site address such as beach-house.rentalcal.com, a full URL, the bare site name, or the host's own domain. Returns the listing: description, location, capacity, amenities, house rules, photos, nightly pricing, cancellation policy, payment schedule, damage deposit, the host's FAQ, and the property id. When one website hosts several properties, returns those candidates instead.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | The booking site's address or URL, e.g. beach-house.rentalcal.com, or the address of the host's own page with the booking widget on it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read (readOnlyHint true, destructiveHint false, openWorldHint false). The description adds real behavioral context beyond that: the disambiguation behavior when one website hosts several properties, and an explicit enumeration of returned data. No output schema exists, so this return disclosure carries genuine weight.
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 purpose, then inputs, then returns, then the edge case. The list of returned fields is long but justified because there is no output schema to carry it. Slightly dense but no wasted framing.
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 single-parameter read tool with annotations and no output schema, the description covers purpose, accepted inputs, return payload, and the multi-property edge case. Only the relationship to sibling lookup tools is left unaddressed.
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 the baseline is 3, but the description goes further by enumerating accepted input shapes (site address, full URL, bare site name, host domain) that the terse schema example does not fully spell out.
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 (look up) and resource (vacation rental) and explains the two lookup paths clearly. It does not, however, distinguish itself from the sibling get_property, which an agent might reasonably confuse it with.
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 implicit guidance through the accepted input forms and the multi-property candidate case, but never states when to prefer this over get_property or get_quote, nor the intended workflow (resolve site → then fetch details).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_propertyGet property detailsARead-onlyInspect
The full listing for a property id: description, location, check-in and check-out times, capacity, pets, amenities, house rules, photos, nightly pricing and fees, cancellation policy, payment schedule, damage deposit, and the host's FAQ. Amounts are integer cents in the property's currency.
| Name | Required | Description | Default |
|---|---|---|---|
| propertyId | Yes | A RentalCal property id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description adds genuinely new behavioral context the annotations cannot convey: the amount convention ('integer cents in the property's currency') and the full breadth of returned data. It stops short of stating behavior for missing/invalid ids or pagination, but that is a minor gap against a fully declared safe-read profile.
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 purpose is front-loaded in the opening clause, and the long field enumeration is justified because there is no output schema to describe the return payload. The comma-separated list is dense and unstructured rather than categorized, but every item earns its place as return-value documentation.
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 correctly assumes responsibility for describing the return payload, and it does so thoroughly while also fixing the currency/unit convention — a detail easy to get wrong. For a low-complexity single-parameter read tool guarded by complete annotations, the only meaningful omissions are error/not-found behavior and how it differs from sibling lookups.
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% for the single propertyId parameter, so the schema already carries the parameter documentation and the baseline of 3 applies. The description only restates that the input is 'a property id' and adds no format, prefix, or validity detail beyond the schema's 'A RentalCal property id.'
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+resource ('The full listing for a property id') and enumerates exactly what the listing contains, so an agent knows this returns the complete property record rather than a summary. It does not explicitly name or contrast with siblings like find_property or get_quote, though the 'full listing' framing implicitly separates it from search-style tools.
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 only implied: the phrase 'for a property id' signals the precondition that an id must already be known, which naturally routes an agent here after find_property. There is no explicit when-to-use or when-not-to-use statement, and no mention of the alternatives (find_property, get_quote) that an agent might otherwise choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quotePrice a stayARead-onlyInspect
The exact price of a stay: nightly rates, discounts, cleaning and other fees, taxes and total, in integer cents, plus any refundable damage deposit the host requires and whether it is held at booking. Returns a bookingUrl that opens the host's booking page with these dates and guests filled in, where the traveller completes the booking. If the stay is not allowed (dates taken, below the minimum stay, too many guests) the reason is returned instead.
| Name | Required | Description | Default |
|---|---|---|---|
| pets | No | Number of pets. | |
| guests | Yes | Number of guests, not counting pets or infants. Where the listing's infants is null, count babies here. | |
| checkIn | Yes | Arrival date, YYYY-MM-DD. | |
| infants | No | Children under the listing's infants.freeUnderAge. Free, and outside maxGuests. Only where the listing's infants is not null; leave out otherwise. | |
| checkOut | Yes | Departure date, YYYY-MM-DD. | |
| propertyId | Yes | A RentalCal property id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description goes further by detailing the price components, the refundable deposit and hold-at-booking behavior, the bookingUrl handoff, and the failure mode when a stay is not allowed, adding substantial context beyond 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?
Three dense sentences are front-loaded with the tool's output and purpose, then cover the bookingUrl and failure behavior without filler. Every sentence adds information an agent needs.
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 and minimal annotations, the description carries the burden of explaining return values, and it does so thoroughly: price breakdown, deposit handling, bookingUrl, and failure reasons. Nothing critical is missing for an agent to call 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?
Schema description coverage is 100%, with each of the six parameters documented in the schema. The description references dates and guests and mentions 'too many guests' but adds no parameter syntax, format, or meaning beyond the schema, so the baseline of 3 is appropriate.
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 names a specific action and resource: pricing a stay, returning nightly rates, fees, taxes, total, deposit, and a bookingUrl. It is clearly distinct from find_property/get_property, but it never explicitly names a sibling or states which sibling to use instead, so it falls short of the top bar for sibling differentiation.
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 by the content – get an exact price and booking link for a stay – but the description never states when to call this versus check_availability, find_property, or get_property, nor any prerequisites or exclusions. It gives no explicit routing guidance.
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.
1 tool update
- Changed
find_property1 field changed- changed
Input schema / properties / site / descriptionPrevious value: -"The booking site's address or URL, e.g. cedar.rentalcal.com, or the address of the host's own page with the booking widget on it."New value: +"The booking site's address or URL, e.g. beach-house.rentalcal.com, or the address of the host's own page with the booking widget on it."
1 tool update
- Changed
get_quote2 fields changed- changed
Input schema / properties / guests / descriptionPrevious value: -"Number of guests, not counting pets."New value: +"Number of guests, not counting pets or infants. Where the listing's infants is null, count babies here." - added
Input schema / properties / infantsAdded value: +{ + "description": "Children under the listing's infants.freeUnderAge. Free, and outside maxGuests. Only where the listing's infants is not null; leave out otherwise.", + "minimum": 0, + "type": "integer" +}
4 tool updates
- First observed
check_availability - First observed
find_property - First observed
get_property - First observed
get_quote
Related MCP Connectors
Book vacation rentals direct: search homes, check live availability, get a real total.
Find vacation rentals, explore photos and property details, and open direct host booking links.
Search and book verified independent vacation rentals directly from hosts, with no guest fees.
Search and request stays at independent hotels, B&Bs, guesthouses and vacation rentals, direct.
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.76984 npm4Apache 2.0
- AlicenseBqualityBmaintenanceEnables Airbnb searches with location, date, guest, price, and property type filters, and retrieval of detailed listing information such as amenities, house rules, and direct booking links.21,760 npmMIT
- 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
- AlicenseCqualityDmaintenanceThe only MCP server with AI guest risk scoring and extortion detection. Search properties, book instantly, protect hosts. 41 tools across 5 layers. Instant API key, 10 free credits.6MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.