A side-by-side look at the HasData Zillow and Homes MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose HasData Zillow for real estate work as a local process; choose Homes MCP for real estate as a local process. You can also run both side by side in one mcpServers block.
HASDATA_API_KEY.hasdata_zillow_listing_getRealEstateListings, hasdata_zillow_property_getPropertyDetails.homes_search_properties, homes_get_by_address, homes_resolve_addresses.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Real Estate | Real Estate |
| Quality signal | 57/100 · Good | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | HASDATA_API_KEY | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 11 | 0 |
| Directory activity | 0 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 2 | 19 |
| Full listing | View HasData Zillow | View Homes MCP |
hasdata_zillow_listing_getRealEstateListingsEach listing with address, Zillow URL/zpid, price, Zestimate, beds/baths, sqft, home type, status, days on Zillow, coordinates, thumbnail, and listing agent. 10 credits a callhasdata_zillow_property_getPropertyDetailsAddress, list price, Zestimate and Rent Zestimate, price and tax history, beds/baths, living area, lot size, year built, home type, HOA, days on Zillow, listing…. 10 credits a callhomes_search_propertiesSearch listings by free-text location (city/ZIP/neighborhood). Slugifies the input into homes.com's URL routing (a blank or unsluggable location is an error, not an empty result) and parses the JSON-LD `CollectionPage.mainEntity.itemListElement[]`. Filters by `property_type`, `listing_type`, `sort`…homes_get_by_addressResolve one US street address to its canonical homes.com property URL + opaque hash. Walks structured typeahead → slug → city/zip search-fallback with whole-token street + unit verification. Returns `matched_via`; degrades to `{ resolved: false }`.homes_resolve_addressesBulk `homes_get_by_address` (up to 100 addresses, input order preserved, per-row outcomes). Prefer for batches ≥ 3.homes_get_propertyFull record for a property by URL. Parses JSON-LD + DOM-side sections: address, lat/lng, beds/baths, sqft, year built, price, status, agent (name/title/profile — telephone/email only with `include_agent_contact: true`) + brokerage, highlights, schools, HOA (raw + monthly), lot size (sqft + acres),…homes_get_property_photosFull photo gallery scraped from `<img>` tags on the detail page (JSON-LD only carries one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.homes_bulk_getFetch up to 200 properties' structured records in one call (per-row errors, input order preserved).homes_compare_propertiesSide-by-side comparison of 2–8 properties with an aligned summary table. Per-target errors captured per-row. Concurrent fetches.homes_get_nearby_listingsThe "Homes for Sale Near This Property" cross-link cards from a detail page (For Sale, optionally Rentals). URL + address only.homes_get_historyCombined price + tax history in one fetch: `listing_events`, `ownership_events`, `lien_events`, normalized `events_normalized`, and `tax_records`. `events_normalized` sets `price_change_pct` only on `PriceChange` rows; other rows carry homes.com's "List to Sale" figure as `list_to_sale_pct` (no `do…homes_get_property_history*Deprecated* — price/ownership/lien timelines only. Prefer `homes_get_history`.homes_get_tax_history*Deprecated* — year-by-year tax records only. Prefer `homes_get_history`.homes_get_market_reportMedian / average / $-per-sqft for a market, derived from the `sold` search page's JSON-LD. A blank or unsluggable location is an error, not an empty market.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"hasdata-zillow": {
"command": "npx",
"args": [
"-y",
"@hasdata/zillow-mcp"
],
"env": {
"HASDATA_API_KEY": "YOUR_HASDATA_API_KEY_HERE"
}
}
}
}
{
"mcpServers": {
"homes-mcp": {
"command": "npx",
"args": [
"-y",
"homes-mcp"
]
}
}
}