gener8v avatar

loc8n Geographic Data

gener8v/gener8v.mcp.geographic-data

Connects Claude to the loc8n Geographic Data API for U.S. census, housing, and employment queries. You get 23 tools covering ACS demographics, HUD Fair Market Rent, HMDA mortgage originations, IRS migration flows, and LODES employment data. Works across ZIP codes, counties, metro areas, and states with trend analysis, side-by-side comparisons, and geocoding. Runs via stdio or SSE, with a hosted option at mcp.loc8n.com if you don't want to install anything. Useful when you're building location intelligence features, analyzing real estate markets, or need population and economic data without writing API clients. Requires a loc8n API key.

tools
23
auth
Secret needed
transport
STDIO, SSE
env var
1
last updated
Mar 31, 2026

Tools

23 tools

Public tool metadata for what this MCP can expose to an agent.

lookup_zip_codeLook up full details for a single 5-digit US ZIP code, including city, state, county, timezone, coordinates, area codes, land/water area, and elevation.1 params

Look up full details for a single 5-digit US ZIP code, including city, state, county, timezone, coordinates, area codes, land/water area, and elevation.

Parameters* required
zipCodestring
The 5-digit ZIP code to look up (e.g., "30301")
search_zip_codes_by_citySearch for all ZIP codes in a given city and state. Returns the full list of matching ZIP codes with details.2 params

Search for all ZIP codes in a given city and state. Returns the full list of matching ZIP codes with details.

Parameters* required
citystring
City name (e.g., "Atlanta")
statestring
2-letter state abbreviation (e.g., "GA")
find_zip_codes_in_radiusFind all ZIP codes within a given radius of a center ZIP code. Returns each nearby ZIP with its distance from the center.5 params

Find all ZIP codes within a given radius of a center ZIP code. Returns each nearby ZIP with its distance from the center.

Parameters* required
limitinteger
Maximum number of results (1 to 500, default 100)default: 100
radiusnumber
Search radius (0.1 to 500)
sortstring
Sort order for resultsone of distance · zipdefault: distance
unitstring
Distance unitone of miles · kilometersdefault: miles
zipCodestring
Center ZIP code (5 digits)
calculate_zip_code_distanceCalculate the distance between two ZIP codes using either the Haversine or Vincenty formula. Returns origin/destination details and the computed distance.4 params

Calculate the distance between two ZIP codes using either the Haversine or Vincenty formula. Returns origin/destination details and the computed distance.

Parameters* required
fromstring
Origin ZIP code (5 digits)
methodstring
Calculation methodone of haversine · vincentydefault: haversine
tostring
Destination ZIP code (5 digits)
unitstring
Distance unitone of miles · kilometers · meters · feet · nautical_milesdefault: miles
search_areasSearch for geographic areas by name across all boundary types (county, state, CBSA, census tract, ZIP). Uses trigram matching for fuzzy name search.3 params

Search for geographic areas by name across all boundary types (county, state, CBSA, census tract, ZIP). Uses trigram matching for fuzzy name search.

Parameters* required
limitinteger
Maximum number of results (1 to 50, default 20)default: 20
querystring
Search term -- name or partial ZIP code (minimum 2 characters)
typesarray
Restrict to specific boundary types
get_demographicsRetrieve a full demographic profile (population, income, housing, education, employment, households) for a single geographic area such as a ZIP code, county, state, place, CBSA, census tract, or block group.3 params

Retrieve a full demographic profile (population, income, housing, education, employment, households) for a single geographic area such as a ZIP code, county, state, place, CBSA, census tract, or block group.

Parameters* required
area_codestring
Area identifier: 5-digit ZIP, 2-digit state FIPS, 5-digit county FIPS, 11-digit tract GEOID, 12-digit block group GEOID, place FIPS, or CBSA code.
area_typestring
Geographic area type. Use 'zip' for ZIP codes, or a Census boundary type.one of zip · county · state · place · cbsa · tract
data_yearinteger
Specific ACS data year (e.g. 2023). Omit for the most recent available year.
get_demographics_categoryRetrieve specific demographic categories (e.g. population, income, housing) for a geographic area. Use this instead of get_demographics when you only need a subset of categories to keep the response concise.4 params

Retrieve specific demographic categories (e.g. population, income, housing) for a geographic area. Use this instead of get_demographics when you only need a subset of categories to keep the response concise.

Parameters* required
area_codestring
Area identifier (ZIP code, FIPS code, GEOID, or CBSA code).
area_typestring
Geographic area type.one of zip · county · state · place · cbsa · tract
categoriesarray
One or more demographic categories to retrieve: population, income, housing, education, employment, households.
data_yearinteger
Specific ACS data year. Omit for the most recent available year.
get_demographics_trendRetrieve historical demographic data across multiple years for a single geographic area, useful for analysing population growth, income changes, or housing trends over time.4 params

