Skip to content

io.github.andrew-sondgeroth/zipexplore-mcp

by andrew-sondgeroth · remote · no sign-in to list tools · v1.0.0 · published by GitHub user andrew-sondgeroth

US ZIP code intelligence: demographics, weather, tax, crime, housing, voting, and more.

Changes · 1

22 tools: 1 change things and 21 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http zipexplore https://mcp.zipexplore.com/mcp --header 'x-api-key: <your-x-api-key>'

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

22 tools

Changes things 1Claude Code: ask
  • reverse_geocodeConvert a latitude/longitude coordinate to a ZIP code.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert a latitude/longitude coordinate to a ZIP code. Use when the user provides an address or map coordinates rather than a ZIP code.
Only reads 21Claude Code: allow
  • compare_zipsSide-by-side full profiles for 2–5 ZIP codes.No findings

    Why it is in this group

    • The name "compare_zips" says "compare": a word for reading.
    Description, as the server wrote it
    Side-by-side full profiles for 2–5 ZIP codes. Use when the user has finalists and needs to choose between them. Returns the same profile shape as get_zip_profile for each ZIP.
  • get_air_quality_profileDetailed air quality data for one ZIP code.No findings

    Why it is in this group

    • The name "get_air_quality_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed air quality data for one ZIP code. Use when get_zip_profile's air quality section isn't sufficient depth. Includes EPA AQS pollutant levels (PM2.5, PM10, ozone, NO2, SO2, CO) and AQI summary.
  • get_articleReturns the full prose of a specific ZipExplore research article.No findings

    Why it is in this group

    • The name "get_article" says "get": a word for reading.
    Description, as the server wrote it
    Returns the full prose of a specific ZipExplore research article. Use this for editing, fact-checking, detailed analysis, or when get_research summaries aren't enough. Valid slugs: disappearing-towns, hazard-premium, snap-economy, wealthy-retirees. Each article includes all body sections and methodology notes exactly as published.
  • get_business_profileDetailed business and employment data for one ZIP code.No findings

    Why it is in this group

    • The name "get_business_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed business and employment data for one ZIP code. Use when get_zip_profile's business section isn't sufficient depth. Includes top industries, sector breakdowns, total establishments, employment, and annual payroll from Census BDS/CBP data.
  • get_census_profileDetailed Census / demographics data for one ZIP code.No findings

    Why it is in this group

    • The name "get_census_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed Census / demographics data for one ZIP code. Use when get_zip_profile's demographics section isn't sufficient depth. Includes population, housing, income distribution, education attainment, economic indicators, internet access, and public assistance rates.
  • get_cost_profileDetailed cost of living data for one ZIP code.No findings

    Why it is in this group

    • The name "get_cost_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed cost of living data for one ZIP code. Use when get_zip_profile's cost section isn't sufficient depth. Includes fair market rents, housing cost burden, regional price indices, and affordability metrics.
  • get_crime_profileDetailed crime data for one ZIP code.No findings

    Why it is in this group

    • The name "get_crime_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed crime data for one ZIP code. Use when get_zip_profile's crime section isn't sufficient depth. Includes violent crime rate, property crime rate, and data quality flags (coverage level, Bayesian shrinkage).
  • get_disaster_risk_profileDetailed natural disaster risk data for one ZIP code.No findings

    Why it is in this group

    • The name "get_disaster_risk_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed natural disaster risk data for one ZIP code. Use when get_zip_profile's disaster risk section isn't sufficient depth. Includes FEMA NRI overall risk score, individual hazard scores (hurricane, tornado, earthquake, wildfire, flood, etc.), and expected annual loss estimates.
  • get_education_profileDetailed school data for one ZIP code.No findings

    Why it is in this group

    • The name "get_education_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed school data for one ZIP code. Use when get_zip_profile's education section isn't sufficient depth. Includes school counts, student-teacher ratios, graduation rates, per-pupil spending, Title I percentage, and budget breakdown (instruction vs. admin vs. capital). May reflect data from the nearest ZIP if no schools are in this ZIP.
  • get_healthcare_profileDetailed healthcare data for one ZIP code.No findings

    Why it is in this group

    • The name "get_healthcare_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed healthcare data for one ZIP code. Use when get_zip_profile's healthcare section isn't sufficient depth. Includes hospital count and ratings, nursing homes, beds per capita, primary care and mental health shortage area designations, pharmacy count, and urgent care count.
  • get_methodologyReturns ZipExplore's data interpretation guide: reasoning guardrails (associations vs.No findings

    Why it is in this group

    • The name "get_methodology" says "get": a word for reading.
    Description, as the server wrote it
    Returns ZipExplore's data interpretation guide: reasoning guardrails (associations vs. causes, small-ZIP noise, averages hiding distributions, editorial score weights, drawing conclusions about people from geographic data), quality flag definitions, known data limitations, coverage gap explanations, and per-domain vintage summary. Call this when you have questions about data quality, what a quality_flag code means, why a ZIP has no data, or how to reason carefully about scores and correlations.
  • get_researchReturns ZipExplore's published research articles — original data findings on topics including disaster risk vs.No findings

    Why it is in this group

    • The name "get_research" says "get": a word for reading.
    Description, as the server wrote it
    Returns ZipExplore's published research articles — original data findings on topics including disaster risk vs. housing costs (the Hazard Premium), food insecurity in fully-employed communities (SNAP economy), economically declining towns vs. retirement communities, and income variation among America's oldest ZIP codes. Each entry includes the key finding, specific quantitative results, caveats, and a URL to the full article. Call this when a user asks about these topics or when published findings would add context to a live data lookup.
  • get_search_fieldsLists every field name, type, and description available for search criteria.No findings

    Why it is in this group

    • The name "get_search_fields" says "get": a word for reading.
    Description, as the server wrote it
    Lists every field name, type, and description available for search criteria. Call this when you're unsure what field names to pass to search_zips, or when the user asks what data ZipExplore has.
  • get_tax_profileDetailed tax data for one ZIP code.No findings

    Why it is in this group

    • The name "get_tax_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed tax data for one ZIP code. Use when get_zip_profile's tax section isn't sufficient depth. Includes state income tax, sales tax, property tax effective rates, excise taxes, and IRS income statistics.
  • get_transit_profileDetailed public transit data for one ZIP code.No findings

    Why it is in this group

    • The name "get_transit_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed public transit data for one ZIP code. Use when get_zip_profile's transit section isn't sufficient depth. Includes bus stop count, subway station count, rail station count, light rail count, ferry terminal count, total transit stops, transit commute percentage, and nearest subway/rail distances.
  • get_voting_profileDetailed voting and political data for one ZIP code.No findings

    Why it is in this group

    • The name "get_voting_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed voting and political data for one ZIP code. Use when get_zip_profile's voting section isn't sufficient depth. Includes presidential election results, partisan lean, congressional and state legislative districts, and state officials.
  • get_weather_profileDetailed climate data for one ZIP code.No findings

    Why it is in this group

    • The name "get_weather_profile" says "get": a word for reading.
    Description, as the server wrote it
    Detailed climate data for one ZIP code. Use when get_zip_profile's climate section isn't sufficient depth. Includes annual/monthly temperature averages, precipitation, humidity, and nearest weather station info.
  • get_zip_centroidsGet the latitude/longitude centroid for one or more ZIP codes (max 200).No findings

    Why it is in this group

    • The name "get_zip_centroids" says "get": a word for reading.
    Description, as the server wrote it
    Get the latitude/longitude centroid for one or more ZIP codes (max 200). Use when you need map coordinates for a set of ZIPs.
  • get_zip_profileFull location profile for one ZIP code across all 12 data domains: demographics, climate, tax, crime, cost of living, voting, education, healthcare, business, air quality, disaster…No findings

    Why it is in this group

    • The name "get_zip_profile" says "get": a word for reading.
    Description, as the server wrote it
    Full location profile for one ZIP code across all 12 data domains: demographics, climate, tax, crime, cost of living, voting, education, healthcare, business, air quality, disaster risk, and transit. Use this to get detail on a ZIP after search, or when the user asks about a specific ZIP. For deeper data on one domain, use the domain-specific tools.
  • pingReturns server status and tool/resource counts.No findings

    Why it is in this group

    • The name "ping" says "ping": a word for reading.
    Description, as the server wrote it
    Returns server status and tool/resource counts. Use this to verify the ZipExplore MCP connection is live.
  • search_zipsFind ZIP codes matching one or more criteria.No findings

    Why it is in this group

    • The name "search_zips" says "search": a word for reading.
    Description, as the server wrote it
    Find ZIP codes matching one or more criteria. Returns a ranked list with scores. Use this first when the user wants recommendations (e.g. "find a low-crime suburb near Denver"). Call get_search_fields first if you're unsure what field names to use. criteria: list of {"field": str, "level": "low"|"medium"|"high"} area_types: "CITY" | "SUBURB" | "SMALL_TOWN" | "RURAL" regions: "northeast" | "southeast" | "midwest" | "southwest" | "west"

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http zipexplore https://mcp.zipexplore.com/mcp --header 'x-api-key: <your-x-api-key>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__zipexplore__get_article",
      "mcp__zipexplore__ping",
      "mcp__zipexplore__get_methodology",
      "mcp__zipexplore__get_research",
      "mcp__zipexplore__search_zips",
      "mcp__zipexplore__get_zip_profile",
      "mcp__zipexplore__compare_zips",
      "mcp__zipexplore__get_search_fields",
      "mcp__zipexplore__get_census_profile",
      "mcp__zipexplore__get_zip_centroids",
      "mcp__zipexplore__get_weather_profile",
      "mcp__zipexplore__get_tax_profile",
      "mcp__zipexplore__get_crime_profile",
      "mcp__zipexplore__get_cost_profile",
      "mcp__zipexplore__get_voting_profile",
      "mcp__zipexplore__get_education_profile",
      "mcp__zipexplore__get_healthcare_profile",
      "mcp__zipexplore__get_business_profile",
      "mcp__zipexplore__get_air_quality_profile",
      "mcp__zipexplore__get_disaster_risk_profile",
      "mcp__zipexplore__get_transit_profile"
    ],
    "ask": [
      "mcp__zipexplore__reverse_geocode"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as zipexplore. Review it before you use it.