Redfin Remote MCP Server
Server Details
Redfin for-sale, for-rent and sold listings plus full property pages, as structured JSON.
- Status
- Healthy
- Uptime
- 95.8% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- HasData/redfin-mcp
- GitHub Stars
- 10
- Server Listing
- Redfin MCP Server
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one searches for listings across the broader Redfin inventory, and the other retrieves deep details for a specific property from a URL. There is no overlap or ambiguity about which to use.
Both tools share a consistent hasdata_redfin_ prefix and a get* verb pattern, but the resource segment is inconsistent ('listing' singular vs 'property') and the verb subjects differ ('getRealEstateListings' vs 'getPropertyDetails'). Minor deviation from a fully regular pattern.
Two tools is a thin offering, but they directly cover the core search-then-detail workflow for a Redfin-specific server. The count feels minimal rather than bloated or excessive.
The pair supports a complete basic workflow: find listings and retrieve detailed property information. Gaps exist such as no direct lookup by listing ID or explicit comparables endpoint, but the dependency between the two tools is logical and covers common use cases.
Available Tools
2 toolshasdata_redfin_listing_getRealEstateListingsredfin_listing: GET /AInspect
Get Redfin Real Estate Listings
Searches Redfin for-sale, for-rent, or sold listings with pagination. The location accepts a zipcode, city, neighborhood, school, school district, apartment-building name, or a full street address. Returns each listing with address, Redfin URL, list price, beds/baths, square footage, lot size, year built, days on market, status, coordinates, photos, MLS number, and HOA; an address or building returns a single property card instead. Use for real-estate market research, lead generation for agents, price/DOM trend analysis, and feeding URLs into the Redfin Property endpoint for deep-dive details.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | The page number of the results to retrieve. | |
| sort | No | The sorting option for the search results. | |
| type | Yes | The type of listing. | |
| baths | No | The minimum number of bathrooms. | |
| pets__ | No | An array of pet types allowed. | |
| keyword | Yes | The 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_ | No | The maximum number of bedrooms. | |
| beds_min_ | No | The minimum number of bedrooms. | |
| cost_hoa_ | No | The maximum monthly Homeowners Association (HOA) fee. | |
| moveInDate | No | The desired move-in date in MM/DD/YYYY format. | |
| price_max_ | No | The maximum price of the listing. | |
| price_min_ | No | The minimum price of the listing. | |
| homeTypes__ | No | An array of home types to filter the listings. Allowed values depend on the listing `type`. | |
| lotSize_max_ | No | The maximum lot size. | |
| lotSize_min_ | No | The minimum lot size. | |
| stories_max_ | No | The maximum number of stories. | |
| stories_min_ | No | The minimum number of stories. | |
| timeOnRedfin | No | How long the listing has been on Redfin. | |
| yearBuilt_max_ | No | The maximum year the property was built. | |
| yearBuilt_min_ | No | The minimum year the property was built. | |
| statusOptions__ | No | An array of listing statuses. | |
| soldWithinOption | No | Filter sold listings by how recently they were sold. | |
| rentalAmenities__ | No | An array of rental amenities to filter the listings. | |
| cost_priceReduced_ | No | Filter listings by when the price was reduced. | |
| rentalOtherTerms__ | No | An array of additional rental terms. | |
| monthlyPayment_max_ | No | The maximum monthly payment. | |
| monthlyPayment_min_ | No | The minimum monthly payment. | |
| schools_schoolType___ | No | An array of school types. | |
| forSaleSquareFeet_max_ | No | The maximum square footage for for-sale listings. | |
| forSaleSquareFeet_min_ | No | The minimum square footage for for-sale listings. | |
| homeFeatures_basement_ | No | The basement type. | |
| homeFeatures_poolType_ | No | The type of pool. | |
| cost_acceptedFinancing_ | No | The accepted financing type. | |
| cost_excludeLandLeases_ | No | If set to true, listings with land leases will be excluded. | |
| cost_pricePerSqft__max_ | No | The maximum price per square foot. | |
| cost_pricePerSqft__min_ | No | The minimum price per square foot. | |
| homeFeatures_options___ | No | An array of home feature flags to filter the listings. | |
| listingType_category___ | No | An array of listing categories. | |
| onlyWithDealOrPromotion | No | If set to true, only listings with a deal or promotion will be included. | |
| exclude55PlusCommunities | No | If set to true, 55+ communities will be excluded. | |
| forRentSquareFootage_max_ | No | The maximum square footage for for-rent listings. | |
| forRentSquareFootage_min_ | No | The minimum square footage for for-rent listings. | |
| schools_greatSchoolRating_ | No | The minimum GreatSchools rating (1-10). | |
| transportScores_bikeScore_ | No | The minimum bike score (1-100). | |
| transportScores_walkScore_ | No | The minimum walk score (1-100). | |
| cost_maxPropertyTaxPerYear_ | No | The maximum property tax per year. | |
| homeFeatures_keywordSearch_ | No | A free-text keyword search applied to listing descriptions. | |
| openHouseAndTour_openHouse_ | No | Filter listings with an open house. | |
| openHouseAndTour_videoTour_ | No | If set to true, only listings with a video tour will be included. | |
| homeFeatures_garageSpotsMin_ | No | The minimum number of garage spots. | |
| monthlyPayment_interestRate_ | No | The mortgage interest rate (percent) used to calculate the monthly payment. | |
| monthlyPayment_mortgageTerm_ | No | The mortgage term used to calculate the monthly payment. | |
| monthlyPayment_insuranceRate_ | No | The home insurance rate (percent) used to calculate the monthly payment. | |
| transportScores_transitScore_ | No | The minimum transit score (1-100). | |
| listingType_excludeShortSales_ | No | If set to true, short sales will be excluded. | |
| schools_includeUnratedSchools_ | No | If set to true, unrated schools will be included. | |
| listingType_redfinListingsOnly_ | No | If set to true, only Redfin-listed properties will be included. | |
| monthlyPayment_downPaymentAmount_ | No | The down payment as an absolute amount. | |
| monthlyPayment_downPaymentPercent_ | No | The down payment as a percentage of the home price. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It discloses pagination, the accepted keyword forms, the full set of returned listing fields, and the important behavioral exception that an address/building returns a single property card and ignores `type`. Rate-limit and error behavior are absent, but the core behavioral surface is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense, front-loaded sentences with no filler: action and pagination first, then location semantics, return fields/exception, and use cases. It is well sized for a 59-parameter tool because the schema carries the detailed filter documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema and no annotations, the description compensates by naming the main returned fields and explaining the single-property-card case. For a large search tool, the use cases and sibling routing make it reasonably complete, though it omits pagination-count/default behavior and error-handling expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The narrative mostly re-states the `keyword` semantics and the `type` exception that already exist in the schema, and it adds no new information about `page`, `sort`, or the other filter parameters. It therefore earns no bonus beyond the well-documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific, verb-driven statement: 'Searches Redfin for-sale, for-rent, or sold listings with pagination,' and enumerates the location forms and return fields. This makes the listing-search scope unmistakable and differentiates it from the single-property sibling endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete use cases ('real-estate market research, lead generation for agents, price/DOM trend analysis') and points to the 'Redfin Property endpoint' for deep-dive details, effectively routing an agent to the sibling after this search step. It does not phrase this as a hard when-not-to-use rule, but the guidance is unambiguous enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_redfin_property_getPropertyDetailsredfin_property: GET /AInspect
Get Redfin Property Details
Fetches the full Redfin property page by 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, walk/transit/bike scores, and nearby comparables. Use for CMA reports, investor due-diligence, valuation models, listing enrichment, and powering buyer-assistant agents with verified property facts.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the property on Redfin. Must be a valid Redfin property URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only says it 'fetches' and returns data, but does not address authentication, rate limits, error behavior, or what happens with invalid URLs. This leaves the agent without operational expectations beyond the basic return field list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and includes no filler. The list of returned fields and use cases is lengthy but informative; however, it could have been trimmed slightly without losing essential guidance, so it does not earn a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter fetch tool with no output schema, the description covers the input, the returned data, and common use cases, which is largely sufficient for correct invocation. It falls short of complete because behavioral caveats such as rate limits and error handling are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'url' is fully described in the schema with 100% coverage, so the schema already provides the needed semantics. The description adds no further format, examples, or constraints beyond what the schema states, justifying the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action and resource: 'Fetches the full Redfin property page by URL' and lists the many fields it returns. However, it never explicitly contrasts itself with the sibling listing tool, so the distinction is left to inference rather than stated outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists use cases: 'Use for CMA reports, investor due-diligence, valuation models, listing enrichment, and powering buyer-assistant agents.' This gives clear context for when the tool is appropriate, but it does not mention when not to use it or point to the sibling tool as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
hasdata_redfin_listing_getRealEstateListings - First observed
hasdata_redfin_property_getPropertyDetails
Publisher details
- Operator
- HasData · Publisher source
- Operator website
- https://hasdata.com · Publisher source
- Vendor relationship
- Independent · Publisher source
- Documentation
- https://docs.hasdata.com/mcp-server · Publisher source
- Trust center
- Not available
- Restrictions
- A free HasData account covers 1,000 credits a month with no card. Heavier use needs a paid plan. No admin approval, no regional limits and no custom OAuth app. · Publisher source
Related MCP Connectors
Zillow for-sale, for-rent and sold listings, and full property details, as structured JSON.
Pull property listings, prices, and details from real-estate sites as structured JSON.
Redfin listings, sale-comps, and neighborhood market data via natural-language queries.
U.S. real-estate data: property records, AVM value + rent estimates, sale/rental listings.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables searching Zillow for-sale, for-rent, and sold listings with rich filters and retrieving complete property details as structured JSON, with no Zillow account required.261 npm10MIT
- FlicenseNot gradedqualityBmaintenanceEnables pulling property listings, prices, and details from real-estate websites as structured JSON, with anti-bot handling and protected-page support.-
- AlicenseAqualityAmaintenanceEnables natural language access to Redfin real estate data, including property search, details, photos, market reports, price history, climate risk, and saved homes/searches, by routing requests through your own signed-in browser session.21925 npm3MIT
- AlicenseNot gradedqualityBmaintenanceProvides access to comprehensive US property data, including automated valuations, tax history, comparable sales, and ownership details, enabling real estate analysis and market insights.141 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.