Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Homecastr MCP

NPM · HOMECASTR-MCP-SERVER · SCANNED SEP 22

U.S. property forecasts, public benchmarks, and permit or environmental context through MCP.

0 this week 79 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 99 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
  • Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 53 days ago).Pass
  • Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability78
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 6633 tokens (~138/item across 48 items; 48 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 48 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 49 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Homecastr MCP server?

Homecastr MCP runs locally as an npm package, launched with npx -y homecastr-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · homecastr-mcp-server

# add to Claude Code
claude mcp add dhardestylewis-homecastr -- npx -y homecastr-mcp-server
// .cursor/mcp.json
{
  "mcpServers": {
    "dhardestylewis-homecastr": {
      "command": "npx",
      "args": [
        "-y",
        "homecastr-mcp-server"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "dhardestylewis-homecastr": {
      "command": "npx",
      "args": [
        "-y",
        "homecastr-mcp-server"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add dhardestylewis-homecastr -- npx -y homecastr-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dhardestylewis-homecastr": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "homecastr-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add dhardestylewis-homecastr --command npx --arg -y --arg homecastr-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  dhardestylewis-homecastr:
    command: "npx"
    args: ["-y", "homecastr-mcp-server"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "dhardestylewis-homecastr": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "homecastr-mcp-server"
      ]
    }
  }
}
# add to Vellum
assistant mcp add dhardestylewis-homecastr -t stdio -c npx -a -y homecastr-mcp-server
// mcp.json
{
  "mcpServers": {
    "dhardestylewis-homecastr": {
      "command": "npx",
      "args": [
        "-y",
        "homecastr-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 22 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 16 Sept 26 0
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 22 Sept 2026 · Analysed npm/homecastr-mcp-server@1.14.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 99 packages
Packages resolved 99
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 48 exposed · ~6,507 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
forecast_by_address ~96

Get probabilistic home value forecasts for a US street address. Returns P10/P50/P90 bands, appreciation %, reliability score, and 5-year fan chart. Best coverage: Houston metro area.

NameTypeReqDescription
addressstringyesUS street address, e.g. '5000 Westheimer Rd Houston TX 77056'
yearnumberTarget forecast year (2026-2030, default: 2030)
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

forecast_by_county ~107

Get county-level probabilistic forecasts by 5-digit FIPS code. Nationwide coverage. Use for market-level analysis or when you have a county FIPS but not a specific parcel.

NameTypeReqDescription
fipsstringyes5-digit county FIPS (state 2 + county 3). Harris County TX=48201, LA County=06037, Manhattan=36061, Miami-Dade=12086, Cook County IL=17031, King County WA=53033.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

forecast_by_h3_cell ~89

Get neighborhood-level forecasts by H3 hex cell ID at resolution 8. Houston metro only. Prefer forecast_by_tabblock or forecast_by_tract for new integrations.

NameTypeReqDescription
h3_idstringyesH3 cell ID at resolution 8, e.g. '882a100c65fffff'
yearnumberTarget forecast year (default: 2026)
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

forecast_by_parcel ~90

Get lot-level probabilistic forecasts by county tax parcel account number. Coverage: Florida statewide + Houston metro. Returns P10/P25/P50/P75/P90 fan chart across 1-5 year horizons.

NameTypeReqDescription
acctstringyesCounty tax parcel account number. Florida: dash-separated (e.g. '00404328020003500'). Houston HCAD: 10-13 digits.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

forecast_by_state ~98

Get state-level probabilistic forecasts by 2-digit FIPS code. All 50 US states covered. Use for macro market comparison or top-of-funnel market selection.

NameTypeReqDescription
fipsstringyes2-digit state FIPS. TX=48, FL=12, NY=36, CA=06, IL=17, WA=53, TX=48. Get all states by calling retrieve_all() in the Python SDK.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

forecast_by_tabblock ~88

Get sub-neighborhood probabilistic forecasts by US Census tabulation block GEOID20 (15 digits). Coverage: NYC (32K tabblocks) and Houston metro (34K tabblocks). Highest geographic resolution available.

NameTypeReqDescription
geoidstringyes15-digit Census GEOID20. NYC example: '360050002000001'. Houston example: '480717106001022'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

forecast_by_tract ~95

Get neighborhood-level probabilistic forecasts by US Census tract GEOID20 (11 digits). Coverage: Florida + Houston via jurisdiction model; all ~82K US tracts via ACS nationwide model. Use for cross-market analysis.

NameTypeReqDescription
geoidstringyes11-digit Census tract GEOID20. Houston example: '48201231400'. Manhattan: '36061023100'. Miami: '12086000100'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

forecast_by_unit ~130

Get individual unit-level forecasts by assessor account number. This is the finest resolution available; covers individual condo units, SFRs, and townhouses. Use include_siblings=true to get all units in the same condo building. Coverage: Florida statewide + Houston metro.

NameTypeReqDescription
acctstringyesAssessor account number. FL DOR: '00404328020003500'. Houston HCAD: 10-13 digit account.
include_siblingsbooleanIf true and unit is a condo, also return all sibling units in the same building (condo_group). Default: false.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

forecast_by_zcta ~120

Get ZIP-level probabilistic forecasts by 5-digit ZCTA. Coverage: ~20,000 ZCTAs nationwide via ACS model with 6-year horizon (0-72 months). Use for quick cross-market ZIP-level comparisons.

NameTypeReqDescription
zctastringyes5-digit ZCTA / ZIP code. Examples: '77056' (Houston), '10001' (Manhattan), '94110' (SF Mission), '60614' (Chicago Lincoln Park), '33101' (Miami), '98101' (Seattle).
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

forecast_by_zip3 ~91

Get ZIP3-level forecasts (first 3 digits of ZIP code). 6,210 areas nationwide. Good mid-size geography between ZIP and county for regional market comparisons.

NameTypeReqDescription
zip3stringyesFirst 3 digits of ZIP code. Houston=770, Manhattan=100, Miami=331, Chicago=606, SF=941, Seattle=981, LA=900, Boston=021.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_analytics_events ~121

Query product event analytics: aggregated counts by event type and page, plus recent raw events (PII stripped). Use for understanding feature usage patterns and user engagement. Requires a non-demo API key.

NameTypeReqDescription
daysnumberLookback window in days (1-90, default 7).
event_namestringFilter by event type, e.g. map_viewport_load, address_search, forecast_card_viewed.
page_pathstringFilter by URL path, e.g. /map, /forecast/48201.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_backtest_scores ~88

Retrieve public-safe benchmark score summaries such as model-vs-persistence tables. Returns asset IDs, artifact IDs, model version labels, and per-target score rows.

NameTypeReqDescription
benchmark_idstringOptional benchmark identifier, e.g. 'acs_cutoff2016_horizon8_maricopa_realized_acs'.
targetstringOptional target filter such as 'total_population'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_benchmark_dataset ~81

Get the catalog entry for one Homecastr public-data or benchmark asset by asset_id. Use this to discover the right REST path before calling vintages, backtests, or source manifests.

NameTypeReqDescription
asset_idstringyesStable Homecastr asset identifier, e.g. 'backtest.public_vintage_oeo_maricopa_2022'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_benchmark_result ~82

Get one canonical benchmark result by benchmark_id. Returns standardized score rows, evaluation cutoff metadata, reproducibility references, and benchmark-only labeling.

NameTypeReqDescription
benchmark_idstringyesCanonical benchmark identifier such as 'acs_cutoff2016_horizon8_maricopa_realized_acs'.
targetstringOptional target filter such as 'total_population'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_census_bps_county_monthly ~236

Query normalized Census Building Permits Survey county-month rows from Homecastr's public R2-backed permit surface. Use for independently verifiable county permit totals, monthly settlement checks, and builder/market data workflows.

NameTypeReqDescription
county_fipsstringOptional 5-digit county FIPS, e.g. '48201' for Harris County, TX.
historybooleanIf true, returns a county time series across available partitions. Requires county_fips.
kindstringCensus BPS file kind. Defaults to current_month.
limitnumberMaximum rows to return, capped at 5000. Defaults to 100.
monthnumberOptional survey month, 1-12. Supply together with year unless history=true.
state_fipsstringOptional 2-digit state FIPS filter, e.g. '48' for Texas.
summarybooleanIf true, returns manifest and partition metadata without row payloads.
yearnumberOptional four-digit survey year. Supply together with month unless history=true.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_county_outlook ~107

Get pre-computed county-level outlook metrics: median appreciation, highest-upside estimate, median home value, and a value trajectory array. Updated weekly from ML forecasts. Use for quick county market summaries.

NameTypeReqDescription
fipsstringyes5-digit county FIPS (state 2 + county 3). Harris County TX=48201, LA County=06037, Miami-Dade=12086, Cook County IL=17031, King County WA=53033.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_data_artifact ~77

Get metadata for one reviewed public artifact by artifact_id. Returns format, media type, owner asset, retrieval metadata, and the canonical download path.

NameTypeReqDescription
artifact_idstringyesArtifact identifier such as 'public-data.full_data_surface_matrix_tsv' or 'benchmark.public_vintage_oeo_maricopa_2022_csv'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_data_asset ~70

Get one canonical data-asset record by asset_id. Returns surface coverage, canonical contracts, provenance, access policy, and related artifact or provenance links.

NameTypeReqDescription
asset_idstringyesCanonical data asset identifier, e.g. 'forecast.tract_home_value' or 'context.census_acs'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_data_coverage ~66

Summarize source, panel, source-to-geography index, and coverage-map posture across the source inventory. Returns counts by tier, status, family, geography, resolution, license status, panel lineage, coverage geometry role, native-boundary status, and top coverage-map regions.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_data_schema ~55

Get one canonical schema definition by schema_id, including its JSON Schema definition and the data families or assets that reference it.

NameTypeReqDescription
schema_idstringyesCanonical schema identifier, e.g. 'hc.dataset_asset.v1'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_data_source ~71

Get one original data source by source_id, including official outbound URLs, source family, panel links, provenance metadata, and access policy.

NameTypeReqDescription
source_idstringyesCanonical source identifier such as 'source.hcad_houston.assessor' or 'census.building_permits.county_month'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_entity ~124

Get canonical metadata for one geography entity such as a tract, county, ZCTA, state, or tabblock. Returns normalized IDs, labels, parent hierarchy, and source asset links.

NameTypeReqDescription
entity_idstringyesCanonical entity identifier such as '48201231400' for a tract, '48201' for a county, '77056' for a ZCTA, or '48' for a state.
entity_typestringOptional explicit entity type such as 'tract', 'county', 'zcta', 'state', or 'tabblock'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_epa_echo_npdes_outfalls ~338

Query normalized EPA ECHO ICIS-NPDES outfall, facility, permit-status, and compliance context rows from Homecastr's public R2-backed environmental permit surface. Use for construction stormwater, wastewater, waterbody, permit-component, and current-violation screening; full ICIS limits, effluent, and violation tables still need separate normalization before settlement use.

NameTypeReqDescription
componentstringOptional permit component text filter, e.g. 'Construction Stormwater', 'Industrial Stormwater', 'POTW', 'CSO', or 'CAFO'.
current_violationbooleanOptional current violation flag.
cwa_statusstringOptional Clean Water Act status text filter, e.g. 'Violation Identified' or 'No Violation Identified'.
limitnumberMaximum outfall rows to return, capped at 5000. Defaults to 100.
permit_idstringOptional exact NPDES permit identifier. If state is omitted, the first two permit characters are used as the state partition.
statestringOptional 2-character permit state prefix, e.g. 'TX', 'GA', 'WV', or 'CA'. Required unless permit_id or summary=true is supplied.
statusstringOptional permit status code or text filter, e.g. 'EFF', 'Effective', 'Admin Continued', or 'Terminated'.
summarybooleanIf true, returns manifest and partition metadata without row payloads.
with_coordinatesbooleanIf true, return only rows with latitude and longitude.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_epa_echo_npdes_sewer_overflow_history ~302

Query normalized EPA ECHO NPDES all-version sewer overflow and bypass event rows from Homecastr's public R2-backed environmental permit surface. Use for amendment/replacement history by permit, state, year, event type, volume, current-report flag, and replacing payload IDs; add refresh/checksum policy before autonomous settlement.

NameTypeReqDescription
current_onlybooleanIf true, return only rows where EPA marks the report form as current.
event_typestringOptional event type text filter, e.g. 'Sanitary Sewer Overflow', 'Combined Sewer Overflow', or 'Bypass'.
include_replacedbooleanIf false, exclude replaced or non-current report versions. Defaults to true.
limitnumberMaximum event-version rows to return, capped at 5000. Defaults to 100.
min_volume_gallonsnumberOptional minimum reported discharge volume in gallons.
permit_idstringOptional exact NPDES permit identifier.
statestringOptional 2-character permit state prefix, e.g. 'IL', 'GA', 'PR', or 'TX'.
summarybooleanIf true, returns manifest and count metadata without row payloads.
with_coordinatesbooleanIf true, return only events with latitude and longitude.
yearnumberOptional event year based on event start datetime or report start date.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_epa_echo_npdes_sewer_overflows ~245

Query normalized EPA ECHO NPDES current sewer overflow and bypass event rows from Homecastr's public R2-backed environmental permit surface. Use for event context by permit, state, year, event type, volume, and coordinates; add refresh/checksum policy before autonomous settlement.

NameTypeReqDescription
event_typestringOptional event type text filter, e.g. 'Sanitary Sewer Overflow', 'Combined Sewer Overflow', or 'Bypass'.
limitnumberMaximum events to return, capped at 5000. Defaults to 100.
min_volume_gallonsnumberOptional minimum reported discharge volume in gallons.
permit_idstringOptional exact NPDES permit identifier.
statestringOptional 2-character permit state prefix, e.g. 'IL', 'GA', 'PR', or 'TX'.
summarybooleanIf true, returns manifest and count metadata without row payloads.
with_coordinatesbooleanIf true, return only events with latitude and longitude.
yearnumberOptional event year based on event start datetime or report start date.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_epa_echo_npdes_violations ~351

Query normalized EPA ECHO ICIS-NPDES non-effluent violation rows from Homecastr's public R2-backed environmental permit surface. Use for permit-schedule, compliance-schedule, and single-event violation context by permit, state, year, violation code, RNC status, and linked-enforcement counts; full effluent violations, limits, and detailed enforcement action expansion still need separate normalization before settlement use.

NameTypeReqDescription
categorystringOptional violation category: permit_schedule, compliance_schedule, or single_event.
has_linked_enforcementbooleanIf true, return only violation rows linked to one or more enforcement-action rows; if false, return only rows without linked enforcement.
limitnumberMaximum violation rows to return, capped at 5000. Defaults to 100.
permit_idstringOptional exact NPDES permit identifier. If state is omitted, the first two permit characters are used as the state partition.
rnc_detection_codestringOptional RNC detection code filter.
rnc_resolution_codestringOptional RNC resolution code filter.
statestringOptional 2-character permit state prefix, e.g. 'TX', 'IL', 'MO', or 'NY'. Required unless permit_id or summary=true is supplied.
summarybooleanIf true, returns manifest and partition metadata without row payloads.
violation_codestringOptional ICIS violation code filter, e.g. 'A0011' or 'C40'.
yearnumberOptional calendar year based on the violation, schedule, RNC detection, or actual date.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_fast41_projects ~212

Query normalized FAST-41 federal permitting project inventory rows from Homecastr's public R2-backed permit surface. Use for project status, sector, agency, state, and location filters; do not use it for milestone-date settlement until the full FAST-41 dataset is normalized.

NameTypeReqDescription
lead_agencystringOptional lead agency text filter.
limitnumberMaximum projects to return, capped at 5000. Defaults to 100.
project_idstringOptional numeric FAST-41 project id.
sectorstringOptional sector text filter, e.g. 'Electricity Transmission', 'Renewable Energy', or 'Surface Transportation'.
statestringOptional 2-letter state abbreviation, e.g. 'TX' or 'CA'.
statusstringOptional status text filter, e.g. 'In Progress', 'Complete', or 'Paused'.
summarybooleanIf true, returns manifest and count metadata without row payloads.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_forecast_vintage ~80

Get one canonical public forecast vintage by vintage_id. Returns grouped same-vintage public forecast series with provenance-heavy labeling for benchmark use.

NameTypeReqDescription
targetstringOptional target filter such as 'total_population'.
vintage_idstringyesCanonical forecast vintage identifier such as 'az_oeo_maricopa_medium_2022_report'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_geography_crosswalk ~131

Resolve canonical geography crosswalk rows such as tract-to-county, tract-to-state, tract-to-ZCTA, or tabblock-to-tract mappings.

NameTypeReqDescription
source_entity_idstringyesSource entity identifier such as tract GEOID20 '48201231400' or tabblock GEOID20 '480717106001022'.
source_entity_typestringOptional explicit source entity type such as 'tract', 'county', or 'tabblock'.
target_entity_typestringOptional target entity type such as 'state', 'county', 'tract', or 'zcta'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_narrative ~121

Get AI-generated narrative text for a geographic area (county, tract, city, or state). Useful for report generation, SEO copy, or enriching chatbot context with qualitative market descriptions.

NameTypeReqDescription
geoidstringyesGeographic identifier: same FIPS or GEOID20 used for forecast endpoints. County: 5-digit FIPS (e.g. '48201'). Tract: 11-digit GEOID20. State: 2-digit FIPS.
levelstringGeographic level of the narrative. Omit to return all matching levels.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_panel_lineage ~92

Get the source-to-panel lineage for a canonical panel. Returns source roles, join keys, transforms, output fields, and official source URLs.

NameTypeReqDescription
panel_idstringyesCanonical panel identifier such as 'panel.acs_nationwide' or 'panel.az_maricopa_mag_multires_enriched'.
source_idstringOptional source identifier filter for one lineage edge or source family member.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_panel_slice ~182

Get a canonical panel slice by panel_id for one aggregate entity such as a tract. Returns normalized multi-metric panel rows suitable for benchmarks, feature panels, or training-candidate review.

NameTypeReqDescription
entity_idstringyesCanonical entity identifier, currently a tract GEOID20 such as '48201231400'.
entity_typestringOptional entity type. Current canonical aggregate support is 'tract'.
metricsstringOptional pipe- or comma-delimited metric list such as 'total_population|median_hh_income'.
panel_idstringyesCanonical panel identifier such as 'panel.acs_nationwide'.
period_endstringOptional ISO date upper bound such as '2025-12-31'.
period_startstringOptional ISO date lower bound such as '2024-01-01'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_permit_zoning_readiness ~121

Get permit, zoning, energy, and public-record data readiness metadata. Use before building permit/zoning markets or agent workflows; reports verified R2 evidence, gaps, and whether raw rows are exposed.

NameTypeReqDescription
market_idstringOptional market-template id to inspect, e.g. 'monthly_county_permit_pulse'.
source_idstringOptional source id to inspect, e.g. 'census_bps_county_annual_raw'.
summarybooleanReturn only aggregate source and market readiness counts.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_provenance ~71

Get one reviewed provenance manifest or source ledger by provenance_id. Returns retrieval and publication metadata, benchmark role, summary counts, and any public-safe details.

NameTypeReqDescription
provenance_idstringyesReviewed provenance identifier such as 'provenance.arizona_archive_status_ledger' or 'benchmark.raw_single_source_registry'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_public_forecast_vintage ~103

Retrieve validated public forecast vintage rows, starting with the Arizona OEO Maricopa 2022 county-control fixture. Every row carries provenance and benchmark-only labeling.

NameTypeReqDescription
support_levelstringOptional support-level filter such as 'county'.
targetstringOptional target filter such as 'total_population'.
vintage_idstringOptional vintage identifier, e.g. 'az_oeo_maricopa_medium_2022_report'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_source_coverage_map ~56

Return the public source coverage GeoJSON layer used by the interactive docs map. Features carry public reference boundaries or generalized selection regions, associated source IDs, official upstream URLs, panel links, readiness, license metadata, and geometry notes.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_synthetic_dataset ~114

Get one explicitly labeled synthetic dataset bundle such as a public aggregate tract scenario pack. Synthetic payloads never claim to be observed data.

NameTypeReqDescription
entity_idstringOptional tract GEOID20 such as '48201231400'.
entity_typestringOptional entity type. Current canonical aggregate support is 'tract'.
metric_idstringOptional metric identifier such as 'total_population'.
synthetic_idstringyesSynthetic dataset identifier such as 'synthetic.tract_target_metric_scenario_bundle'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

get_target_metric_forecast ~89

Get aggregate tract target-metric forecasts such as total_population. This is the phase-2 bridge between Homecastr outputs and downstream benchmark or training consumers and may be deployment-gated.

NameTypeReqDescription
geoidstringyes11-digit tract GEOID20, e.g. '48201231400'.
targetstringyesTarget metric name, e.g. 'total_population'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

list_benchmark_datasets ~125

List Homecastr benchmark and public-data assets. Returns release phase, support level, benchmark role, and the recommended public surface for each asset.

NameTypeReqDescription
asset_classstringOptional asset class filter. Common values: forecast_outputs, backtest_vintage_outputs, benchmark_panels, provenance_manifests, holdback_assets.
phasestringOptional release phase filter. Common values: phase_1, phase_2, phase_3, hold.
public_readinessstringOptional readiness filter. Values: launch, draft, hold.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

list_data_assets ~165

List the canonical Homecastr data-asset catalog across public, metadata-only, restricted, and unavailable rows. Use this to discover the full standardized surface, not just currently launched endpoints.

NameTypeReqDescription
data_familystringOptional family filter such as 'forecast_output', 'input_panel', 'source_metadata', or 'provenance_manifest'.
inventory_assetstringOptional public-data inventory asset filter such as 'forecast.aggregate_surfaces' or 'benchmark.normalized_training_panels_candidate'.
public_statusstringOptional public status filter such as 'launch', 'draft', 'metadata_only', 'hold', or 'not_public'.
visibilitystringOptional visibility filter such as 'public', 'metadata_only', 'restricted', or 'unavailable'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

list_data_schemas ~91

List canonical Homecastr schema contracts from the public schema bundle. Use this to discover dataset, provenance, panel, forecast, benchmark, and artifact contract IDs.

NameTypeReqDescription
data_familystringOptional family filter such as 'forecast_output' or 'training_panel'.
schema_idstringOptional canonical schema filter such as 'hc.dataset_asset.v1' or 'hc.panel_row.v1'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

list_data_sources ~249

List original data sources used, staged, or reviewed for Homecastr panels. Returns official outbound source URLs, source tier, source status, panel links, license status, and public readiness.

NameTypeReqDescription
data_familystringOptional source-family filter such as 'assessor_tax', 'hazard_context', 'permits', or 'mag_public_projection_and_planning_surfaces'.
license_statusstringOptional license or policy filter such as 'public_source_reviewed', 'public_source_metadata_only', or 'source_specific_review_required'.
panel_idstringOptional canonical panel filter such as 'panel.acs_nationwide' or 'panel.az_maricopa_mag_multires_enriched'.
public_readinessstringOptional readiness filter such as 'metadata_public', 'metadata_public_raw_hold', or 'summary_public_rows_missing'.
source_idstringOptional exact source identifier such as 'census.acs.county_5yr' or 'az.mag_2023_official_mpa_raz_taz_projections'.
source_statusstringOptional status filter such as 'used', 'candidate', 'blocked', or 'mentioned'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

list_public_records_acquisition ~182

List metadata-only public-records acquisition evidence lanes. Returns durable cloud evidence, public-route checks, records-law gate posture, holdbacks, and next safe action without exposing raw payloads or send-ready request copy.

NameTypeReqDescription
current_statusstringOptional acquisition status filter such as 'public_r2_partial_downstream_screen_complete'.
geographystringOptional geography token filter such as 'US-FL-Orange' or 'US-AZ-Maricopa'.
lane_idstringOptional exact acquisition lane identifier such as 'georgia_permit_public_routes'.
records_law_gatestringOptional request-gate posture such as 'closed_no_send_ready_candidate' or 'draft_only_no_live_request'.
source_familystringOptional source-family filter such as 'utility_energy_infrastructure' or 'assessor_tax'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

list_source_coverage_index ~250

List source-to-coverage geography index rows. Returns one row per source with coverage feature IDs, declared geography, coverage geometry role, reference boundary IDs/names when available, native-boundary review status, official URLs, and geometry redistribution policy.

NameTypeReqDescription
coverage_feature_idstringOptional coverage-map feature identifier such as 'coverage.arizona_phoenix_maricopa_pinal'.
coverage_geometry_rolestringOptional coverage geometry role such as 'reference_boundary' or 'generalized_selection_region'.
license_statusstringOptional license or policy status filter.
native_boundary_statusstringOptional native-boundary status such as 'native_boundary_candidate_terms_review_required' or 'reference_boundary_join_required'.
panel_idstringOptional panel identifier such as 'panel.az_maricopa_mag_multires_enriched'.
public_readinessstringOptional public-readiness filter such as 'metadata_public'.
source_familystringOptional source-family filter such as 'maricopa_assessor_parcels' or 'assessor_tax'.
source_idstringOptional exact source identifier such as 'az.maricopa_parcels'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

list_training_runs ~133

List ML model training run history. Shows jurisdiction coverage, EC2 instance types, training durations, and compute costs. Useful for auditing model freshness and coverage. Requires a non-demo API key.

NameTypeReqDescription
jurisdictionstringFilter by jurisdiction slug. Examples: hcad_houston, nyc, florida_dor, cook_county_il, seattle_wa, philly, acs_nationwide.
limitnumberMax rows to return (1-100, default 20).
yearnumberFilter by origin_year (e.g. 2024, 2025).
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

query_features ~215

Query canonical feature records derived from aggregate-safe observations. Returns versioned feature IDs, transform metadata, leakage-safe inputs, and public training-candidate labels.

NameTypeReqDescription
as_of_datestringOptional feature as-of date such as '2025-12-31'.
asset_idstringOptional feature asset identifier such as 'benchmark.normalized_training_panels_candidate'.
entity_idstringyesCanonical entity identifier, currently a tract GEOID20 such as '48201231400'.
entity_typestringOptional entity type. Current canonical aggregate support is 'tract'.
feature_idstringOptional feature identifier such as 'total_population_yoy_change_pct'.
metric_idstringOptional metric identifier such as 'total_population' or 'median_hh_income'.
period_endstringOptional ISO date upper bound such as '2025-12-31'.
period_startstringOptional ISO date lower bound such as '2024-01-01'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

query_forecasts ~132

Query canonical forecast-series records for aggregate forecast assets such as tract target-metric feeds. Returns origin time, training cutoff, band metadata, and horizon points in a unified schema.

NameTypeReqDescription
asset_idstringOptional forecast asset identifier such as 'forecast.tract_target_metrics'.
entity_idstringyesCanonical entity identifier, currently a tract GEOID20 such as '48201231400'.
entity_typestringOptional entity type. Current canonical aggregate support is 'tract'.
metric_idstringOptional metric identifier such as 'total_population' or 'median_hh_income'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

query_observations ~175

Query canonical observation records for aggregate-safe history panels such as tract ACS target histories. Returns standardized observation rows with entity, time, metric, provenance, and access metadata.

NameTypeReqDescription
asset_idstringOptional observation asset identifier such as 'context.census_acs'.
entity_idstringyesCanonical entity identifier, currently a tract GEOID20 such as '48201231400'.
entity_typestringOptional entity type. Current canonical aggregate support is 'tract'.
metric_idstringOptional metric identifier such as 'total_population' or 'median_hh_income'.
period_endstringOptional ISO date upper bound such as '2025-12-31'.
period_startstringOptional ISO date lower bound such as '2024-01-01'.
NameTypeReqDescription
resultyesRaw JSON response body returned by the Homecastr API.

No examples provided.

Common questions

What is the Homecastr MCP server?

Homecastr MCP is listed in the public MCP registry as io.github.dhardestylewis/homecastr. U.S. property forecasts, public benchmarks, and permit or environmental context through MCP. This page covers its npm package (homecastr-mcp-server).

Is the Homecastr MCP server safe to use?

Homecastr MCP scores 79 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 22 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Homecastr MCP server expose?

Homecastr MCP exposes 48 tools: forecast_by_address, forecast_by_parcel, forecast_by_tabblock, forecast_by_tract, forecast_by_zcta, and 43 more. Their descriptions and schemas cost roughly 6,507 tokens of context every time the server is loaded.

Is the Homecastr MCP server still maintained?

Homecastr MCP is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Homecastr MCP server under?

Homecastr MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.