search_cities
Find cities by name. Use it to confirm the exact city name create_stay expects.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| country_code | No |
Find cities by name. Use it to confirm the exact city name create_stay expects.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| country_code | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safe/read-only nature is covered. The description adds value by clarifying the purpose (resolving city names for create_stay) but doesn't provide deeper behavioral details like pagination, error cases, or rate limits. It's consistent with annotations, so no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, information-dense sentences. The most critical information (what it does and why to use it) is front-loaded. Every word earns its place without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 3 simple parameters and no output schema, the description covers the primary intent (finding cities by name). However, the tool is part of a travel ecosystem where country_code could be important for disambiguation, and the description doesn't mention filtering capabilities or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's phrase 'by name' implies the 'query' parameter is for name-based search, which is the main parameter. However, there's no mention of what 'limit' or 'country_code' do, and with 0% schema coverage, those remain ambiguous. The description does some work but not enough to fully compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('find') and resource ('cities') and provides a specific use case ('confirm the exact city name'). It distinguishes itself from the search_airports and search_airlines siblings by focusing on cities, though the tool name already makes this clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Use it to confirm the exact city name create_stay expects' gives explicit guidance on when to use this tool. It doesn't explicitly contrast with other search tools or state when not to use it, so it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.