Retrieve historical demographic data across multiple years for a single geographic area, useful for analysing population growth, income changes, or housing trends over time.

Parameters* required
area_codestring
Area identifier (ZIP code, FIPS code, GEOID, or CBSA code).
area_typestring
Geographic area type.one of zip · county · state · place · cbsa · tract
end_yearinteger
Last year of the range. Omit for the most recent available year.
start_yearinteger
First year of the range. Omit for the earliest available year.
compare_demographicsCompare demographics side by side for two to ten ZIP codes. Returns each ZIP's demographic profile plus summary comparison ranges (population, income, housing).3 params

Compare demographics side by side for two to ten ZIP codes. Returns each ZIP's demographic profile plus summary comparison ranges (population, income, housing).

Parameters* required
categoriesarray
Optional list of categories to include in the comparison.
data_yearinteger
Specific ACS data year. Omit for the most recent available year.
zip_codesarray
Two to ten 5-digit ZIP codes to compare.
get_fair_market_rentLook up HUD Fair Market Rent (FMR) rates for a geographic area by ZIP code, county FIPS, CBSA/metro code, or state FIPS. Returns monthly rent estimates by bedroom count (efficiency through 4-bedroom). Note: State-level queries return all ZIP-level FMR records within the state,...3 params

Look up HUD Fair Market Rent (FMR) rates for a geographic area by ZIP code, county FIPS, CBSA/metro code, or state FIPS. Returns monthly rent estimates by bedroom count (efficiency through 4-bedroom). Note: State-level queries return all ZIP-level FMR records within the state,...

Parameters* required
area_codestring
Area identifier — format depends on area_type
area_typestring
Geographic area type: zip (5-digit), county (5-digit FIPS), cbsa (CBSA/metro code), or state (2-digit FIPS)one of zip · county · cbsa · state
yearinteger
FMR fiscal year (default: latest available)
get_fmr_trendRetrieve Fair Market Rent data across multiple years for a single area. Returns an array of yearly FMR records with rent values by bedroom count. Supports ZIP, county, and CBSA area types. State-level trends are not supported because state queries return aggregated lists of ZI...4 params

Retrieve Fair Market Rent data across multiple years for a single area. Returns an array of yearly FMR records with rent values by bedroom count. Supports ZIP, county, and CBSA area types. State-level trends are not supported because state queries return aggregated lists of ZI...

Parameters* required
area_codestring
Area identifier — format depends on area_type
area_typestring
Geographic area type: zip, county, or cbsa (state is not supported for trends)one of zip · county · cbsa
end_yearinteger
Last year of the range (default: latest available)
start_yearinteger
First year of the range (default: earliest available)
get_mortgage_summaryRetrieve the mortgage lending summary for a single geographic area (census tract, county, or state) from HMDA data. Returns origination count, denial rate, median loan amount, median interest rate, loan purpose mix, and loan type mix (conventional, FHA, VA, USDA). Source: CFPB...3 params

Retrieve the mortgage lending summary for a single geographic area (census tract, county, or state) from HMDA data. Returns origination count, denial rate, median loan amount, median interest rate, loan purpose mix, and loan type mix (conventional, FHA, VA, USDA). Source: CFPB...

Parameters* required
area_typestring
Geographic level: tract (or census_tract), county, or stateone of tract · census_tract · county · state
geoidstring
FIPS code — 11 digits for tract, 5 for county, 2 for state
yearinteger
HMDA data year (default: most recent available)
get_mortgage_trendsRetrieve multi-year mortgage lending data for a single area across all available HMDA years. Returns an array of yearly summaries including origination count, denial rate, median loan amount, median interest rate, and loan purpose/type breakdowns. Source: CFPB/FFIEC HMDA.2 params

Retrieve multi-year mortgage lending data for a single area across all available HMDA years. Returns an array of yearly summaries including origination count, denial rate, median loan amount, median interest rate, and loan purpose/type breakdowns. Source: CFPB/FFIEC HMDA.

Parameters* required
area_typestring
Geographic level: tract (or census_tract), county, or stateone of tract · census_tract · county · state
geoidstring
FIPS code — 11 digits for tract, 5 for county, 2 for state
compare_mortgageCompare mortgage lending metrics across 2-5 geographic areas for a single HMDA data year. All areas must be the same geographic level (tract, county, or state). Returns side-by-side summaries including origination count, denial rate, median loan amount, and loan type/purpose b...3 params

