# Boundary Atlas

> Free MCP server of US and Canadian boundaries: cities and towns, ZIP codes (Census ZCTAs), counties, towns and
> townships, congressional and state legislative districts (the maps in force for the Nov 3, 2026 election) and voting
> precincts, plus Canadian provinces, federal ridings, polling divisions and provincial districts. Find what contains
> any address or point, cross between them with population shares (ZIP to city, county or district), and get
> polygon boundaries as GeoJSON. Every record carries its source, licence and freshness.

Connect any MCP client to https://boundarymcp.com/mcp (streamable HTTP). No key, no sign-up. Limits per IP address: 60 requests a
minute, 3,000 a day, 4 at once.

## Docs

- [Full agent guide](https://boundarymcp.com/llms-full.txt): how to use the tools well, every tool with its parameters, IDs, limits
  and attribution
- [Home](https://boundarymcp.com/): what's in it, how to connect each client, FAQ
- [Map demo](https://boundarymcp.com/demo?zip=07102): type a ZIP or address and see the tool calls behind the map
- [Compare](https://boundarymcp.com/compare): Boundary Atlas next to the Census Geocoder, HUD ZIP crosswalk, Cicero, Geocodio and others,
  and when to use each
- [Privacy](https://boundarymcp.com/privacy): daily counts only; no IP addresses, stored lookups or cookies

## Connect

- Claude Code: `claude mcp add --transport http boundary-atlas https://boundarymcp.com/mcp`
- Cursor (~/.cursor/mcp.json): `{"mcpServers": {"boundary-atlas": {"url": "https://boundarymcp.com/mcp"}}}`
- Codex (~/.codex/config.toml): `[mcp_servers.boundary-atlas] then url = "https://boundarymcp.com/mcp"`
- Claude app (claude.ai or desktop): `Settings → Connectors → Add custom connector → https://boundarymcp.com/mcp`
- ChatGPT (developer mode): `Add a custom connector: URL https://boundarymcp.com/mcp, no authentication`

## Tools

- `search_geographies`: Find geographies by name, e.g. 'Essex County', 'Newark ward 5', 'Toronto Centre'.
- `get_geography`: Full record for one geography: attributes, parent chain up to the country, child counts by level, and the source it came from (licence, vintage, last fetched).
- `list_children`: Geographies directly under `id` (state -> counties and districts, county -> precincts and towns, province -> ridings). Filter with `level`; page with limit/offset (max 1000).
- `list_geographies`: Every geography at one level, optionally within one state/province, e.g. all congressional districts in 'NJ' or all federal ridings in 'ON'. Page with limit/offset (max 1000).
- `related_geographies`: Links between geographies that overlap without nesting, with population shares.
- `find_officials`: Who represents a place: members of the U.S. House and Senate, state legislators and the mayor, with contacts.
- `locate_point`: Which geographies contain a point: precinct, county, town, congressional and state legislative districts in the US; province, census division and subdivision, federal riding, polling divisions and provincial districts in Canada. Point-in-polygon on stored boundaries (simplified to ~10 m, so a point within ~10 m of a line can land on either side). Geocode an address to lat/lon first.
- `get_boundaries`: Polygon boundaries as a GeoJSON FeatureCollection (EPSG:4326, RFC 7946 winding), for drawing dashboard maps.
- `nearest_geographies`: Geographies at `level` whose internal point is closest to (lat, lon). This is a nearest-point approximation, not point-in-polygon. To find the geography containing a point, use locate_point.
- `data_freshness`: When each upstream dataset was last fetched and checked, what period it describes (vintage), how often it is re-checked, and whether it is overdue. Includes the recent refresh history.
- `coverage_summary`: What's in the atlas: row counts by country and level, with the vintage of each layer.

## Guides

- [How to convert ZIP code data to counties (or cities, or districts)](https://boundarymcp.com/guides/zip-to-county-crosswalk)
- [How to find the congressional and state legislative districts for an address](https://boundarymcp.com/guides/find-districts-by-address)
- [How to list the ZIP codes in a city, county or congressional district](https://boundarymcp.com/guides/zip-codes-in-a-city)
- [How to assign leads and accounts to sales territories by city, county or district](https://boundarymcp.com/guides/route-leads-by-territory)
- [How to map election results by precinct](https://boundarymcp.com/guides/map-election-results-by-precinct)
- [How to match members or supporters to their legislative districts](https://boundarymcp.com/guides/match-members-to-districts)
- [How to make a map of your data by county, city or district](https://boundarymcp.com/guides/map-data-by-county-or-district)
- [How to tell whether an address is inside city limits](https://boundarymcp.com/guides/inside-city-limits)
- [How to find the federal riding and polling division for a place in Canada](https://boundarymcp.com/guides/canada-riding-by-location)
- [How to find who represents an address in Congress and the state legislature](https://boundarymcp.com/guides/who-represents-an-address)
- [How to find a city's or county's official website and code of ordinances](https://boundarymcp.com/guides/find-local-government-websites)
- [Look up an address](https://boundarymcp.com/lookup): city, county, ZIP, districts and precinct for any US address

## Pages

- `https://boundarymcp.com/zip/<5-digit ZIP>`: the cities, county, congressional, state senate and state house districts a ZIP is in,
  with population shares, plus its towns and precinct count (e.g. https://boundarymcp.com/zip/90210)
- `https://boundarymcp.com/city/<state>/<name>`: a city's counties, districts and ZIP codes with shares (e.g. https://boundarymcp.com/city/il/chicago)
- `https://boundarymcp.com/congressional-district/<state>-<number>`: a district's counties, ZIP codes and population (e.g. nj-10, ak-al)
- `https://boundarymcp.com/state/<state>`: a state's cities, districts and ZIP codes (e.g. https://boundarymcp.com/state/nj); index at https://boundarymcp.com/states

## Optional

- IDs look like `us:place:1714000` (Chicago), `us:county:34013`, `us:congressional_district:3410`, `us:zcta:07102`,
  `ca:federal_electoral_district:35001`.
- ZIP codes are 2020 Census ZIP Code Tabulation Areas, which approximate USPS ZIP Codes.
- Free to use. If it saves you time, support it: https://donate.stripe.com/14A3cudvRf255CJ0qpcMM00
