Roraima holiday rentals
Server Details
Find Roraima rentals and devices, get quotes, booking links or a prepared booking. Pay on Roraima.
- Status
- Healthy
- Uptime
- 99.9% over 29 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 8 tools
The tools mostly target distinct resources and actions: listing search/detail, product search/detail, quote, booking preparation, and link generation. The only meaningful overlap is between get_booking_link and prepare_booking, since both return booking/payment links, but their descriptions distinguish a simple prefilled link from a held booking flow.
All tool names use snake_case with a consistent verb-first pattern: get_*, search_*, and prepare_*. No mixed casing or inconsistent verb styles are present.
Eight tools is well-scoped for a holiday-rental booking and product catalog server. Each tool has a clear role in the search, inspect, quote, and book flow.
The surface covers the main public workflows: searching and inspecting listings/products, getting prices, preparing a booking, and linking to payment. Minor gaps include no booking retrieval, cancellation/modification, or review operations, but core booking coverage is solid.
Available Tools
8 toolsget_booking_linkGet a booking linkARead-onlyIdempotentInspect
Link to a listing page with arrival, departure and guests already chosen. The guest books and pays on that page. Without dates, the plain listing page.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | No | Number of guests. | |
| check_in | No | Arrival date, YYYY-MM-DD. | |
| language | No | Language of names, descriptions and page links. Default en. | |
| check_out | No | Departure date, YYYY-MM-DD. | |
| listing_id | Yes | listing_id from search_listings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), so the bar is lower, and the description still adds real value: it clarifies that booking and payment happen on the linked page, not through this tool, and it discloses the no-dates fallback behavior. It does not describe the return shape (URL vs. object), but that is a minor gap.
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?
Two short sentences with no filler; the core behavior is front-loaded and the fallback case follows immediately.
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 five-parameter, read-only link tool with full schema coverage and no output schema, the description covers purpose, side-effect boundary, and the optional-date fallback. Only the return format (a URL string) is left implicit.
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 all five parameters are already documented in the schema. The description echoes arrival/departure/guests and clarifies that dates are optional (falling back to the plain listing page), which is marginal added value — 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 resource and output ('Link to a listing page with arrival, departure and guests already chosen') and clarifies the guest completes payment on that page, so the agent knows this is a link generator, not a booking tool. It does not name a sibling tool to differentiate against, which keeps it 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?
Implied usage is clear: call it when you want a prefilled booking URL. The 'Without dates, the plain listing page' clause hints at the get_listing overlap, but there is no explicit when-to-use/when-not or naming of get_quote/search_listings as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listingRead a listingARead-onlyIdempotentInspect
Public details of one Roraima listing: name, description, town, whether it is private or shared (accommodation_type, places), stay rules, cancellation policy, registration number, amenities and the link to its page. No host contact details. amenities (nights listings only) lists what the host has stated, each with an English code, the value and the sentence the listing page shows in the language asked; applies_to tells whether it describes the listing or the whole property. An amenity not listed has not been stated: it is unknown, not absent.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language of names, descriptions and page links. Default en. | |
| listing_id | Yes | listing_id from search_listings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the description adds real value instead of repeating safety hints: it scopes the payload ('No host contact details') and gives an interpretation rule that changes agent reasoning ('An amenity not listed has not been stated: it is unknown, not absent'). With no output schema, it also carries the return-content burden, though it says nothing about errors for an invalid or non-existent listing_id.
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 returned-field inventory, then a second block for amenity semantics; nearly every clause carries information. The amenity sentence is dense and slightly overstuffed ('English code, the value and the sentence... applies_to'), but nothing is padding.
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, two-parameter tool with no output schema, the description covers returned fields, a scope exclusion, and the non-obvious amenity interpretation rule. It lacks only failure behavior (invalid/missing listing_id) and any note on whether the response is cached or translated at read time.
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 a 3 is the baseline, but the description adds meaning the schema does not: it explains that 'language' governs the language of the sentence shown on the listing page, not just labels, and clarifies applies_to semantics for amenities. That is genuine added semantic value over the enum and default text.
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 ('Public details of one Roraima listing') and then enumerates exactly which fields come back (name, description, town, stay rules, cancellation policy, amenities, page link). The singular scope plus the 'listing_id from search_listings' reference makes it clearly distinguishable from search_listings without opening either 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?
Usage is only implied: the singular 'one listing' plus the listing_id reference to search_listings suggests the follow-up-detail workflow, but the description never says when to call this versus search_listings or get_product, nor states any precondition. No exclusions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productRead a productBRead-onlyIdempotentInspect
Public details of one product on sale on Roraima: name, category, description, lowest price among its sellers, maker and model for devices, image and the link to its page. No seller contact details.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Delivery country (ISO 3166-1 alpha-2) the prices refer to. Optional: without it, each price comes with the country it applies to. | |
| language | No | Language of names, descriptions and page links. Default en. | |
| product_id | Yes | product_id from search_products. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that: the data is public, includes an aggregated 'lowest price among its sellers', and deliberately excludes seller contact details. It does not cover behavior when a product id is unknown or how country/language affect results.
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 that leads with what is returned and ends with the exclusion. The field list is dense but each item adds real information; the closing negative constraint is the only slightly tacked-on element.
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 must carry the return shape, and it does by enumerating the fields including the aggregate price and device maker/model. Only small gaps remain (error/not-found behavior, and that prices vary by the country parameter), which are minor for a simple read 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 description coverage is 100%, with country, language, and product_id all documented including enum semantics and the search_products provenance. The description contributes nothing about parameters, so the schema-carried 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 gives a specific verb+resource ('Public details of one product') and enumerates the fields returned (name, category, lowest price, maker/model, image, link), making the scope unmistakable. It implicitly separates itself from the plural search_products, but it never names get_listing or search_listings, which also return product-ish data, so sibling differentiation is only partial.
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?
There is no statement of when to reach for this tool versus search_products, get_listing, or get_product_link; the reader must infer that it is the detail-fetch step after a search. The 'No seller contact details' line is a scope constraint, not usage guidance, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_product_linkGet a product linkARead-onlyIdempotentInspect
Link to the page of a product on sale on Roraima. The buyer chooses options and quantity, and pays, on that page.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Delivery country (ISO 3166-1 alpha-2) the prices refer to. Optional: without it, each price comes with the country it applies to. | |
| language | No | Language of names, descriptions and page links. Default en. | |
| product_id | Yes | product_id from search_products. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so safety is covered. The description adds the useful context that the returned page is a checkout flow, but says nothing about link format, validity, or interaction with the country/language options.
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?
Two short, front-loaded sentences with no filler; the purpose comes first and the page-behavior detail second. Slightly awkward phrasing ('a product on sale on Roraima') is the only friction.
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 simple read-only, idempotent tool with a fully documented 3-parameter schema and no output schema, the description is adequate: it explains the artifact returned and its purpose. Minor gap is that it never states the link's format or how country/language shape it.
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% and each parameter (country, language, product_id) is well documented in the schema, including the informative country-omission behavior. The description adds no parameter meaning 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?
The description states a specific resource — a link to a product's sale page on Roraima — so an agent can tell it produces a URL rather than data. However, it never explicitly distinguishes itself from the very close sibling get_product (data vs. link), leaving that distinction to be inferred.
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: by describing that the buyer chooses options, quantity, and pays on that page, it signals this is the tool for a purchase/checkout link. There is no explicit 'use this instead of get_product/get_quote' routing or prerequisite guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteGet a price quoteARead-onlyIdempotentInspect
Total price of a stay (check_in and check_out) or of a time slot (date, start_time, end_time) at one listing, as its page shows it. Answers that the dates are not available when they are taken, and with the code listing_paused when bookings at the listing are paused on those dates. A quote is not a booking.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Day of the time slot, YYYY-MM-DD (listings booked by time slots). | |
| guests | Yes | Number of guests. | |
| check_in | No | Arrival date, YYYY-MM-DD (listings booked by nights). | |
| end_time | No | Slot end, HH:MM. | |
| language | No | Language of names, descriptions and page links. Default en. | |
| check_out | No | Departure date, YYYY-MM-DD. | |
| listing_id | Yes | listing_id from search_listings. | |
| start_time | No | Slot start, HH:MM. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, and the description adds real behavioral context on top: failure semantics ('dates are not available' when taken, 'listing_paused' when bookings are paused) and the guardrail that a quote is not a reservation. It does not describe the returned price structure or currency, but the error disclosure is genuinely 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?
Three tight sentences, front-loaded with the output and input modes, then failure behavior, then the booking distinction. 'As its page shows it' is the only decorative phrase and it usefully signals the quote mirrors displayed pricing.
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 an 8-parameter read tool with no output schema, the description covers both input modes and the notable error codes, which is most of what an agent needs. The remaining gap is the shape of the returned quote (fields, currency, fee breakdown), which the description leaves implicit.
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 adds a semantic fact the schema does not state: the two parameter families are alternative booking models (nights vs time slots), and it conveys that listing_id scopes the price to a single listing. This helps an agent pick the right date fields rather than passing an inconsistent mix.
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 (compute total price of a stay or a time slot at one listing) and gives both input modes by naming their fields. It also distinguishes itself from the booking flow with 'A quote is not a booking', which separates it from prepare_booking and get_booking_link 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?
Clear that this is for pricing a prospective stay/slot and explicitly not for committing a booking, which routes the agent away from prepare_booking. It stops short of naming the sibling to use instead when the user does want to book, so the exclusion is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_bookingPrepare a booking for the guestAInspect
Keeps a stay (check_in and check_out) or a time slot (date, start_time, end_time) at one listing, with the name and contacts of the person booking, and returns a link to a Roraima page where that person checks the booking and pays, with these details already filled in. Availability and price are checked as in get_quote. The link carries only a random code, works once and expires after two hours; the details are then deleted. This answer does not repeat the name or the contacts. The booking exists only once it is paid on the page.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Day of the time slot, YYYY-MM-DD (listings booked by time slots). | |
| Yes | Email of the person booking. | ||
| phone | No | Phone of the person booking, with the international prefix (for example +39...). Used only where the checkout of the listing asks for a phone number. | |
| guests | Yes | Number of guests. | |
| check_in | No | Arrival date, YYYY-MM-DD (listings booked by nights). | |
| end_time | No | Slot end, HH:MM. | |
| language | No | Language of names, descriptions and page links. Default en. | |
| check_out | No | Departure date, YYYY-MM-DD. | |
| last_name | Yes | Last name of the person booking. | |
| first_name | Yes | First name of the person booking. | |
| listing_id | Yes | listing_id from search_listings. | |
| start_time | No | Slot start, HH:MM. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false) by disclosing that the link carries only a random code, works once, expires after two hours, and that the submitted details are then deleted. It also clarifies that the response omits the guest's name and contacts and that nothing is actually booked until payment, which is precisely the kind of side-effect context an agent needs.
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 operation and its output in the first sentence, then packs expiry, deletion, response contents and payment-gating into two tight follow-up sentences. No filler and no restatement of the 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?
For a 12-parameter, non-read-only tool with no output schema, the description covers the return value (a link), its lifetime, and the two booking modes. Failure modes (invalid dates, unavailable slot) are left implicit, but nothing essential for calling the tool correctly 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 coverage is 100%, so the baseline is 3, but the description adds a genuinely useful rule the schema does not encode: check_in/check_out apply to listings booked by nights while date/start_time/end_time apply to listings booked by time slots. That mutual exclusivity affects which parameters must be supplied together, so it earns above baseline.
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?
Names a specific verb (keeps/prepares a booking) and resource (a stay or time slot at one listing) and states the concrete output (a link to a Roraima page where the guest reviews and pays). It differentiates itself from get_quote by saying availability and price are checked 'as in get_quote', but it never contrasts itself with the sibling get_booking_link, which sounds like an overlapping way to obtain the same link.
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 makes the operating context clear: this is the step that produces a payment link for a named guest, and the booking only materialises after payment. It states no explicit when-not conditions or named alternatives, so the agent must infer that get_booking_link serves other cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsSearch holiday rentalsARead-onlyIdempotentInspect
Search Roraima listings by town or province, country, dates and number of guests. With check_in and check_out, only listings free on those nights are returned, each with its total price and a link to its page with dates and guests filled in. The amenity filters return only nights listings whose host has stated that amenity. accommodation_type tells whether one booking takes the whole place (private) or one place per guest in a shared room such as a dormitory (shared, priced per person).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Most results to return. Default 10. | |
| guests | No | Number of guests. | |
| country | No | ISO 3166-1 alpha-2 country code, e.g. IT. | |
| parking | No | true: only listings with parking, free or paid (get_listing says which). | |
| check_in | No | Arrival date, YYYY-MM-DD. | |
| language | No | Language of names, descriptions and page links. Default en. | |
| location | No | Town name, or the two-letter code of an Italian province (SS for the province of Sassari). Province names are matched only as town names. | |
| check_out | No | Departure date, YYYY-MM-DD. | |
| entire_place | No | true: only listings where the guest has the entire place, not a room. | |
| pets_allowed | No | true: only listings that accept pets, also on request (get_listing says which). | |
| air_conditioning | No | true: only listings with air conditioning. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive and closed-world behavior, so the bar is lower. The description adds substantial context: check_in/check_out returns only listings free on those nights with total price and a pre-filled page link, and amenity filters return only listings whose host has stated the amenity. This is valuable behavioral detail 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?
Three sentences, front-loaded with purpose and then behavioral details. The third sentence about accommodation_type is not represented in the schema and may confuse, but otherwise the description is efficient and well-structured.
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 11 optional parameters, no output schema, and annotations covering the safety profile, the description supplies useful return-content and filter-semantics details. It omits pagination/limit behavior and does not route to sibling tools for follow-up, but the schema already documents parameters.
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. The description adds meaning beyond the schema by explaining the combined check_in/check_out behavior and the 'host has stated that amenity' nuance for amenity filters. It also mentions accommodation_type, which is not in the schema and may be an output field, but the added filter semantics justify a 4.
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 'Search' and resource 'Roraima listings' with scope by town/province, country, dates and guests. It does not name sibling tools such as get_listing or search_products to distinguish when to use this versus them, so sibling differentiation is absent.
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 searching listings with location, date and guest filters, implying discovery use. However, it never explicitly says when to use this tool instead of get_listing for details or search_products, and offers no exclusions or alternatives. Usage is therefore implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch productsARead-onlyIdempotentInspect
Search the Roraima catalog of products for sale, such as smart devices, smart locks and installation services, by words in their name or description. Holiday rentals are not included: they come from search_listings.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Most results to return. Default 10. | |
| query | No | Words to look for, e.g. "smart plug" or "Shelly". Without it, the newest products. | |
| country | No | Delivery country (ISO 3166-1 alpha-2) the prices refer to. Optional: without it, each price comes with the country it applies to. | |
| language | No | Language of names, descriptions and page links. Default en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety and idempotency profile is covered. The description adds domain scope (what the catalog contains, that rentals are excluded) but says nothing about result ordering, pagination, or empty-result behavior. Useful context, but nothing beyond the structured fields on the behavioral side.
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?
Two sentences, no filler, with the positive scope front-loaded and the exclusion/routing hint second. Every clause earns its place.
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 search tool with full schema coverage and annotations carrying the safety profile, the description covers what the tool searches and what it does not. No output schema exists, so return format need not be explained, though ordering/pagination behavior is left unspecified.
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 limit, query, country and language all documented including enums and defaults, so the schema carries the burden. The description only implicitly touches the query parameter ('by words in their name or description') and adds no syntax, ranking, or enum meaning beyond that. 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 verb (search) plus resource (Roraima catalog of products for sale) and enumerates representative content (smart devices, smart locks, installation services). It also explicitly carves out holiday rentals and points to the sibling that handles them, so the agent can distinguish it from search_listings without opening either 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 a clear when-not condition ('Holiday rentals are not included: they come from search_listings'), which is real routing guidance. It does not, however, say anything about when to prefer this over get_product, get_product_link, or get_quote, so the guidance is clear but incomplete across the sibling set.
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_product1 field changed- added
Input schema / properties / countryAdded value: +{ + "description": "Delivery country (ISO 3166-1 alpha-2) the prices refer to. Optional: without it, each price comes with the country it applies to.", + "enum": [ + "AT", + "BE", + "BG", + "CY", + "CZ", + "DE", + "DK", + "EE", + "ES", + "FI", + "FR", + "GR", + "HR", + "HU", + "IE", + "IT", + "LT", + "LU", + "LV", + "MT", + "NL", + "PL", + "PT", + "RO", + "SE", + "SI", + "SK" + ], + "type": "string" +}
- Changed
get_product_link1 field changed- added
Input schema / properties / countryAdded value: +{ + "description": "Delivery country (ISO 3166-1 alpha-2) the prices refer to. Optional: without it, each price comes with the country it applies to.", + "enum": [ + "AT", + "BE", + "BG", + "CY", + "CZ", + "DE", + "DK", + "EE", + "ES", + "FI", + "FR", + "GR", + "HR", + "HU", + "IE", + "IT", + "LT", + "LU", + "LV", + "MT", + "NL", + "PL", + "PT", + "RO", + "SE", + "SI", + "SK" + ], + "type": "string" +}
- Changed
search_products1 field changed- added
Input schema / properties / countryAdded value: +{ + "description": "Delivery country (ISO 3166-1 alpha-2) the prices refer to. Optional: without it, each price comes with the country it applies to.", + "enum": [ + "AT", + "BE", + "BG", + "CY", + "CZ", + "DE", + "DK", + "EE", + "ES", + "FI", + "FR", + "GR", + "HR", + "HU", + "IE", + "IT", + "LT", + "LU", + "LV", + "MT", + "NL", + "PL", + "PT", + "RO", + "SE", + "SI", + "SK" + ], + "type": "string" +}
1 tool update
- Changed
search_listings4 fields changed- added
Input schema / properties / air_conditioningAdded value: +{ + "description": "true: only listings with air conditioning.", + "type": "boolean" +} - added
Input schema / properties / entire_placeAdded value: +{ + "description": "true: only listings where the guest has the entire place, not a room.", + "type": "boolean" +} - added
Input schema / properties / parkingAdded value: +{ + "description": "true: only listings with parking, free or paid (get_listing says which).", + "type": "boolean" +} - added
Input schema / properties / pets_allowedAdded value: +{ + "description": "true: only listings that accept pets, also on request (get_listing says which).", + "type": "boolean" +}
4 tool updates
- Added
get_product - Added
get_product_link - Added
prepare_booking - Added
search_products
1 tool update
- Changed
search_listings1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"Town name or Italian province code, e.g. Valledoria or SS."New value: +"Town name, or the two-letter code of an Italian province (SS for the province of Sassari). Province names are matched only as town names."
4 tool updates
- First observed
get_booking_link - First observed
get_listing - First observed
get_quote - First observed
search_listings
Related MCP Connectors
Find Costa Rica services, providers, classes and events; check availability and prepare bookings.
Find direct-booking vacation rentals, check availability, and get stay quotes.
Holiday rentals booked direct with the host: availability, prices, checkout links. No auth.
Book vacation rentals direct: search homes, check live availability, get a real total.
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.6999 npm4Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to search, book, and manage rentals on Rentsy.com.au, Australia's rental marketplace, through natural language.-
- 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
- AlicenseAqualityBmaintenanceRent GPUs, robots, drones, and construction equipment on RIGShare, and onboard equipment owners; agents can quote, book, run remote sessions, and publish listings.7344 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.