Zillow Real Estate Data について
Python と FastMCP で構築された Zillow の不動産データ MCP サーバーです。MCP クライアントから物件情報、推定価格、市場動向を確認したい利用者に向いています。住宅ローン計算機も含み、stdio と HTTP で実行できます。
主な機能
- 01地域と価格帯による物件検索
- 02物件詳細と Zestimate の参照
- 03地域ごとの不動産市場トレンドの確認
- 04諸費用を含む住宅ローン支払額の計算
- 05stdio と HTTP の実行モード
活用シーン
- 01都市と価格帯を指定して売り出し物件を検索する
- 02特定の住所の Zestimate 推定価格を調べる
- 03頭金と金利を変えて毎月の住宅ローン返済額を試算する
MCP 対応
search_properties などのツールと zillow:// スキームのリソースを通じて、Zillow の不動産データを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Zillow MCP サーバー
Python と FastMCP で構築された、Zillow の不動産データにリアルタイムでアクセスできる Model Context Protocol(MCP)サーバーです。
機能
- 🏠 物件検索:所在地、価格帯、物件の特徴に基づいて物件を検索します
- 💰 物件の詳細:特定の物件に関する詳細情報を取得します
- 📊 Zestimates:Zillow 独自の住宅価格評価データにアクセスします
- 📈 市場動向:あらゆる地域の不動産市場の動向を確認します
- 🧮 住宅ローン計算機:さまざまな入力値に基づいて住宅ローンの支払い額を計算します
- 🔍 ヘルスチェック:API の接続を確認し、パフォーマンスを監視します
インストール
前提条件
- Python 3.8 以降
- Zillow Bridge API キー([email protected] にアクセスを申請してください)
セットアップ
-
このリポジトリをクローンします:
git clone https://github.com/yourusername/zillow-mcp-server.git cd zillow-mcp-server -
依存関係をインストールします:
pip install -r requirements.txt -
Zillow API キーを記載した
.envファイルを作成します:ZILLOW_API_KEY=your_zillow_api_key_here
サーバーの実行
オプションを指定してサーバーを実行します:
# 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 によるデプロイ
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
Claude Desktop での使用方法
Claude Desktop の設定ファイルに Zillow MCP サーバーを追加します:
- 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"]
}
}
}
リモート HTTP サーバーの場合:
{
"mcpServers": {
"zillow-remote": {
"command": "npx",
"args": ["mcp-remote", "https://your-mcp-server-url.com/sse"]
}
}
}
利用可能なツール
物件を検索
さまざまな条件に基づいて物件を検索します:
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
)
Claude での使用例:
Please search for properties in Seattle with prices between $500,000 and $800,000.
物件の詳細を取得
特定の物件に関する詳細情報を取得します:
get_property_details(
property_id: str = None,
address: str = None
)
Claude での使用例:
Can you get the details for the property with ID 12345?
Zestimate を取得
物件の Zillow による推定価格を取得します:
get_zestimate(
property_id: str = None,
address: str = None
)
Claude での使用例:
What's the Zestimate for 123 Main St, Seattle, WA?
市場動向を取得
特定の地域の不動産市場の動向を取得します:
get_market_trends(
location: str,
metrics: List[str] = ["median_list_price", "median_sale_price", "median_days_on_market"],
time_period: str = "1year"
)
Claude での使用例:
What are the current real estate trends in Boston over the past year?
住宅ローンを計算
住宅ローンの支払い額と関連費用を計算します:
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
)
Claude での使用例:
Calculate the monthly mortgage payment for a $600,000 house with 20% down and a 6% interest rate.
ヘルスチェック
Zillow API への接続を確認し、サーバーのステータスを取得します:
check_health()
Claude での使用例:
Please check if the Zillow API is currently responsive.
サーバーのツール一覧を取得
このサーバーで利用可能なすべてのツールの一覧を取得します:
get_server_tools()
Claude での使用例:
What tools are available in the Zillow MCP server?
利用可能なリソース
物件リソース
書式設定されたテキストリソースとして物件情報を取得します:
zillow://property/{property_id}
市場動向リソース
書式設定されたテキストリソースとして市場動向情報を取得します:
zillow://market-trends/{location}
エラー処理
このサーバーでは、次のような堅牢なエラー処理を実装しています:
- 指数バックオフによる自動再試行
- 詳細なエラーログ記録
- レート制限への対応
- 接続タイムアウト
- グレースフルデグラデーション
技術アーキテクチャ
この MCP サーバーは、次の技術を使用して構築されています:
- FastMCP:Model Context Protocol サーバーを構築するための Python 向けフレームワーク
- Requests:コネクションプーリングと再試行を利用して Zillow Bridge API に HTTP リクエストを送信します
- Backoff:指数バックオフによる再試行ロジックを実装します
- python-dotenv:環境変数を管理します
このサーバーは、Claude がユーザーに不動産情報を提供するために利用できる、ツール(対話型関数)とリソース(静的データ)の両方を提供します。
制限事項と留意点
- Zillow の API には利用制限があります(通常、データセットごとに 1 日あたり 1,000 リクエスト)
- Zillow の利用規約では、データをローカルに保存することが禁止されています。すべてのリクエストは動的に行う必要があります
- ユーザーインターフェースでは、データの提供元として Zillow を適切に明記する必要があります
- Bridge API の形式は変更される場合があります。最新情報は Zillow のドキュメントを参照してください
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
- リポジトリをフォークします
- 機能ブランチを作成します:
git checkout -b feature-name - 変更をコミットします:
git commit -m 'Add some feature' - ブランチにプッシュします:
git push origin feature-name - プルリクエストを送信します
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
謝辞
- PythonらしいMCP実装を提供するFastMCP
- 不動産データAPIを提供するZillow
- 標準プロトコル仕様を提供するModel Context Protocol
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。