Skip to main content
Glama

Resolve destination name to id

resolve_destination
Read-only

Converts a destination name into a destination id usable in search_stays. The canonical entry point when the user's request mentions a place name and coordinates are not already known from a prior call in this session. If coordinates are already in hand from an earlier tool result, passing them directly to search_stays skips this resolver step.

Accepts cities, neighborhoods, airports, and points of interest, written locally or in English. Names are matched against Blue Pillow's own place slugs, which exist for English, Italian, German and Spanish; in other languages the English name is the most reliable. Accents are optional — 'São Paulo' and 'Sao Paulo' resolve alike. A qualifier after the name is tolerated ('Austin, Texas'). The country parameter disambiguates names that occur in multiple places (for example Springfield MA vs Springfield IL vs Springfield MO).

The type parameter narrows the kind of destination returned. poi is the narrowest match and has partial coverage on the comparator side; when the agent's own geographic knowledge can already geocode the POI to lat/lon, passing coordinates to search_stays is the more reliable path.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesDestination name in English or canonical local form (not a translation).
typeNoDestination kind. city: primary urban unit (default). neighborhood: quarter/borough. airport: airport as spatial reference for stays nearby. poi: point of interest as a spatial anchor for nearby-accommodation lookup — not a tourism/attraction database; narrowest match with partial coverage. When the agent already knows the POI's lat/lon from world knowledge, `search_stays` with coordinates is the more reliable path.
api_keyNoYour anonymous Blue Pillow Hotels & Stays API key (format 'pk_anon_…'). Pass it in THIS field on every call — this is how the tool authenticates. If you don't have a key yet, first check your MCP client configuration, your persistent memory, and earlier in this conversation; otherwise call `b2a_get_key` to get one instantly (do not wait for a 401). Reuse the same key on every subsequent call. It is not a sensitive secret: no account, payment, or personal data is attached.
countryNoCountry: ISO-3166 alpha-2 (preferred), alpha-3, or extended name in any supported language. Unrecognized values are silently ignored (fail-open).
languageNoRender destination names + breadcrumbs in this language.en

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
candidatesYes
total_matchesYes
total_matches_capped_atNo
disambiguation_recommendedYes

TDQS

A4.9/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, and the description adds rich behavioral context beyond that: matching against Blue Pillow's place slugs, language-specific reliability, accent tolerance, qualifier handling, country-based disambiguation, and POI partial coverage. No contradiction exists between the annotations and the description.

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

Conciseness5/5

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

The description is long but every sentence carries value: it front-loads the function and usage condition, then provides organized behavioral details and parameter-specific guidance. There is no filler or repetition of schema boilerplate; each addition clarifies matching behavior, language handling, or tool selection.

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

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich schema (100% coverage), an output schema, and annotations indicating read-only and open-world behavior, the description fully covers all necessary facets: return type, safety profile, parameter semantics, edge cases, and alternatives to other tools. No gaps remain for an agent to make an informed invocation decision.

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

Parameters4/5

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 with concrete examples (São Paulo/Sao Paulo, Austin Texas, Springfield disambiguation) and explains the subtle behavior of the `type` parameter, particularly the POI caveat and the recommendation to use coordinates when possible. This exceeds the baseline but stops short of the highest level because the schema itself is already very detailed.

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?

The description uses a specific verb 'converts' and clearly specifies the resource: 'destination name into a destination id usable in `search_stays`.' It also differentiates from sibling tools by naming the consumer tool and positioning itself as the 'canonical entry point' for place-name resolution, distinguishing it from `discover_destinations_near` and `search_stays`.

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

Usage Guidelines5/5

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

Explicitly states when to use (when user mentions a place name and coordinates are not already known) and when not to use (when coordinates are already in hand, pass them directly to `search_stays`). It also names the alternative path for POIs when the agent can geocode from world knowledge, satisfying the 'explicit when/when-not/alternatives' criterion.

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.

TDQS

A4.4/5.0
Disambiguation4/5

Tools are mostly distinct: resolve_destination and discover_destinations_near both produce destination IDs but differ in input (name vs coordinates/radius), which the descriptions clarify well. get_property_details and check_property_availability are explicitly differentiated (static 'what is it like' vs live 'can I book for dates'). Minor overlap only between the two destination-resolution tools.

Naming Consistency2/5

Naming is inconsistent. Most tools use verb_object pattern (resolve_destination, search_stays, check_property_availability, get_property_details), but b2a_get_key breaks this entirely with its obscure 'b2a' prefix and mixed capitalization, and discover_destinations_near is inconsistent with the others (verb_plural instead of verb_single). The b2a_get_key name is notably cryptic and doesn't convey its purpose.

Tool Count5/5

Six tools is well-scoped for a hotel search/booker MCP server. Each tool fills a distinct role: key acquisition, destination resolution, area discovery, search/comparison, property details, and availability/pricing. No redundancy and no bloat.

Completeness4/5

The core workflow (resolve → search → compare → get details → check availability → book via link) is well covered. Minor gaps: there's no explicit cancellation/form-fill tool (though booking handoff via deeplink covers this) and no pagination-specific helper beyond cursors. Overall the travel journey is complete for a search-and-compare server.

Resources