Server definition
- Hash
- sha256:7e88102c884037e587e209edaf38e313c6eb64de4c49252912206086f7c11a09
- What it is
- What a remote MCP server returned when asked what it offers: 22 tools
The blob, as servednamed by its sha256
{
"instructions": "ZipExplore provides location intelligence for US ZIP codes across 12 data domains: demographics, climate, tax, crime, cost of living, voting, education, healthcare, business, air quality, disaster risk, and transit. Start with search_zips to find ZIPs matching criteria, get_zip_profile for full detail on a specific ZIP, or get_search_fields to discover searchable fields. For data interpretation guidance — quality flag definitions, known limitations, data vintages, and reasoning guardrails (how to avoid over-reading correlations or drawing people-level conclusions from geographic data) — read the resource at zipexplore://methodology.",
"tools": [
{
"description": "Side-by-side full profiles for 2–5 ZIP codes. Use when the user has\n finalists and needs to choose between them. Returns the same profile\n shape as get_zip_profile for each ZIP.\n ",
"inputSchema": {
"properties": {
"zips": {
"items": {
"type": "string"
},
"title": "Zips",
"type": "array"
}
},
"required": [
"zips"
],
"title": "compare_zipsArguments",
"type": "object"
},
"name": "compare_zips",
"outputSchema": null
},
{
"description": "Detailed air quality data for one ZIP code. Use when get_zip_profile's\n air quality section isn't sufficient depth. Includes EPA AQS pollutant\n levels (PM2.5, PM10, ozone, NO2, SO2, CO) and AQI summary.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_air_quality_profileArguments",
"type": "object"
},
"name": "get_air_quality_profile",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"slug": {
"title": "Slug",
"type": "string"
}
},
"required": [
"slug"
],
"title": "get_articleArguments",
"type": "object"
},
"name": "get_article",
"outputSchema": null
},
{
"description": "Detailed business and employment data for one ZIP code. Use when\n get_zip_profile's business section isn't sufficient depth. Includes\n top industries, sector breakdowns, total establishments, employment,\n and annual payroll from Census BDS/CBP data.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_business_profileArguments",
"type": "object"
},
"name": "get_business_profile",
"outputSchema": null
},
{
"description": "Detailed Census / demographics data for one ZIP code. Use when\n get_zip_profile's demographics section isn't sufficient depth.\n Includes population, housing, income distribution, education attainment,\n economic indicators, internet access, and public assistance rates.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_census_profileArguments",
"type": "object"
},
"name": "get_census_profile",
"outputSchema": null
},
{
"description": "Detailed cost of living data for one ZIP code. Use when get_zip_profile's\n cost section isn't sufficient depth. Includes fair market rents, housing\n cost burden, regional price indices, and affordability metrics.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_cost_profileArguments",
"type": "object"
},
"name": "get_cost_profile",
"outputSchema": null
},
{
"description": "Detailed crime data for one ZIP code. Use when get_zip_profile's crime\n section isn't sufficient depth. Includes violent crime rate, property\n crime rate, and data quality flags (coverage level, Bayesian shrinkage).\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_crime_profileArguments",
"type": "object"
},
"name": "get_crime_profile",
"outputSchema": null
},
{
"description": "Detailed natural disaster risk data for one ZIP code. Use when\n get_zip_profile's disaster risk section isn't sufficient depth. Includes\n FEMA NRI overall risk score, individual hazard scores (hurricane, tornado,\n earthquake, wildfire, flood, etc.), and expected annual loss estimates.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_disaster_risk_profileArguments",
"type": "object"
},
"name": "get_disaster_risk_profile",
"outputSchema": null
},
{
"description": "Detailed school data for one ZIP code. Use when get_zip_profile's\n education section isn't sufficient depth. Includes school counts,\n student-teacher ratios, graduation rates, per-pupil spending, Title I\n percentage, and budget breakdown (instruction vs. admin vs. capital).\n May reflect data from the nearest ZIP if no schools are in this ZIP.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_education_profileArguments",
"type": "object"
},
"name": "get_education_profile",
"outputSchema": null
},
{
"description": "Detailed healthcare data for one ZIP code. Use when get_zip_profile's\n healthcare section isn't sufficient depth. Includes hospital count and\n ratings, nursing homes, beds per capita, primary care and mental health\n shortage area designations, pharmacy count, and urgent care count.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_healthcare_profileArguments",
"type": "object"
},
"name": "get_healthcare_profile",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {},
"title": "get_methodologyArguments",
"type": "object"
},
"name": "get_methodology",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {},
"title": "get_researchArguments",
"type": "object"
},
"name": "get_research",
"outputSchema": null
},
{
"description": "Lists every field name, type, and description available for search\n criteria. Call this when you're unsure what field names to pass to\n search_zips, or when the user asks what data ZipExplore has.\n ",
"inputSchema": {
"properties": {},
"title": "get_search_fieldsArguments",
"type": "object"
},
"name": "get_search_fields",
"outputSchema": null
},
{
"description": "Detailed tax data for one ZIP code. Use when get_zip_profile's tax\n section isn't sufficient depth. Includes state income tax, sales tax,\n property tax effective rates, excise taxes, and IRS income statistics.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_tax_profileArguments",
"type": "object"
},
"name": "get_tax_profile",
"outputSchema": null
},
{
"description": "Detailed public transit data for one ZIP code. Use when get_zip_profile's\n transit section isn't sufficient depth. Includes bus stop count, subway\n station count, rail station count, light rail count, ferry terminal count,\n total transit stops, transit commute percentage, and nearest subway/rail\n distances.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_transit_profileArguments",
"type": "object"
},
"name": "get_transit_profile",
"outputSchema": null
},
{
"description": "Detailed voting and political data for one ZIP code. Use when\n get_zip_profile's voting section isn't sufficient depth. Includes\n presidential election results, partisan lean, congressional and\n state legislative districts, and state officials.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_voting_profileArguments",
"type": "object"
},
"name": "get_voting_profile",
"outputSchema": null
},
{
"description": "Detailed climate data for one ZIP code. Use when get_zip_profile's\n climate section isn't sufficient depth. Includes annual/monthly temperature\n averages, precipitation, humidity, and nearest weather station info.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_weather_profileArguments",
"type": "object"
},
"name": "get_weather_profile",
"outputSchema": null
},
{
"description": "Get the latitude/longitude centroid for one or more ZIP codes (max 200).\n Use when you need map coordinates for a set of ZIPs.\n ",
"inputSchema": {
"properties": {
"zips": {
"items": {
"type": "string"
},
"title": "Zips",
"type": "array"
}
},
"required": [
"zips"
],
"title": "get_zip_centroidsArguments",
"type": "object"
},
"name": "get_zip_centroids",
"outputSchema": null
},
{
"description": "Full location profile for one ZIP code across all 12 data domains:\n demographics, climate, tax, crime, cost of living, voting, education,\n healthcare, business, air quality, disaster risk, and transit. Use this\n to get detail on a ZIP after search, or when the user asks about a\n specific ZIP. For deeper data on one domain, use the domain-specific tools.\n ",
"inputSchema": {
"properties": {
"zip": {
"title": "Zip",
"type": "string"
}
},
"required": [
"zip"
],
"title": "get_zip_profileArguments",
"type": "object"
},
"name": "get_zip_profile",
"outputSchema": null
},
{
"description": "Returns server status and tool/resource counts. Use this to verify the ZipExplore MCP connection is live.",
"inputSchema": {
"properties": {},
"title": "pingArguments",
"type": "object"
},
"name": "ping",
"outputSchema": null
},
{
"description": "Convert a latitude/longitude coordinate to a ZIP code. Use when the\n user provides an address or map coordinates rather than a ZIP code.\n ",
"inputSchema": {
"properties": {
"lat": {
"title": "Lat",
"type": "number"
},
"lon": {
"title": "Lon",
"type": "number"
}
},
"required": [
"lat",
"lon"
],
"title": "reverse_geocodeArguments",
"type": "object"
},
"name": "reverse_geocode",
"outputSchema": null
},
{
"description": "Find ZIP codes matching one or more criteria. Returns a ranked list with\n scores. Use this first when the user wants recommendations (e.g. \"find a\n low-crime suburb near Denver\"). Call get_search_fields first if you're\n unsure what field names to use.\n\n criteria: list of {\"field\": str, \"level\": \"low\"|\"medium\"|\"high\"}\n area_types: \"CITY\" | \"SUBURB\" | \"SMALL_TOWN\" | \"RURAL\"\n regions: \"northeast\" | \"southeast\" | \"midwest\" | \"southwest\" | \"west\"\n ",
"inputSchema": {
"properties": {
"area_types": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Area Types"
},
"criteria": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Criteria",
"type": "array"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
},
"minimum_completeness": {
"default": 0.7,
"title": "Minimum Completeness",
"type": "number"
},
"regions": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Regions"
},
"states": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "States"
}
},
"required": [
"criteria"
],
"title": "search_zipsArguments",
"type": "object"
},
"name": "search_zips",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:7e88102c884037e587e209edaf38e313c6eb64de4c49252912206086f7c11a09 | sha256sum