Skip to main content
Glama

Cities Lookup

CitiesLookup
Read-only

Cities Lookup: Cities Lookup is a city search API that searches over 150,000 global cities to find country codes, population counts, and city size classifications by name, with an optional country filter. Paid plans add region codes, capital status, GeoJSON coordinates and custom match limits. (Cost: 2 credits)

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "city": "<city>"
    },
    "name": "CitiesLookup"
  }
}

Input Schema

NameRequiredDescriptionDefault
cityYesThe city name for which you want to get the data (e.g., New York)
limitNoLimit number of cities that match your search criteria
countryNoTwo-letter ISO country code to restrict matches to one country (e.g., US)

Output Schema

NameRequiredDescriptionDefault
dataNo
errorNoError message, null on success
statusNo"ok" on success

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description still adds genuinely useful behavior beyond that: a 2-credit cost per call and the fact that result fields are gated by plan tier, which explains why an agent might not receive coordinates or region codes. It omits matching behavior (exact vs partial name matching) and how ambiguous names are resolved.

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?

Compact and front-loaded, with the scope of the dataset stated first and the cost appended last where it is easy to find. Minor waste in restating the tool name twice ('Cities Lookup: Cities Lookup is...') and in the plan-upsell clause, but no sentence is entirely expendable.

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

Completeness4/5

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

With an output schema present, the description need not enumerate return values, and its mention of plan-gated fields plus the credit cost covers the main calling risks. It is slightly thin on disambiguation behavior for a one-required-parameter lookup, but nothing essential for correct invocation is missing.

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 city, country and limit are already documented with examples and a default, and the baseline of 3 applies. The description adds only that the search is 'by name' with an 'optional country filter' — no extra meaning about matching semantics or how limit interacts with paid-plan 'custom match limits'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('searches over 150,000 global cities') and names the attributes returned (country codes, population, size classification), which separates it from siblings like CountryLookup or ZipCodesLookup. The trailing 'Paid plans add region codes, capital status, GeoJSON...' dilutes the core statement with plan-tier marketing rather than sharpening the purpose.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer you call it to resolve a city name into country/population data, and the mention of an 'optional country filter' hints at disambiguation. There is no explicit when-to-use versus alternatives (e.g., ReverseGeocode for coordinates, ZipCodesLookup for postal data) and no guidance on what to do when a name matches many cities.

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.