mcpField
L
listingdata

listingdata

Local
github.com/CloudCorpRecordsBusiness & Marketing0Updated 2d ago

About listingdata

listingdata is a local bridge to Redfin real-estate data, for searching listings by location and retrieving property details by URL. It relays read-only calls to the hosted HasData Redfin MCP server and returns its results as received.

Key features

  1. 01Search for-sale, rental, and sold listings
  2. 02Filter listings by property criteria
  3. 03Retrieve property details by URL
  4. 04View price history and estimates
  5. 05Access tax, school, and listing data

Use cases

  1. 01Find listings in a specified area
  2. 02Filter homes by price or features
  3. 03Review a property’s price history
  4. 04Retrieve details from a Redfin URL

MCP support

It exposes the captured Redfin tools as a local MCP server and forwards calls to the hosted HasData server, returning upstream results unchanged.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-listingdata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/listingdata"
]
}
}
}
Run commandnpx -y @reneturcios/listingdata

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/listingdata0.1.0
ocighcr.io/cloudcorprecords/listingdata:0.1.0

Tools

2

Saved tool list · updated 2d ago

ParameterTypeRequiredDescription
pagenumberNoThe page number of the results to retrieve.
sortenumNoThe sorting option for the search results.recommended | newest | oldest | priceLowToHigh | priceHighToLow | minSquareFeet | maxSquareFeet | bedrooms | bathrooms | lotSize | squareFeetPrice | mostRecentlySold
typeenumYesThe type of listing.forSale | forRent | sold
bathsenumNoThe minimum number of bathrooms.one | oneAndHalf | two | twoAndHalf | three | four
pets__arrayNoAn array of pet types allowed.
keywordstringYesThe location to search for listings. Accepts a zipcode (`33321`), a city (`Austin` or `Austin, TX`), a neighborhood (`East Austin`), a school (`BASIS Austin`), a school district (`Austin Independent School District`), an apartment building by its name (`Maizon Brickell`), or a full street address (`5805 Woodview Ave, Austin, TX 78756`), including a single unit (`221 SW 12th St Unit 1716, Miami, FL`). An address or a building returns a single property card instead of a list of listings, and the `type` parameter does not apply to it.
beds_max_numberNoThe maximum number of bedrooms.
beds_min_numberNoThe minimum number of bedrooms.
cost_hoa_numberNoThe maximum monthly Homeowners Association (HOA) fee.
moveInDatestringNoThe desired move-in date in MM/DD/YYYY format.
price_max_numberNoThe maximum price of the listing.
price_min_numberNoThe minimum price of the listing.
homeTypes__arrayNoAn array of home types to filter the listings. Allowed values depend on the listing `type`.
lotSize_max_enumNoThe maximum lot size.2000 sqft | 4500 sqft | 6500 sqft | 8000 sqft | 9500 sqft | 0.25 acres | 0.5 acres | 1 acres | 2 acres | 3 acres | 4 acres | 5 acres | 10 acres | 20 acres | 40 acres | 100 acres
lotSize_min_enumNoThe minimum lot size.2000 sqft | 4500 sqft | 6500 sqft | 8000 sqft | 9500 sqft | 0.25 acres | 0.5 acres | 1 acres | 2 acres | 3 acres | 4 acres | 5 acres | 10 acres | 20 acres | 40 acres | 100 acres
stories_max_enumNoThe maximum number of stories.1 | 2 | 3 | 4 | 5 | 10 | 15 | 20
stories_min_enumNoThe minimum number of stories.1 | 2 | 3 | 4 | 5 | 10 | 15 | 20
timeOnRedfinenumNoHow long the listing has been on Redfin.newListing | lessThan3Days | lessThan7Days | lessThan14Days | lessThan30Days | moreThan7Days | moreThan14Days | moreThan30Days | moreThan45Days | moreThan60Days | moreThan90Days | moreThan180Days
yearBuilt_max_enumNoThe maximum year the property was built.2026 | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2010 | 2005 | 2000 | 1990 | 1980 | 1970 | 1960 | 1950 | 1940 | 1920 | 1900
yearBuilt_min_enumNoThe minimum year the property was built.2026 | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2010 | 2005 | 2000 | 1990 | 1980 | 1970 | 1960 | 1950 | 1940 | 1920 | 1900
statusOptions__arrayNoAn array of listing statuses.
soldWithinOptionenumNoFilter sold listings by how recently they were sold.lastOneWeek | lastOneMonth | lastThreeMonth | lastSixMonth | lastYear | lastTwoYear | lastThreeYear | lastFiveYear
rentalAmenities__arrayNoAn array of rental amenities to filter the listings.
cost_priceReduced_enumNoFilter listings by when the price was reduced.inTheLastDay | inTheLast3Days | inTheLast7Days | inTheLast14Days | inTheLast30Days | moreThan30Days | moreThan60Days | moreThan120Days
rentalOtherTerms__arrayNoAn array of additional rental terms.
monthlyPayment_max_numberNoThe maximum monthly payment.
monthlyPayment_min_numberNoThe minimum monthly payment.
schools_schoolType___arrayNoAn array of school types.
forSaleSquareFeet_max_enumNoThe maximum square footage for for-sale listings.750 | 1000 | 1100 | 1200 | 1300 | 1400 | 1500 | 1600 | 1700 | 1800 | 1900 | 2000 | 2250 | 2500 | 2750 | 3000 | 4000 | 5000 | 7500 | 10000
forSaleSquareFeet_min_enumNoThe minimum square footage for for-sale listings.750 | 1000 | 1100 | 1200 | 1300 | 1400 | 1500 | 1600 | 1700 | 1800 | 1900 | 2000 | 2250 | 2500 | 2750 | 3000 | 4000 | 5000 | 7500 | 10000
homeFeatures_basement_enumNoThe basement type.finished | unfinished
homeFeatures_poolType_enumNoThe type of pool.privatePool | communityPool | privateOrCommunityPool | noPrivatePool
cost_acceptedFinancing_enumNoThe accepted financing type.FHA | VA
cost_excludeLandLeases_booleanNoIf set to true, listings with land leases will be excluded.
cost_pricePerSqft__max_enumNoThe maximum price per square foot.50 | 100 | 150 | 200 | 250 | 300 | 400 | 500 | 600 | 800 | 1000 | 1400 | 1800 | 2200 | 2600 | 3000
cost_pricePerSqft__min_enumNoThe minimum price per square foot.50 | 100 | 150 | 200 | 250 | 300 | 400 | 500 | 600 | 800 | 1000 | 1400 | 1800 | 2200 | 2600 | 3000
homeFeatures_options___arrayNoAn array of home feature flags to filter the listings.
listingType_category___arrayNoAn array of listing categories.
onlyWithDealOrPromotionbooleanNoIf set to true, only listings with a deal or promotion will be included.
exclude55PlusCommunitiesbooleanNoIf set to true, 55+ communities will be excluded.
forRentSquareFootage_max_numberNoThe maximum square footage for for-rent listings.
forRentSquareFootage_min_numberNoThe minimum square footage for for-rent listings.
schools_greatSchoolRating_numberNoThe minimum GreatSchools rating (1-10).
transportScores_bikeScore_numberNoThe minimum bike score (1-100).
transportScores_walkScore_numberNoThe minimum walk score (1-100).
cost_maxPropertyTaxPerYear_numberNoThe maximum property tax per year.
homeFeatures_keywordSearch_stringNoA free-text keyword search applied to listing descriptions.
openHouseAndTour_openHouse_enumNoFilter listings with an open house.thisWeekend | anytime
openHouseAndTour_videoTour_booleanNoIf set to true, only listings with a video tour will be included.
homeFeatures_garageSpotsMin_enumNoThe minimum number of garage spots.1 | 2 | 3 | 4 | 5
monthlyPayment_interestRate_numberNoThe mortgage interest rate (percent) used to calculate the monthly payment.
monthlyPayment_mortgageTerm_enumNoThe mortgage term used to calculate the monthly payment.fixed15Years | fixed20Years | fixed30Years | fixed30YearsFha | fixed30YearsVa | fixed30YearsJumbo
monthlyPayment_insuranceRate_numberNoThe home insurance rate (percent) used to calculate the monthly payment.
transportScores_transitScore_numberNoThe minimum transit score (1-100).
listingType_excludeShortSales_booleanNoIf set to true, short sales will be excluded.
schools_includeUnratedSchools_booleanNoIf set to true, unrated schools will be included.
listingType_redfinListingsOnly_booleanNoIf set to true, only Redfin-listed properties will be included.
monthlyPayment_downPaymentAmount_numberNoThe down payment as an absolute amount.
monthlyPayment_downPaymentPercent_numberNoThe down payment as a percentage of the home price.

