返回市场
齐洛-麦普服务器

齐洛-麦普服务器

作者:rohitsingh-iitd5 星标更新:2025-05-22

项目介绍

README.md - Zillow MCP Server

这是一个提供实时访问Zillow房地产数据的模型上下文协议(MCP)服务器,使用Python和FastMCP构建。

功能

  • 🏠 房产搜索:按位置、价格范围和房产特征搜索房产
  • 💰 房产详情:获取特定房产的详细信息
  • 📊 Zestimates:访问Zillow专有的房屋估值数据
  • 📈 市场趋势:查看任何地点的房地产市场趋势
  • 🧮 抵押计算器:根据各种输入计算抵押贷款支付
  • 🔍 健康检查:验证API连接并监控性能

要求

安装

  1. 克隆此仓库:
git clone https://github.com/rohitsingh-iitd/zillow-mcp-server
cd zillow-mcp-server
  1. 安装依赖项:
pip install -r requirements.txt
  1. 创建一个包含您的Zillow API密钥的.env文件:
ZILLOW_API_KEY=your_zillow_api_key_here

使用方法

使用选项运行服务器:

# 标准标准输入输出模式(适用于Claude Desktop)
python zillow_mcp_server.py

# HTTP服务器模式(用于远程访问)
python zillow_mcp_server.py --http --port  8000

# 调试模式以获得更详细的日志
python zillow_mcp_server.py --debug

您也可以使用Docker运行服务器:

# 构建Docker镜像
docker build -t zillow-mcp-server .

# 使用环境变量运行
docker run -p 8000:8000 -e ZILLOW_API_KEY=your_key_here zillow-mcp-server

# 或者使用.env文件
docker run -p 8000:8000 --env-file .env zillow-mcp-server

在Claude Desktop中的使用

将Zillow MCP服务器添加到您的Claude Desktop配置文件中:

  • 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

基于各种条件搜索房产:

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中的示例用法:

请搜索西雅图价格在500,000美元到800,000美元之间的房产。

get_property_details

获取特定房产的详细信息:

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

在Claude中的示例用法:

你能获取ID为12345的房产详情吗?

get_zestimate

获取Zillow对房产的估价:

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

在Claude中的示例用法:

123 Main St, Seattle, WA的Zestimate是多少?

get_market_trends

获取特定地点的房地产市场趋势:

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

在Claude中的示例用法:

过去一年波士顿的房地产趋势是什么?

calculate_mortgage

计算抵押贷款支付及相关费用:

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中的示例用法:

计算价值600,000美元的房子,首付20%,利率6%的月度抵押贷款支付。

check_health

验证Zillow API连接并获取服务器状态:

check_health()

在Claude中的示例用法:

请检查Zillow API当前是否响应。

get_server_tools

获取此服务器上所有可用工具的列表:

get_server_tools()

在Claude中的示例用法:

Zillow MCP服务器有哪些可用工具?

资源

作为格式化文本资源获取房产信息:

zillow://property/{property_id}

作为格式化文本资源获取市场趋势信息:

zillow://market-trends/{location}

错误处理

该服务器实现了强大的错误处理机制,包括:

  • 自动重试带有指数退避
  • 详细的错误日志记录
  • 速率限制处理
  • 连接超时
  • 平滑降级

技术细节

此MCP服务器使用以下技术构建:

  • FastMCP:用于构建模型上下文协议服务器的Python框架
  • Requests:用于向Zillow Bridge API发出HTTP请求,具有连接池和重试功能
  • Backoff:实现指数退避重试逻辑
  • python-dotenv:用于管理环境变量

该服务器提供了Claude可以访问以提供给用户房地产信息的工具(交互式函数)和资源(静态数据)。

限制和注意事项

  • Zillow的API有使用限制(通常每天每个数据集1,000次请求)
  • Zillow的服务条款禁止本地存储数据;所有请求必须是动态的
  • 您必须在用户界面中正确归因数据来源Zillow
  • Bridge API的功能可能会随时间变化,需要更新服务器

许可证

本项目采用MIT许可证——请参阅LICENSE文件了解详细信息。

致谢

  • Zillow提供Bridge API
  • Anthropic提供模型上下文协议规范