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

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

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.