Skip to main content
Glama

Search City Catalog

cities_search
Read-onlyIdempotent

Search the saved city catalog by city name or alias before adding a city to a trip. Matches whole names, name prefixes and word starts (not text inside a word), exact matches first. Pass country to limit results to one country. An empty result does not mean the place does not exist: trip_city_add can add a real town or island that is missing from the catalog when you pass city_name and country. Returns stored city IDs and location details. Search results do not add or select a city.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of results, from 1 to 50. Defaults to 10.
queryYesCity name or alias to search; two to 100 characters after trimming.
countryNoOptional country name or ISO code (for example CR or Costa Rica) to limit results to that country. Pass it whenever the user named a country.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / country
      Added value: +{
      +  "description": "Optional country name or ISO code (for example CR or Costa Rica) to limit results to that country. Pass it whenever the user named a country.",
      +  "maxLength": 100,
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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. On top of that the description discloses matching semantics (whole names, prefixes, word starts, exact matches ranked first) and the important empty-result caveat, plus the explicit statement that search does not add or select a city.

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?

Purpose and workflow cue come first, followed by matching behavior and the empty-result escape hatch. Six short sentences, all carrying information, though the matching-mode and return-value sentences could be tightened.

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?

With no output schema, the description supplies the return shape (stored city IDs and location details) and covers the non-side-effecting nature plus the fallback path when nothing matches. An agent has everything needed to call it and interpret an empty result.

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 coverage is 100%, so query, limit and country are already fully documented including ranges, defaults and the ISO-code example. The description only restates the country filter, adding no syntax or behavior beyond the schema, which is the correct baseline 3.

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 and resource ('Search the saved city catalog by city name or alias') plus the workflow context ('before adding a city to a trip'), which cleanly separates it from trip_city_add and the other search_* siblings.

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 gives when to use it (before adding a city), how to narrow (pass country), and redirects to the alternative with the condition that selects it: an empty result does not mean the place is unavailable because trip_city_add accepts city_name and country for uncatalogued towns and islands.

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