Zillow MCP server

Integrates with Zillow's real estate API to provide property searches, detailed information, Zestimates, market trends analysis, and mortgage calculations for home buying decisions.
Back to servers
Setup instructions
Provider
Rohit Singh
Release date
May 22, 2025
Stats
4 stars

This MCP server provides real-time access to Zillow real estate data, allowing you to search properties, view details, access Zestimates, analyze market trends, and calculate mortgage payments through a Python-based implementation of the Model Context Protocol.

Requirements

Installation

  1. Clone the repository:

    git clone https://github.com/rohitsingh-iitd/zillow-mcp-server
    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 one of these options:

# 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

Using Docker

You can also run the server using Docker:

# 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

Integration 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
{
  "mcpServers": {
    "zillow": {
      "command": "python",
      "args": ["/path/to/zillow_mcp_server.py"]
    }
  }
}

For remote HTTP server:

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

Available Tools

Property Search

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 query:

Please search for properties in Seattle with prices between $500,000 and $800,000.

Property Details

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

Example query:

Can you get the details for the property with ID 12345?

Zestimate

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

Example query:

What's the Zestimate for 123 Main St, Seattle, WA?

Market Trends

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

Example query:

What are the current real estate trends in Boston over the past year?

Mortgage Calculator

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 query:

Calculate the monthly mortgage payment for a $600,000 house with 20% down and a 6% interest rate.

Health Check

check_health()

Example query:

Please check if the Zillow API is currently responsive.

Available Tools

get_server_tools()

Example query:

What tools are available in the Zillow MCP server?

Resources

Access formatted property information:

zillow://property/{property_id}

Access formatted market trends:

zillow://market-trends/{location}

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "zillow" '{"command":"python","args":["/path/to/zillow_mcp_server.py"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

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

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

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

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later