Skip to main content
Glama

search_hotels

Read-onlyIdempotent

Rank hotels in a city by the OKstays Comfort Score (AI scores on the comfort filters; cleanliness, beds, shower, bugs and safety count 40%). Only hotels that pass all five must-haves are returned. Optionally rank for a travel style (persona) and/or require specific strengths. Returns up to 10 hotels with strengths, caveats, price and links.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoFilter ids the hotel must score 8+ on, e.g. ['soundproofing', 'reliable_wifi']. See get_filters.
personaNoTravel style to rank for: digital-nomad, deep-sleep, romantic, family, business, solo-safe, luxury, budget-comfort.
sort_byNobest = Comfort Score (default); value = Comfort Score per $100; nearest needs near_lat/near_lng.
districtNoNeighbourhood to restrict to, e.g. 'Gothic Quarter'. get_city_overview lists the districts.
locationYesCity name or slug, e.g. 'Barcelona' or 'new-york'. Use list_cities for coverage.
near_latNoLatitude of a landmark or address the user names (not the user's own location); with near_lng restricts results to hotels within radius_km and reports distance_km.
near_lngNoLongitude of the point of interest.
max_priceNoMaximum indicative price per night in USD.
min_scoreNoMinimum Comfort Score (0-10).
radius_kmNoSearch radius around near_lat/near_lng in km (default 3).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the five-must-have filter gate, the 40% weighting of comfort filters in the score, and the cap of 10 results. It stops short of describing pagination or behavior when zero hotels qualify.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the ranking and gating behavior, then the optional modifiers, then the return shape. Dense but each sentence carries information; the parenthetical weighting detail is slightly cluttered but earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 describes the return shape ('up to 10 hotels with strengths, caveats, price and links') and the filtering semantics. Coverage is strong for a 10-param tool; only edge cases (zero results, pagination) are unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 10 parameters including examples, enums and the nearest-requires-near_lat/near_lng rule. The description adds conceptual context (what the Comfort Score is) but no per-parameter detail beyond the schema, so baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (rank) and resource (hotels in a city) plus the ranking model (OKstays Comfort Score) and the gating rule (only hotels passing all five must-haves). This is clearly distinguishable from siblings like compare_hotels, find_similar_hotels and get_hotel without opening their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the optional modifiers ('Optionally rank for a travel style (persona) and/or require specific strengths'), which implies when to pass persona/tags, but never states when to prefer this tool over compare_hotels or get_hotel. Usage is implied rather than routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources