# Zillow Mcp Server

> Zillow MCP Server for real estate data access via the Model Context Protocol

- **Type:** MCP server
- **Install:** `agentstack add mcp-sap156-zillow-mcp-server`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [sap156](https://agentstack.voostack.com/s/sap156)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [sap156](https://github.com/sap156)
- **Source:** https://github.com/sap156/zillow-mcp-server

## Install

```sh
agentstack add mcp-sap156-zillow-mcp-server
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Zillow MCP Server

A Model Context Protocol (MCP) server that provides real-time access to Zillow real estate data, built with Python and FastMCP.

## Features

- 🏠 **Property Search**: Search for properties by location, price range, and property features
- 💰 **Property Details**: Get detailed information about specific properties
- 📊 **Zestimates**: Access Zillow's proprietary home valuation data
- 📈 **Market Trends**: View real estate market trends for any location
- 🧮 **Mortgage Calculator**: Calculate mortgage payments based on various inputs
- 🔍 **Health Check**: Verify API connectivity and monitor performance

## Installation

### Prerequisites

- Python 3.8 or higher
- A Zillow Bridge API key (request access at api@bridgeinteractive.com)

### Setup

1. Clone this repository:
   ```
   git clone https://github.com/yourusername/zillow-mcp-server.git
   cd zillow-mcp-server
   ```

2. Install the dependencies:
   ```
   pip install -r requirements.txt
   ```

3. Create a `.env` file with your Zillow API key:
   ```
   ZILLOW_API_KEY=your_zillow_api_key_here
   ```

### Running the Server

Run the server with options:

```bash
# Standard stdio mode (for Claude Desktop)
python zillow_mcp_server.py

# HTTP server mode (for remote access)
python zillow_mcp_server.py --http --port 8000

# Debug mode for more verbose logging
python zillow_mcp_server.py --debug
```

### Docker Deployment

You can also run the server using Docker:

```bash
# Build the Docker image
docker build -t zillow-mcp-server .

# Run with environment variables
docker run -p 8000:8000 -e ZILLOW_API_KEY=your_key_here zillow-mcp-server

# Or using an env file
docker run -p 8000:8000 --env-file .env zillow-mcp-server
```

## Usage with Claude Desktop

Add the Zillow MCP server to your Claude Desktop configuration file:

- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "zillow": {
      "command": "python",
      "args": ["/path/to/zillow_mcp_server.py"]
    }
  }
}
```

For remote HTTP server:

```json
{
  "mcpServers": {
    "zillow-remote": {
      "command": "npx",
      "args": ["mcp-remote", "https://your-mcp-server-url.com/sse"]
    }
  }
}
```

## Available Tools

### Search Properties

Search for properties based on various criteria:

```python
search_properties(
    location: str,
    type: str = "forSale",
    min_price: Optional[int] = None,
    max_price: Optional[int] = None,
    beds_min: Optional[int] = None,
    beds_max: Optional[int] = None,
    baths_min: Optional[float] = None,
    baths_max: Optional[float] = None,
    home_types: Optional[List[str]] = None
)
```

Example usage in Claude:
```
Please search for properties in Seattle with prices between $500,000 and $800,000.
```

### Get Property Details

Get detailed information about a specific property:

```python
get_property_details(
    property_id: str = None,
    address: str = None
)
```

Example usage in Claude:
```
Can you get the details for the property with ID 12345?
```

### Get Zestimate

Get Zillow's estimated value for a property:

```python
get_zestimate(
    property_id: str = None,
    address: str = None
)
```

Example usage in Claude:
```
What's the Zestimate for 123 Main St, Seattle, WA?
```

### Get Market Trends

Get real estate market trends for a specific location:

```python
get_market_trends(
    location: str,
    metrics: List[str] = ["median_list_price", "median_sale_price", "median_days_on_market"],
    time_period: str = "1year"
)
```

Example usage in Claude:
```
What are the current real estate trends in Boston over the past year?
```

### Calculate Mortgage

Calculate mortgage payments and related costs:

```python
calculate_mortgage(
    home_price: int,
    down_payment: int = None,
    down_payment_percent: float = None,
    loan_term: int = 30,
    interest_rate: float = 6.5,
    annual_property_tax: int = None,
    annual_homeowners_insurance: int = None,
    monthly_hoa: int = 0,
    include_pmi: bool = True
)
```

Example usage in Claude:
```
Calculate the monthly mortgage payment for a $600,000 house with 20% down and a 6% interest rate.
```

### Check Health

Verify the Zillow API connection and get server status:

```python
check_health()
```

Example usage in Claude:
```
Please check if the Zillow API is currently responsive.
```

### Get Server Tools

Get a list of all available tools on this server:

```python
get_server_tools()
```

Example usage in Claude:
```
What tools are available in the Zillow MCP server?
```

## Available Resources

### Property Resource

Get property information as a formatted text resource:

```
zillow://property/{property_id}
```

### Market Trends Resource

Get market trends information as a formatted text resource:

```
zillow://market-trends/{location}
```

## Error Handling

The server implements robust error handling with:

- Automatic retries with exponential backoff
- Detailed error logging
- Rate limit handling
- Connection timeouts
- Graceful degradation

## Technical Architecture

This MCP server is built using:

- **FastMCP**: A Pythonic framework for building Model Context Protocol servers
- **Requests**: For making HTTP requests to the Zillow Bridge API with connection pooling and retries
- **Backoff**: For implementing exponential backoff retry logic
- **python-dotenv**: For managing environment variables

The server provides both tools (interactive functions) and resources (static data) that Claude can access to provide real estate information to users.

## Limitations and Considerations

- Zillow's API has usage limits (typically 1,000 requests per day per dataset)
- Zillow's terms of service prohibit storing data locally; all requests must be dynamic
- You must properly attribute data to Zillow in the user interface
- The Bridge API format may change; refer to Zillow's documentation for updates

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create a feature branch: `git checkout -b feature-name`
3. Commit your changes: `git commit -m 'Add some feature'`
4. Push to the branch: `git push origin feature-name`
5. Submit a pull request

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Acknowledgments

- [FastMCP](https://github.com/jlowin/fastmcp) for the Pythonic MCP implementation
- [Zillow](https://www.zillow.com) for providing real estate data APIs
- [Model Context Protocol](https://modelcontextprotocol.io) for the standard protocol specification

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [sap156](https://github.com/sap156)
- **Source:** [sap156/zillow-mcp-server](https://github.com/sap156/zillow-mcp-server)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-sap156-zillow-mcp-server
- Seller: https://agentstack.voostack.com/s/sap156
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