Compare mortgage lending metrics across 2-5 geographic areas for a single HMDA data year. All areas must be the same geographic level (tract, county, or state). Returns side-by-side summaries including origination count, denial rate, median loan amount, and loan type/purpose b...

Parameters* required
area_typestring
Geographic level (must be same for all areas): tract (or census_tract), county, or stateone of tract · census_tract · county · state
geoidsarray
Array of 2-5 FIPS codes to compare
yearinteger
HMDA data year (default: most recent available)
get_migration_summaryRetrieve migration summary for a county or state showing aggregate inflows, outflows, and net migration. Returns net returns (positive = net in-migration, negative = net out-migration), net exemptions (proxy for people), and net AGI (adjusted gross income in thousands of dolla...3 params

Retrieve migration summary for a county or state showing aggregate inflows, outflows, and net migration. Returns net returns (positive = net in-migration, negative = net out-migration), net exemptions (proxy for people), and net AGI (adjusted gross income in thousands of dolla...

Parameters* required
fipsstring
FIPS code — 5 digits for county, 2 for state
levelstring
Geographic level: county or stateone of county · state
yearstring
Year pair (e.g., '2021-2022'). Defaults to most recent available.
get_migration_flowsRetrieve top inflow or outflow areas for a county or state, ranked by number of tax returns or AGI. Inflows show where people moved from (into this area); outflows show where people moved to (out of this area). Returns an array of flow records with FIPS, area name, returns, ex...6 params

Retrieve top inflow or outflow areas for a county or state, ranked by number of tax returns or AGI. Inflows show where people moved from (into this area); outflows show where people moved to (out of this area). Returns an array of flow records with FIPS, area name, returns, ex...

Parameters* required
directionstring
Flow direction: inflow (moved into area) or outflow (moved out of area)one of inflow · outflow
fipsstring
FIPS code — 5 digits for county, 2 for state
levelstring
Geographic level: county or stateone of county · state
limitinteger
Number of top flow areas to return (1-50, default: 10)
sortstring
Ranking metric: 'returns' (household count) or 'agi' (income). Default: 'returns'.one of returns · agi
yearstring
Year pair (e.g., '2021-2022'). Defaults to most recent available.
get_migration_trendsRetrieve migration summary data across all available year pairs for a county or state. Returns an array of yearly migration summaries sorted by year pair, each including net returns, net exemptions, net AGI, and inflow/outflow breakdowns. AGI values are in thousands of dollars...2 params

Retrieve migration summary data across all available year pairs for a county or state. Returns an array of yearly migration summaries sorted by year pair, each including net returns, net exemptions, net AGI, and inflow/outflow breakdowns. AGI values are in thousands of dollars...

Parameters* required
fipsstring
FIPS code — 5 digits for county, 2 for state
levelstring
Geographic level: county or stateone of county · state
get_employmentRetrieve employment data for a single geographic area. Returns total jobs, industry mix by NAICS sector, earnings distribution, and age breakdown. The 'perspective' parameter controls whether data reflects jobs physically located in the area (workplace, WAC data — default) or...4 params

Retrieve employment data for a single geographic area. Returns total jobs, industry mix by NAICS sector, earnings distribution, and age breakdown. The 'perspective' parameter controls whether data reflects jobs physically located in the area (workplace, WAC data — default) or...

Parameters* required
area_typestring
Geographic level: tract, county, or state.one of tract · county · state
geoidstring
FIPS code for the area — 11 digits for tract, 5 for county, 2 for state.
perspectivestring
workplace (jobs located in the area, default) or residence (jobs held by area residents).one of workplace · residence
yearinteger
Data year. Omit to use the most recent available year.
get_employment_trendRetrieve employment data across all available years for a single area. Returns an array of yearly metrics (total jobs, industry mix, earnings, age breakdown) ordered ascending by year. Use 'perspective' to choose workplace (default) or residence.3 params

Retrieve employment data across all available years for a single area. Returns an array of yearly metrics (total jobs, industry mix, earnings, age breakdown) ordered ascending by year. Use 'perspective' to choose workplace (default) or residence.

Parameters* required
area_typestring
Geographic level: tract, county, or state.one of tract · county · state
geoidstring
FIPS code for the area — 11 digits for tract, 5 for county, 2 for state.
perspectivestring
workplace (jobs located in the area, default) or residence (jobs held by area residents).one of workplace · residence
compare_employmentCompare employment data for multiple areas side by side (2-10 areas). All geoids must share the same area type. Returns per-area metrics including total jobs, industry mix, earnings, and age breakdown.4 params

Compare employment data for multiple areas side by side (2-10 areas). All geoids must share the same area type. Returns per-area metrics including total jobs, industry mix, earnings, and age breakdown.

Parameters* required
area_typestring
Geographic level shared by all geoids.one of tract · county · state
geoidsstring
Comma-separated FIPS codes to compare (2-10). All must match the specified area type.
perspectivestring
workplace (default) or residence.one of workplace · residence
yearinteger
Data year. Omit to use the most recent available year.
get_commute_flowsRetrieve commute flow (origin-destination) data for a county or state. Shows where workers come from (inbound) or where residents commute to (outbound). Returns top flow pairs with job counts and a 3-supersector industry breakdown (Goods Producing, Trade/Transport/Utilities, A...6 params

Retrieve commute flow (origin-destination) data for a county or state. Shows where workers come from (inbound) or where residents commute to (outbound). Returns top flow pairs with job counts and a 3-supersector industry breakdown (Goods Producing, Trade/Transport/Utilities, A...

Parameters* required
area_typestring
Geographic level: county or state (tract is not supported for flows).one of county · state
directionstring
inbound = where workers come from; outbound = where residents commute to.one of inbound · outbound
geoidstring
FIPS code — 5 digits for county, 2 for state.
limitinteger
Number of top flow pairs to return (1-100, default 25).
min_jobsinteger
Minimum job count threshold to include a flow pair (default 0).
yearinteger
Data year. Omit to use the most recent available year.
geocode_addressConvert a street address or place name into geographic coordinates. Returns up to 'limit' candidate results with coordinates, formatted address, address components, confidence score, and provider name. The optional 'country' parameter biases (but does not strictly filter) resu...3 params

Convert a street address or place name into geographic coordinates. Returns up to 'limit' candidate results with coordinates, formatted address, address components, confidence score, and provider name. The optional 'country' parameter biases (but does not strictly filter) resu...

Parameters* required
addressstring
The address or place name to geocode (minimum 3 characters).
countrystring
2-letter uppercase ISO 3166-1 country code to bias results (e.g., 'US'). Biases but does not strictly filter — results from other countries may appear.
limitinteger
Maximum number of results to return (1-10, default 5).
reverse_geocodeConvert a latitude/longitude coordinate pair into a street address. Returns the best-match formatted address, address components, and coordinates.2 params

Convert a latitude/longitude coordinate pair into a street address. Returns the best-match formatted address, address components, and coordinates.

Parameters* required
latitudenumber
Latitude in decimal degrees (-90 to 90).
longitudenumber
Longitude in decimal degrees (-180 to 180).

Sponsors

Configuration

LOC8N_API_KEY*secret

API key for the loc8n Geographic Data API

Readme

@gener8v/mcp-geographic-data

MCP server for the loc8n Geographic Data API. Exposes U.S. demographics, housing, mortgage, migration, employment, and geographic data as tools for any MCP-compatible client (Claude Desktop, Claude Code, Cursor, etc.).

Quick Start

npm install -g @gener8v/mcp-geographic-data

Set your API key:

export LOC8N_API_KEY="your-api-key"

Get a key at loc8n.com.

Usage

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "geographic-data": {
      "command": "mcp-geographic-data",
      "env": {
        "LOC8N_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "geographic-data": {
      "command": "mcp-geographic-data",
      "env": {
        "LOC8N_API_KEY": "your-api-key"
      }
    }
  }
}

Hosted SSE (no install required)

Connect any MCP-compatible client directly to the hosted server at mcp.loc8n.com. Pass your API key as a query parameter or Authorization header:


View the full README on GitHub

Details

Repository
github.com/gener8v/gener8v.mcp.geographic-data
Category
Data & Analytics
Package
@gener8v/mcp-geographic-data
Transport
STDIO, SSE
Auth
Required
Registry
MCP registry, active

Related Data & Analytics MCP servers

View all
1kroq86 avatarMini Data Engine Runtime Copilotkroq86/data-engineering-runtime-labMCP runtime copilot for health checks, regressions, explainability, and operational memory.0stars
2pipeworx-io avatarData Cityofchicagopipeworx-io/mcp-data-cityofchicagodata.cityofchicago.org Socrata MCP.0stars
3pipeworx-io avatarData Europapipeworx-io/mcp-data-europadata.europa.eu MCP — EU open-data hub.0stars
4pipeworx-io avatarData Gov Sgpipeworx-io/mcp-data-gov-sgdata.gov.sg MCP — Singapore open data + real-time environment/transport feeds0stars
5pipeworx-io avatarData Govt Nzpipeworx-io/mcp-data-govt-nzdata.govt.nz CKAN MCP.0stars
6pipeworx-io avatarEnergi Data Dkpipeworx-io/mcp-energi-data-dkEnergi Data Service (Energinet) MCP — Denmark's official open energy data. Keyless. Electricity…0stars