Skip to main content
Glama

Lilambd Data for Agents

world-cities

How do these cities really compare: size, density, growth, greenery, roads, climate and access?. Side-by-side brief for up to 4 of 6,902 cities (every city with 100k+ people, 176 countries). Each city is measured three ways so comparisons are fair: the continuous built-up agglomeration seen from space (EU GHSL), a fixed 10 km disc, and the OSM administrative polygon. Population 2000 and 2025, density, built-up share, built-area greenness, centre-3 km road/rail/foot-path length and park share (OpenStreetMap via Overture), elevation and relief, 1991-2020 temperature and rainfall measured at the nearest NOAA GHCN station (never model-filled), nearest large airport (IATA) and seaport with km. Every metric also comes as a percentile among all 6,902 cities. Sources and data dates in the attribution. Facts only. Routes: /answer (cities*); /search (q*); /coverage. Paid $0.5 USDC per call via x402 (_meta["x402/payment"]); set sample=true for a free 3-row preview.

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": {
      "route": "<route>"
    },
    "name": "world-cities"
  }
}

Input Schema

NameRequiredDescriptionDefault
routeYesOne of: /answer, /search, /coverage. Replace {placeholders} with a value, e.g. /search or /HND.
paramsNoQuery parameters, e.g. {"q":"tokyo","limit":"50"}
sampleNoFree preview, max 3 rows

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden and does a solid job: it discloses paid access at $0.5 USDC per call via x402 (_meta["x402/payment"]), a free 3-row preview via sample=true, provenance/source attributes, and 'Facts only'. It omits error behavior, rate limits, and response shape, which is the remaining gap for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core facts are front-loaded via the opening question and the 'Side-by-side brief' sentence, but the middle is a dense run-on inventory of metrics and sources that is hard to parse in one pass. The rhetorical opener is decorative rather than functional, and some of the metric enumeration could be tightened.

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?

For a complex, multi-metric data tool with no output schema and no annotations, the description covers what is measured, the three measurement modes, percentile normalization, attribution, routes, and pricing. Missing pieces are what /coverage returns and any hint of the response structure, but the definition is largely sufficient to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns above that by mapping route names to their required parameters ('/answer (cities*)', '/search (q*)'), implying the city set limit of 4, and noting the free-preview cap on sample. It still doesn't document the shape or allowed keys of the nested params object beyond what the schema example shows.

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 states a specific resource and scope: a side-by-side comparison brief for up to 4 of 6,902 cities, with metrics defined three ways (GHSL agglomeration, 10 km disc, OSM polygon). An agent can tell this is a city-comparison data tool, though it never names a sibling (e.g. place-brief, regions) to distinguish itself from.

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 implied by 'Side-by-side brief for up to 4 of 6,902 cities' and by the route listing '/answer (cities*); /search (q*); /coverage', which tells the agent which route pairs with which parameter. There is no explicit when-not-use statement or comparison against sibling tools, so the guidance is suggestive rather than directive.

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