npm.io
0.4.2 • Published 3 months ago

@chrischall/realty-core

Licence
MIT
Version
0.4.2
Deps
0
Vulns
0
Weekly
0

realty-mcp

CI license

Shared utilities currently duplicated across the realty cohort (zillow-mcp, redfin-mcp, compass-mcp, homes-mcp, onehome-mcp), plus the eventual meta-MCP for cross-source resolution (round-3 #10 / #11 — unified realty_get_by_address, realty_resolve_addresses, last_sold_candidates).

The libraries here started life as drift between five Pattern A MCPs. Each helper has 3+ slightly-different implementations across the cohort already; hoisting them lets each consumer migrate to one canonical implementation with shared tests.

Packages

Package Status
@chrischall/realty-core Address matching, suffix variants, locality alias map, free-text address parsing + alternates; mortgage / affordability / rent-vs-buy calculators; feature extraction; tax, HOA, days-on-market, price-drop, last-sold and lot-size derivations; event-type mapping; hyperlink-formula, URL and geo (ZIPstate) helpers; shared ResolverVia / ResolvedAddress types.
@chrischall/realty-meta (planned) Cross-source umbrella MCP. Depends on the portal packages below. Not yet scaffolded. See CANDIDATE_LOGIC.md.

Portal sources

The MCPs realty-meta will orchestrate. Each is its own repo; they consume @chrischall/realty-core (they are not dependencies of this monorepo). The realty-meta blocker is that most ship only as MCP-server binaries — to be composed they must also export their *Client + typed helpers as an ESM library.

Source Market Library surface
zillow-mcp, redfin-mcp, compass-mcp, homes-mcp, onehome-mcp US (USD / sqft / ZIP) — Pattern A (fetchproxy) bin-only today; library export pending the cohort migration
hemnet-mcp Sweden (SEK / m² / slutpriser) — direct anonymous GraphQL, no auth ships as a library (import { createHemnetClient, registerHemnetTools, formatListingCard, computeMarketStats } from 'hemnet-mcp')

hemnet-mcp is the first source that already meets the library-export contract, and it consumes realty-core's portal-agnostic addressMatch for its hemnet_get_by_address resolution. Because it's a different market, it participates as a parallel portal source rather than in US cross-portal address de-duplication (a Swedish property has no Zillow/Redfin counterpart to reconcile against).

Commands

npm test Vitest across the workspace.
npm run build TS build for every workspace with a build script.
npm run typecheck tsc -b against realty-core.

Versioning + releases

Lockstep across published @chrischall/* packages via release-please (release-please-config.json with extra-files propagating the umbrella version into every sub-package). Mirrors the fetchproxy / ofw-mcp release shape. Do not bump versions manually.