Skip to main content
Glama
zencity-product

city-data-mcp

Official

Query Population Migration & Mobility

query_migration

Retrieve Census migration data for any US city to see what share of residents moved in from another state or abroad in the past year versus stayed put.

Instructions

Census geographic mobility data showing population movement patterns. Returns what percentage of a city's population moved in from a different state or abroad in the past year, vs stayed in the same house.

Works for any US city (~30,000 places). Uses ACS 5-Year estimates, Table B07003.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityYesCity name (e.g., 'Denver', 'Austin', 'Boise')

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden; it usefully discloses provenance (ACS 5-Year, Table B07003) and geographic coverage (~30,000 places), which is real added context. However it omits read-only confirmation, latency, or any caveats about the estimates, so it is only partially transparent.

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?

Two tight sentences, metric front-loaded and source/coverage details relegated to the second. No wasted words, though it could be slightly more directive about invocation.

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 no output schema, the description does explain the return values (the percentages) and the geographic/data-source scope, which covers what an agent needs. Missing only usage routing and any behavioral caveats.

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?

Only one parameter and schema coverage is 100%, so the schema already documents 'city' with examples. The description adds the useful scope note that it works for any US city, but nothing about syntax or formats beyond the schema. Baseline 3 applies.

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?

States a specific data domain (census geographic mobility) and the exact metric returned (percent moved in from another state/abroad vs stayed). This clearly separates it from generic siblings like query_demographics or query_city_data, though it never names an alternative.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, and no mention of alternatives among the many query_* siblings. The agent must infer that this is for migration/mobility questions purely from the topic.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.