entityindex.ai
Server Details
Verified hotels in Andorra for AI agents: search by area, spa, pets, ski-in, family; official links.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: search_hotels for querying with filters, get_hotel for retrieving full details by a unique slug from search results, and list_areas for enumerating covered parishes/localities. There is no functional overlap; the workflow is unambiguous.
All tool names follow a consistent verb_noun pattern (get_hotel, list_areas, search_hotels). The only minor variation is singular vs. plural nouns, which is natural and does not hinder recognition.
Three tools are well-scoped for a focused accommodation index: search, detail retrieval, and area listing. Each earns its place, and the count falls within the ideal 3-15 range.
The surface covers the full read-only lifecycle for Andorra accommodations: search with rich filters (area, type, stars, amenities), get full details by slug (including booking links and verification status), and list areas with counts. No critical gaps for the stated domain.
Available Tools
3 toolsget_hotelGet hotel recordARead-onlyIdempotentInspect
Full record of one accommodation by slug (from search_hotels): location, contact, booking engine, verification status, official website and booking_link (/go/ redirect to the official site with src=entityindex).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real behavior beyond them: it discloses the return payload and the non-obvious detail that booking_link is a /go/ redirect carrying src=entityindex, which an agent could not infer otherwise.
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?
One dense but well front-loaded sentence; the core action and scope come first, the enumerated fields after. Slightly cramped as a run-on but there is no filler.
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 returned fields, and annotations cover the safety profile. Missing only edge behavior (what happens on an unknown slug, uniqueness guarantees), which is minor for a single-param 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 0% and the single 'slug' parameter has no description in the schema, so the definition must compensate. It does partially, by naming the slug's origin (search_hotels), but gives no format, case-sensitivity, or exact-match guidance.
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 clear verb+resource ('Full record of one accommodation by slug') and enumerates the payload (location, contact, booking engine, verification status, website, booking_link). The parenthetical '(from search_hotels)' implicitly differentiates it from the search sibling, though it never explicitly says 'use search_hotels for listing'.
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 'by slug (from search_hotels)' establishes the prerequisite workflow context: you call this after a search produces a slug. It does not state exclusions or failure behavior, but the trigger condition is clear enough to act on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_areasList areasARead-onlyIdempotentInspect
List the parishes and localities of Andorra covered by entityindex.ai with the number of accommodations in each.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 scope, so the safety profile is covered. The description usefully adds that the result includes a per-area count, but says nothing about ordering, caching, or completeness of the fixed Andorra area list.
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 naming the resource first and the returned attribute last. No filler, no redundancy.
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 no-parameter, no-output-schema enumeration tool, the description conveys what is returned (areas plus counts) and the bounded scope of the data set. Minor gaps around ordering and pagination remain, but an agent has enough 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?
The tool takes zero parameters, so the baseline of 4 applies; there are no parameter semantics for the description to clarify. The description's mention of the count field adds minor value but is not a parameter concern.
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?
Specific verb ("List") plus a precise resource ("parishes and localities of Andorra") and even the payload (accommodation counts). It is unmistakably distinct from the sibling hotel tools, which retrieve individual or searched accommodations rather than geographic areas.
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: an agent can infer this is a discovery/lookup call to enumerate valid area values before filtering hotels, but no when-to-use condition or alternative is stated. Nothing is misleading, but nothing routes the agent explicitly either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_hotelsSearch hotels in AndorraARead-onlyIdempotentInspect
Search accommodation in Andorra indexed by entityindex.ai. Filters: area (parish or locality, e.g. 'Canillo', 'Soldeu', 'El Tarter', 'Pas de la Casa', 'Encamp', 'Andorra la Vella'), type (hotel, apartamentos, hostel), min_stars (category stated on the official site), and verified amenity filters spa, pool, parking, pets, ski_in_out, family (true = the official website explicitly says so; false = it explicitly says no; unknown values are excluded), query (free text on name/locality). Each result's 'verified' object only contains facts read on the official website. Returns official booking links (booking_link redirects to the official website with src=entityindex).
| Name | Required | Description | Default |
|---|---|---|---|
| spa | No | Own spa/wellness (verified) | |
| area | No | Parish or locality | |
| pets | No | ||
| pool | No | ||
| type | No | ||
| limit | No | ||
| query | No | ||
| family | No | Family rooms, kids club or play area (verified) | |
| parking | No | ||
| min_stars | No | ||
| ski_in_out | No | Official site explicitly says ski-in/ski-out |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), but the description adds substantial behavioral context they cannot: the exact tri-state semantics of verified filters (true = official site says yes, false = explicitly no, unknown excluded), the provenance rule that the 'verified' object only contains facts read on the official website, and that booking_link redirects to the official site with src=entityindex.
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 dense paragraph, front-loaded with purpose before filters and return behavior, with no filler sentences. The filter enumeration is long but each clause adds a distinct semantic that the schema lacks.
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 11-parameter search with no output schema, the description covers filter meaning, verification provenance, and the shape of returned booking links. The only gap is pagination/result-count behavior (the 'limit' parameter) and no explicit sibling routing.
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 only 36%, so the description carries real weight, and it does: it defines the verified-boolean contract for spa/pool/parking/pets/ski_in_out/family, explains area as parish or locality with concrete examples, and clarifies min_stars as the category stated on the official site. Only 'limit' is left entirely to 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 accommodation in Andorra') plus the indexing source (entityindex.ai), so the domain is unambiguous. It never names its siblings get_hotel or list_areas, so the agent gets no explicit routing signal beyond the verb 'search' versus 'get'/'list'.
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 details which filters exist and how they behave, which implies when the tool is useful, but never says when to prefer get_hotel or list_areas, nor states prerequisites or exclusions. Usage must be inferred from the filter list.
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
- First observed
get_hotel - First observed
list_areas - First observed
search_hotels
Related MCP Connectors
Neutral hotel & stay price comparison for AI agents: live prices from 16+ booking sites. No signup.
Book real hotel and resort stays from any AI agent: all-in pricing, hosted Stripe checkout, no key.
Travel & commerce intelligence for AI agents: search, book & price-track hotels, events, retail.
Search and book 3M+ hotels in 200+ countries. Agents pay per reservation in USDC on Base over x402. Hosted, no auth.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceLuxury hotel intelligence and secure checkout handoff for AI travel agents.1Apache 2.0

RollingGo Hotel MCPofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to search, compare, and book hotels worldwide through natural language, with real-time pricing and availability, plus price monitoring and order management.45MIT
DIDA Hotel MCPofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to search, compare, and book hotels with real-time pricing and availability, supporting multiple location types, star ratings, and price filters.11MIT
Dida Hotel MCPofficial
AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and book hotels globally with real-time pricing and inventory from over 2 million properties.46MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.