Skip to main content
Glama

Search Cities

valet_search_cities
Read-onlyIdempotent

Search the cities directory by name prefix with population-ranked results. Use this when an agent needs to resolve a partial city name into a canonical city slug plus state slug plus lat/lng before composing valet_find_operators_in_city or valet_find_operators_near. Empty array if no matches.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return; default 8, capped at 25
queryYesPartial or full city name (>=2 chars). Matched against name and lowercase name fields with prefix semantics.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
_metaYesTOOL-11 ToS and attribution block
citiesYesCities matching the query, ranked by text match then population desc
data_freshnessYesTOOL-10 freshness stamp

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds behavioral details beyond annotations, including 'population-ranked results' and 'Empty array if no matches.' It also previews the return meaning. With output schema present, this is solid additional transparency.

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 two sentences, front-loaded with the primary function, and then provides usage context and a key behavioral note (empty array). Every sentence earns its place with no filler.

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?

For a read-only search tool with 2 parameters, an output schema, and strong annotations, the description fully covers the tool's purpose, when to use it, and essential edge behavior (no matches). It also immediately connects to related tools, making the description complete for an agent selecting and invoking it.

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 parameters (query and limit) already have detailed descriptions covering prefix semantics, min length, default, and max. The tool description adds context about population ranking and the canonical output fields, but it doesn't add new parameter-level syntax or meaning beyond the schema, so the baseline of 3 is appropriate.

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 states a specific action ('Search the cities directory by name prefix'), a resource (cities directory), and a distinguishing trait (population-ranked results). It also clarifies the output (canonical city slug, state slug, lat/lng), which clearly differentiates it from sibling tools that find operators.

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?

The description explicitly says when to use this tool: 'when an agent needs to resolve a partial city name into a canonical city slug plus state slug plus lat/lng before composing valet_find_operators_in_city or valet_find_operators_near.' This names alternatives and provides an explicit context, going beyond mere implication.

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.1/5.0
Disambiguation3/5

Some tools overlap in purpose: valet_find_nearest_operators and valet_find_operators_near both use coordinates and return nearby operators, while valet_find_operators_in_city and valet_search_by_service_and_city have similar city+service semantics. The descriptions help distinguish them, but an agent must read carefully to pick the right one.

Naming Consistency4/5

All tools use the valet_ prefix and snake_case, so the naming family is recognizable and mostly verb-led. Minor deviations like valet_find_operators_near versus valet_find_nearest_operators and the longer valet_search_by_service_and_city make it slightly less predictable.

Tool Count5/5

8 tools is well-scoped for a valet directory server: city lookup, service lookup, operator searches, profile retrieval, and quote submission. Each tool earns a distinct place in the workflow without bloat or dead weight.

Completeness4/5

The toolkit covers the core workflow end-to-end: resolve cities, search operators by city/coordinate/service, get full profiles, validate service slugs, and request a quote. Obvious minor gaps are operator name search and any quote management/update operation, but the primary directory flow is complete.