npm package: @striderlabs/mcp-redfin
Description: MCP server for Redfin real estate search using browser automation
Author: Strider Labs
Latest version: 1.0.0

# @striderlabs/mcp-redfin

An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that provides real estate search capabilities via Redfin, using Playwright for browser automation.

## Features

- **search_homes** — Search listings by location with rich filters (price, beds, baths, sqft, property type, status)
- **get_property_details** — Fetch full property details from a Redfin listing URL or property ID
- **get_estimate** — Retrieve the Redfin Estimate (AVM) for any address

## Installation

```bash
npm install -g @striderlabs/mcp-redfin
# Install Playwright browsers (first-time setup)
npx playwright install chromium
```

## Usage with Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "redfin": {
      "command": "mcp-redfin"
    }
  }
}
```

## Tools

### `search_homes`

Search for home listings on Redfin.

**Parameters:**
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `location` | string | ✅ | City, zip, neighborhood, or address |
| `filters.minPrice` | number | — | Minimum price (USD) |
| `filters.maxPrice` | number | — | Maximum price (USD) |
| `filters.minBeds` | number | — | Minimum bedrooms |
| `filters.maxBeds` | number | — | Maximum bedrooms |
| `filters.minBaths` | number | — | Minimum bathrooms |
| `filters.propertyType` | string | — | `house`, `condo`, `townhouse`, `multi-family`, `land` |
| `filters.status` | string | — | `for-sale` (default), `for-rent`, `sold` |
| `filters.minSqft` | number | — | Minimum square footage |
| `filters.maxSqft` | number | — | Maximum square footage |

**Example:**
```json
{
  "location": "Austin, TX",
  "filters": {
    "minPrice": 400000,
    "maxPrice": 700000,
    "minBeds": 3,
    "propertyType": "house"
  }
}
```

---

### `get_property_details`

Get detailed info for a specific Redfin listing.

**Parameters:**
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | string | ✅ | Redfin property URL or listing ID |

**Example:**
```json
{
  "id": "https://www.redfin.com/TX/Austin/1234-Main-St-78701/home/987654"
}
```

---

### `get_estimate`

Get the Redfin Estimate (automated valuation) for a property.

**Parameters:**
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `address` | string | ✅ | Full property address |

**Example:**
```json
{
  "address": "1600 Pennsylvania Ave NW, Washington, DC 20500"
}
```

---

## Development

```bash
git clone https://github.com/striderlabs/mcp-redfin
cd mcp-redfin
npm install
npx playwright install chromium
npm run dev     # run with tsx
npm run build   # bundle with esbuild → dist/index.js
```

## Notes

- Uses headless Chromium via Playwright; respects Redfin's public-facing UI.
- Results depend on Redfin's current page structure and may require selector updates over time.
- Not affiliated with or endorsed by Redfin.

## License

MIT — © Strider Labs