Skip to main content
Glama

search_neighborhoods

Read-onlyIdempotent

Ranked neighborhood search across every US neighborhood (202,000+), for "where should I move" questions.

Use this when someone is relocating and has not picked a town yet: filter to a county set, a metro, a state, a home-price ceiling or a walkability floor, then rank by walkability, transit, zero-car share, demand or home value. Each row carries median home value, median income, price-to-income ratio, commute mode shares, zero-car household share, and where available year-over-year home value growth and property tax rate — so walkability can be read alongside what living there costs.

Counties are addressed by 5-digit state+county FIPS codes because county names repeat across states (there are Delaware Counties in PA, OH, NY and IN). Example: Chester PA 42029, Delaware PA 42045, Montgomery PA 42091, New Castle DE 10003.

walkabilityIndex is the EPA National Walkability Index on its 1-20 scale, with a national percentile beside it, and sort_by "walk" ranks on it. It is a different scale from the 0-100 SafeStreets score, which comes from scoring one address.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_neighborhoods"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoRows to return, default 25, max 100.
metroNoMetro name substring, e.g. "Philadelphia". Give any of county, metro or state.
stateNoTwo-letter state code, e.g. "PA".
countyNoComma-separated 5-digit state+county FIPS codes, e.g. "42029,42045,42091,10003". The precise way to scope a county set.
offsetNoPagination offset.
sort_byNoRanking field, default "demand".
sort_dirNoDefault "desc".
walk_minNoMinimum EPA walkability index (1-20 scale).
budget_maxNoMaximum median home value in USD; neighborhoods above it are dropped.
transit_minNoMinimum transit percentile (0-100).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish a safe, read-only, idempotent, closed-world search. The description adds valuable context beyond that: dataset size, filtering/ranking behavior, the fields returned in each row, and the distinction between the 1–20 EPA walkability index and the 0–100 SafeStreets score.

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?

The purpose is front-loaded and the extra paragraphs justify themselves with useful domain context, especially the FIPS explanation and walkability scale distinction. It is somewhat long, but the length is reasonable for a 10-parameter search tool in a complex domain.

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?

With no output schema, the description takes on the burden of explaining what each row contains, and it does so by naming home value, income, price-to-income ratio, commute modes, zero-car share, YoY growth, and tax rate. Combined with the schema's complete parameter documentation, an agent has enough information to invoke it 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, but the description adds meaningful context: it explains why counties are addressed by 5-digit FIPS codes and clarifies how sort_by "walk," walk_min, budget_max, and county scoping are intended to be used.

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 verb/resource and scope: ranked neighborhood search across 202,000+ US neighborhoods for relocation questions. It partially distinguishes itself by explaining the EPA walkability scale vs the SafeStreets address score, but it does not directly differentiate from the closely related sibling find_walkable_neighborhoods.

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

Usage Guidelines4/5

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

It gives a clear usage context: use when someone is relocating and has not picked a town yet, and then filter by county/metro/state/home-price/walkability. It does not explicitly name when to use alternatives like find_walkable_neighborhoods or compare_locations, so it lacks full alternative routing.

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.