IoleeAI – hotel information desk
Server Details
Read-only facts on partner hotels: profile, rules, nearby places, official booking link.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool targets a clearly distinct aspect of the hotel information desk: listing hotels, fetching a hotel card, nearby places, booking link, and hotel rules. There is no meaningful overlap between tool purposes, and the descriptions reinforce the boundaries.
Most tools follow a predictable noun_hotel pattern (dintorni_hotel, elenco_hotel, regole_hotel, scheda_hotel), with link_prenotazione slightly deviating by using a different domain noun. The convention is still readable and mostly consistent.
Five tools is well-scoped for a read-only hotel information desk. Each tool covers a distinct query type and none appear redundant or trivial.
The surface covers the full expected lifecycle for an information desk: discovering hotels, viewing details, checking rules, finding nearby places, and redirecting to booking. Since the server explicitly does not handle prices, availability, or reservations, no obvious operational gaps remain.
Available Tools
5 toolsdintorni_hotelLuoghi vicino all'hotelARead-onlyIdempotentInspect
Luoghi vicino a un hotel pubblicato (attrazioni, stazioni, aeroporti, spiagge, località, ristoranti, teatri) con distanza in linea d'aria in km. Non sono tempi né percorsi.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | Filtra per tipo di luogo. | |
| hotel | Yes | Identificativo dell'hotel come restituito da elenco_hotel (es. "riva-del-sol"). | |
| massimo | No | Numero massimo di luoghi (1-20, predefinito 10). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds substantive behavior beyond that: results are straight-line distances in km, not travel times or routes, and only published hotels qualify — exactly the kind of clarification that prevents misuse.
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 zero redundancy; the scope and category list come first and the critical disambiguation ('not times or routes') is front-loaded at the end where it lands clearly. Nothing could be removed without losing 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?
With no output schema, the description must carry the return semantics, and it does so at least partially by specifying the distance metric in km. Small gaps remain: it does not say whether results are sorted by distance, whether the hotel must exist, or what happens when it is not found, but for a simple three-parameter read tool this is close to sufficient.
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 hotel, tipo and massimo are already documented, including the enum values and the 1-20/default-10 bound. The description mentions the categories that match the tipo enum but adds no new meaning for the hotel identifier or the maximum parameter; 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 scope: places near a published hotel, with the categories enumerated and the metric defined (straight-line distance in km). It is clearly distinct from the sibling tools (hotel list/detail/booking), though it does not name or route to any alternative.
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 phrasing and by the explicit negative clause 'Non sono tempi né percorsi', which tells the agent not to use this for travel times or routes. There is no positive when-to-use guidance, no mention of prerequisites beyond 'published hotel', and no named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
elenco_hotelElenco degli hotel IoleeARead-onlyIdempotentInspect
Elenca gli hotel pubblicati sullo sportello Iolee (nome, città, tipo) con il loro identificativo da usare negli altri strumenti.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description still adds real context: it scopes results to published hotels and discloses the returned fields and the identifier's downstream role, which the annotations do not cover.
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 well-formed sentence with the resource and scope front-loaded and no filler. Every clause (published scope, returned fields, ID for other tools) carries 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?
With no output schema, the description usefully enumerates the returned fields and the ID, making it largely self-sufficient for a zero-param list tool. It does not mention pagination or whether the full set is always returned, a minor gap.
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 tool takes zero parameters, so the baseline is 4 and there is no parameter meaning to add. The description correctly does not invent parameter details.
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 ('Elenca') and resource ('hotel pubblicati sullo sportello Iolee') and even names the fields returned (nome, città, tipo). It is clearly the listing entry point versus siblings like scheda_hotel or dintorni_hotel, though it never names an alternative explicitly.
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 phrase 'con il loro identificativo da usare negli altri strumenti' implies this is the first call to obtain IDs for the other tools, which is useful workflow guidance. However, there is no explicit when-to-use/when-not statement or named alternative, so the guidance remains implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_prenotazioneLink per prenotareARead-onlyIdempotentInspect
Link al motore di prenotazione ufficiale di un hotel pubblicato. Iolee non prenota, non conosce prezzi né disponibilità: l'ospite sceglie date e paga sul sito dell'hotel.
| Name | Required | Description | Default |
|---|---|---|---|
| hotel | Yes | Identificativo dell'hotel come restituito da elenco_hotel (es. "riva-del-sol"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new context beyond that: the link points to the hotel's own site and the guest selects dates and pays there, which tells the agent the transaction happens outside the system. It does not explicitly say the return value is a URL string, but that is strongly implied.
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 core action front-loaded and the limitations immediately after. Every clause carries 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?
For a one-parameter, read-only lookup with no output schema, the description covers purpose, the published-only precondition and the external payment flow. The only mild gap is that it never states the returned value is a link/URL as an explicit output, though the first sentence implies 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?
The schema already documents the single 'hotel' parameter at 100% coverage, including the identifier format and the elenco_hotel reference. The description only adds that the hotel must be 'pubblicato', which is useful but does not go meaningfully beyond the schema's own example and constraints.
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 concrete verb and resource: it returns the link to the official booking engine of a published hotel. It also scopes the result ('di un hotel pubblicato'), which lets an agent distinguish this from elenco_hotel or scheda_hotel 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?
It clearly delimits when the tool applies by excluding what it is not: Iolee does not book and does not know prices or availability, so an agent should reach for this only to hand the guest off to the hotel's site. It stops short of naming a specific alternative for price or availability questions, so guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regole_hotelRegole dell'hotelARead-onlyIdempotentInspect
Regole di un hotel pubblicato: bambini, animali, orari di check-in e check-out. Se una regola non è nota risponde "non disponibile": in quel caso non dedurla, rimanda ai contatti dell'hotel.
| Name | Required | Description | Default |
|---|---|---|---|
| hotel | Yes | Identificativo dell'hotel come restituito da elenco_hotel (es. "riva-del-sol"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior, and the description adds something the annotations cannot: the exact sentinel value ('non disponibile') and the instruction not to infer missing rules but to redirect to the hotel's contacts. That is real behavioral guidance for the failure case. It does not describe response shape, but for a simple lookup that is minor.
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 zero padding; the scope comes first and the fallback instruction 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 one-parameter read tool with no output schema, the description covers purpose, the data facets returned, and the missing-data behavior. Only the relationship to scheda_hotel 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% and the single parameter already documents its format and its provenance (elenco_hotel). The description adds no further meaning about the hotel identifier, 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?
Names a specific resource and the exact facets it returns (children, pets, check-in/check-out times), which separates it from a general hotel card or listing. It stops short of naming the sibling it differs from, so an agent must infer the split with scheda_hotel.
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?
Implies usage by scoping to 'a published hotel' and by prescribing a fallback when data is missing, but never states when to prefer this over scheda_hotel or elenco_hotel. The guidance 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.
scheda_hotelScheda dell'hotelARead-onlyIdempotentInspect
Fatti principali di un hotel pubblicato: nome, tipo, indirizzo, contatti, sito, servizi e descrizione breve. Ogni dato riporta fonte e stato.
| Name | Required | Description | Default |
|---|---|---|---|
| hotel | Yes | Identificativo dell'hotel come restituito da elenco_hotel (es. "riva-del-sol"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds one genuinely useful behavioral note, that every datum carries a source and status, which tells the agent the response is provenance-tagged. It does not say what happens when the identifier is unknown or the hotel is unpublished, which matters for a lookup tool with no output 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?
Two short sentences, front-loaded with the resource and its field list, followed by the provenance note. No filler, though the field enumeration is a flat list rather than structured guidance.
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 full schema coverage and rich annotations, the description covers what is returned and how it is annotated with source/status. The remaining gap is failure behavior for unknown or unpublished identifiers and the absence of any size or pagination note, minor for a one-record lookup.
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 the hotel parameter already documents its format and points back to elenco_hotel, so the schema does the work. The description adds nothing about identifier syntax, case sensitivity, or slug rules beyond 'un hotel pubblicato'.
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 resource (a published hotel) and enumerates exactly what is returned: name, type, address, contacts, website, services, short description. It is clearly a detail-lookup tool, distinguishable in spirit from elenco_hotel, but it never names or contrasts with that sibling, so the differentiation is left implicit.
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 phrase 'un hotel pubblicato' implies a pre-condition (the hotel must exist and be published) and the enumerated fields imply a detail-view use case, but there is no explicit when-to-use statement, no pointer to elenco_hotel for discovery or to dintorni_hotel/regole_hotel for other facets. Usage must be inferred.
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
dintorni_hotel - First observed
elenco_hotel - First observed
link_prenotazione - First observed
regole_hotel - First observed
scheda_hotel
Related MCP Connectors
Read-only property facts, indicative availability, authorised booking links and guest-safe support.
Search hotels and get hotel details. Search-only; book on hotely.travel.
Read-only hotel data (OAuth). Guide: https://mcp.hotelink.ai/llms.txt. Verify with list_datasets.
Read-only Asian hotel search and guides with canonical sources and non-live rates.
Related MCP Servers
- AlicenseBqualityBmaintenanceOfficial MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels. Search live hotel rates and flights, look up places, airports and hotel details, then prebook and book. Remote Streamable HTTP endpoint, no API key required.4197 npm2MIT
- AlicenseAqualityBmaintenanceEnables searching CuddlyNest hotels and retrieving listing details, including live room options, prices, availability, and cancellation policies.265 npm1MIT
- AlicenseAqualityBmaintenanceEnables MCP clients to search stays by destination and dates with rich filters and read full property details as structured JSON, without needing a Booking.com account or self-hosting.281 npm22 PyPI6MIT
- AlicenseAqualityBmaintenanceSearches hotels and vacation rentals with nightly and total rates, ratings, amenities, and detailed property information through natural language in any MCP client.1138 npm19 PyPI2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.