Details

From the project README

listingdata

listingdata is a small local bridge to the hosted HasData Redfin MCP server, which returns Redfin real-estate data as JSON. It can look up for-sale, for-rent, or sold listings for a place, and it can pull one property in full from its Redfin URL: the address, list and sold prices and their history, the Redfin Estimate, beds and baths, size and lot, year built, tax and school data, and the listing agent's name as published on the page.

The bridge holds no listings of its own. It answers the tool list locally, exactly as captured from the live endpoint, and forwards each tool call upstream, returning whatever comes back untouched. The captured surface is two read-only fetches over public listing data: there is no booking, offer, contact-extraction, or payment tool in it.

Tools

  • hasdata_redfin_listing_getRealEstateListings — search Redfin listings. Required: keyword (a zipcode, city, neighborhood, school, school district, apartment-building name, or full street address) and type (forSale, forRent, or sold). Optional filters cover price and monthly-payment ranges, sorting, home types, beds and baths, square footage, lot size, year built, listing category and status, time on Redfin, home features, rental amenities and pet terms, school ratings, walk / transit / bike scores, and a page number for paging. An address or building returns a single property card instead of a list. Returns listings with address, Redfin URL, list price, beds/baths, square footage, year built, days on market, status, coordinates, photos, and MLS number.
  • hasdata_redfin_property_getPropertyDetails — fetch one property in full. Required: url (the Redfin property URL). Returns address, list/sold price, price history, Redfin Estimate, beds/baths, square footage, lot size, year built, property type, HOA, days on market, school ratings, tax history, listing agent, full description, photos, and nearby comparables.

