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.
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 paramsLook up full details for a single 5-digit US ZIP code, including city, state, county, timezone, coordinates, area codes, land/water area, and elevation.
zipCodestringsearch_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 paramsSearch for all ZIP codes in a given city and state. Returns the full list of matching ZIP codes with details.
citystringstatestringfind_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 paramsFind all ZIP codes within a given radius of a center ZIP code. Returns each nearby ZIP with its distance from the center.
sortstringdistance · zipdefault: distanceunitstringmiles · kilometersdefault: mileslimitintegerradiusnumberzipCodestringcalculate_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 paramsCalculate the distance between two ZIP codes using either the Haversine or Vincenty formula. Returns origin/destination details and the computed distance.
tostringfromstringunitstringmiles · kilometers · meters · feet · nautical_milesdefault: milesmethodstringhaversine · vincentydefault: haversinesearch_areasSearch for geographic areas by name across all boundary types (county, state, CBSA, census tract, ZIP). Uses trigram matching for fuzzy name search.3 paramsSearch for geographic areas by name across all boundary types (county, state, CBSA, census tract, ZIP). Uses trigram matching for fuzzy name search.
limitintegerquerystringtypesarrayget_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 paramsRetrieve 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.
area_codestringarea_typestringzip · county · state · place · cbsa · tractdata_yearintegerget_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 paramsRetrieve 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.
area_codestringarea_typestringzip · county · state · place · cbsa · tractdata_yearintegercategoriesarrayget_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 paramsRetrieve historical demographic data across multiple years for a single geographic area, useful for analysing population growth, income changes, or housing trends over time.
end_yearintegerarea_codestringarea_typestringzip · county · state · place · cbsa · tractstart_yearintegercompare_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 paramsCompare demographics side by side for two to ten ZIP codes. Returns each ZIP's demographic profile plus summary comparison ranges (population, income, housing).
data_yearintegerzip_codesarraycategoriesarrayget_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 paramsLook 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,...
yearintegerarea_codestringarea_typestringzip · county · cbsa · stateget_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 paramsRetrieve 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...
end_yearintegerarea_codestringarea_typestringzip · county · cbsastart_yearintegerget_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 paramsRetrieve 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...
yearintegergeoidstringarea_typestringtract · census_tract · county · stateget_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 paramsRetrieve 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.
geoidstringarea_typestringtract · census_tract · county · statecompare_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 paramsCompare 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...
yearintegergeoidsarrayarea_typestringtract · census_tract · county · stateget_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 paramsRetrieve 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...
fipsstringyearstringlevelstringcounty · stateget_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 paramsRetrieve 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...
fipsstringsortstringreturns · agiyearstringlevelstringcounty · statelimitintegerdirectionstringinflow · outflowget_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 paramsRetrieve 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...
fipsstringlevelstringcounty · stateget_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 paramsRetrieve 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...
yearintegergeoidstringarea_typestringtract · county · stateperspectivestringworkplace · residenceget_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 paramsRetrieve 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.
geoidstringarea_typestringtract · county · stateperspectivestringworkplace · residencecompare_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 paramsCompare 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.
yearintegergeoidsstringarea_typestringtract · county · stateperspectivestringworkplace · residenceget_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 paramsRetrieve 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...
yearintegergeoidstringlimitintegermin_jobsintegerarea_typestringcounty · statedirectionstringinbound · outboundgeocode_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 paramsConvert 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...
limitintegeraddressstringcountrystringreverse_geocodeConvert a latitude/longitude coordinate pair into a street address. Returns the best-match formatted address, address components, and coordinates.2 paramsConvert a latitude/longitude coordinate pair into a street address. Returns the best-match formatted address, address components, and coordinates.
latitudenumberlongitudenumberMCP 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.).
npm install -g @gener8v/mcp-geographic-data
Set your API key:
export LOC8N_API_KEY="your-api-key"
Get a key at loc8n.com.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"geographic-data": {
"command": "mcp-geographic-data",
"env": {
"LOC8N_API_KEY": "your-api-key"
}
}
}
}
Add to your project's .mcp.json:
{
"mcpServers": {
"geographic-data": {
"command": "mcp-geographic-data",
"env": {
"LOC8N_API_KEY": "your-api-key"
}
}
}
}
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:
SSE endpoint: https://mcp.loc8n.com/sse?apiKey=YOUR_API_KEY
Or with a Bearer token:
GET https://mcp.loc8n.com/sse
Authorization: Bearer YOUR_API_KEY
Each connection gets an isolated session — your API key is used for all requests and usage is tracked against your account.
Add to your Cursor MCP settings:
{
"mcpServers": {
"geographic-data": {
"url": "https://mcp.loc8n.com/sse?apiKey=YOUR_API_KEY"
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"geographic-data": {
"serverUrl": "https://mcp.loc8n.com/sse?apiKey=YOUR_API_KEY"
}
}
}
Run the server locally for development or custom deployments:
mcp-geographic-data --transport sse --port 3100
Endpoints:
http://localhost:3100/ssehttp://localhost:3100/messageshttp://localhost:3100/health| Tool | Description |
|---|---|
lookup_zip_code | Get details for a ZIP code (city, county, state, coordinates) |
search_zip_codes_by_city | Find ZIP codes for a city/state |
find_zip_codes_in_radius | Find ZIP codes within a radius of a point |
calculate_zip_code_distance | Calculate distance between two ZIP codes |
search_areas | Search counties, states, or metro areas by name |
| Tool | Description |
|---|---|
get_demographics | Full demographic profile (population, income, education, etc.) |
get_demographics_category | Single demographic category in detail |
get_demographics_trend | Year-over-year demographic trends |
compare_demographics | Side-by-side comparison of two areas |
| Tool | Description |
|---|---|
get_fair_market_rent | HUD Fair Market Rent by bedroom count |
get_fmr_trend | Fair Market Rent trends over time |
| Tool | Description |
|---|---|
get_mortgage_summary | HMDA mortgage origination summary |
get_mortgage_trends | Mortgage lending trends over time |
compare_mortgage | Side-by-side mortgage comparison of two areas |
| Tool | Description |
|---|---|
get_migration_summary | IRS SOI migration inflows/outflows |
get_migration_flows | Top origin/destination flows for an area |
get_migration_trends | Migration trends across year pairs |
| Tool | Description |
|---|---|
get_employment | LODES employment profile (jobs, sectors, wages) |
get_employment_trend | Employment trends over time |
compare_employment | Side-by-side employment comparison |
get_commute_flows | Top commute origins/destinations |
| Tool | Description |
|---|---|
geocode_address | Convert address to coordinates and FIPS codes |
reverse_geocode | Convert coordinates to address and area identifiers |
| URI | Description |
|---|---|
data://demographics/available-years | Available years for ACS demographics data |
data://fmr/available-years | Available years for HUD Fair Market Rent data |
data://mortgage/available-years | Available years for HMDA mortgage data |
data://migration/available-years | Available year pairs for IRS migration data |
data://employment/available-years | Available years for LODES employment data |
data://tiers | Subscription tier definitions and permissions |
data://auth/context | Current API key tier, permissions, and rate limits |
| Variable | Required | Default | Description |
|---|---|---|---|
LOC8N_API_KEY | Yes | — | API key for the loc8n Geographic Data API |
LOC8N_API_BASE_URL | No | https://api.loc8n.com | API base URL |
mcp-geographic-data [options]
--transport <stdio|sse> Transport protocol (default: stdio)
--port <number> Port for SSE transport (default: 3100)
--help, -h Show help
MIT
LOC8N_API_KEY*secretAPI key for the loc8n Geographic Data API
com.mcparmory/google-sheets
domdomegg/google-sheets-mcp
henilcalagiya/google-sheets-mcp
cct15/war-dashboard-data
moooonad/mcp-google-sheets-full
io.github.br0ski777/csv-to-json