Configuration

  • HASDATA_REDFIN_MCP_URL (optional) — override the upstream endpoint. Defaults to https://mcp.hasdata.com/mcp?apis=redfin. (The override hook is this rebuild's own labelled reconstruction.)
  • HASDATA_API_KEY (optional) — when set, every upstream request carries an x-api-key: <key> header, for the caller's own HasData API key. When it is not set, no key header is sent. (The header name and the env name are pinned by the original's registry record; forwarding the key from this env var is a labelled reconstruction — the original surface was captured keyless.)
Forwarding mechanics

On the first tool call the client opens a streamable HTTP session upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name listingdata), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with listingdata error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string:

npx @reneturcios/listingdata hasdata_redfin_listing_getRealEstateListings '{"keyword":"Austin, TX","type":"forSale"}'
npx @reneturcios/listingdata hasdata_redfin_property_getPropertyDetails '{"url":"https://www.redfin.com/example"}'
npx @reneturcios/listingdata --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

npx -y @reneturcios/listingdata mcp

MCP client config:

{
  "mcpServers": {
    "listingdata": {
      "command": "npx",
      "args": ["-y", "@reneturcios/listingdata", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/listingdata
docker run --rm ghcr.io/cloudcorprecords/listingdata --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

npm install
npm run build
npm test
npm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.