项目简介

'nadlan-mcp' 是一个用 Python 开发的 MCP (Model Context Protocol) 服务器,旨在为AI智能体和房地产专业人士提供对以色列政府公共房地产数据API (Govmap) 的便捷访问。它将复杂的API调用封装为易于调用的工具,允许LLM客户端通过标准化的JSON-RPC协议进行房地产数据的查询、分析和评估。

主要功能点

  • 地址智能补全与验证: 根据输入文本搜索并验证以色列地址,获取精确的地理坐标。
  • 房地产交易查询: 根据特定地址、指定半径范围或区域(如街道、社区)查询最近的房产交易详情,并支持按时间范围进行过滤。
  • 市场趋势分析: 为特定地址提供全面的市场趋势和价格模式分析,包括年度交易趋势、热门房产类型分布和周边社区洞察。
  • 地址对比分析: 对多个感兴趣的地址或区域的房地产市场数据进行比较,提供性能排名和关键洞察。
  • 估值可比房产: 根据目标地址和多种筛选条件(如房产类型、房间数、面积、楼层、价格范围等)查找可比房产。该功能会自动过滤统计异常值,提供更精确的估值参考。
  • 市场活动指标: 获取全面的市场流动性评分、交易活动水平以及潜在投资回报的分析指标,帮助评估特定区域的投资环境。

安装步骤

在开始使用之前,请确保您的系统已安装 Python 3.7 或更高版本以及 'pip' 包管理器。

  1. 克隆仓库: 打开您的终端或命令行工具,执行以下命令将项目克隆到本地:

    git clone https://github.com/nitzpo/nadlan-mcp
    cd nadlan-mcp
  2. 创建并激活虚拟环境: 为了保持项目依赖的隔离性,强烈建议使用虚拟环境:

    python -m venv venv
    • 在 Windows 上激活:
      venv\Scripts\activate
    • 在 macOS/Linux 上激活:
      source venv/bin/activate
  3. 安装项目依赖: 激活虚拟环境后,安装项目所需的全部Python包:

    pip install -e .

    如果您是开发者并需要安装所有开发依赖,可以使用:

    pip install -e .[dev]

服务器配置(供MCP客户端使用)

MCP客户端(如Claude Desktop或其他AI智能体)需要配置服务器的启动信息才能连接。以下是基于 'nadlan-mcp' 仓库信息生成的配置示例,以及对每个参数的说明:

配置示例(用于本地FastMCP服务器 - 推荐给AI智能体):

{
  "servers": {
    "nadlan-mcp": {
      "command": "python",
      "args": ["/path/to/nadlan-mcp/run_fastmcp_server.py"],
      "env": {}
    }
  }
}
  • 'server name': 'nadlan-mcp' 这是您为该MCP服务器实例设置的名称,客户端将使用此名称来引用和区分它。您可以根据需要自定义。
  • 'command': 'python' 这是启动MCP服务器所需的 Python 解释器命令。请确保您的系统路径中可以找到 'python' 命令。
  • 'args': '["/path/to/nadlan-mcp/run_fastmcp_server.py"]' 这是启动MCP服务器脚本的完整路径。您需要将 '/path/to/nadlan-mcp/' 替换为您本地克隆 'nadlan-mcp' 仓库的实际绝对路径。例如,如果您的仓库在 '/Users/username/projects/nadlan-mcp',那么参数就是 '["/Users/username/projects/nadlan-mcp/run_fastmcp_server.py"]'。这个参数告诉MCP客户端如何启动后端服务进程。
  • 'env': '{}' 这是一个可选字段,用于设置服务器运行时的环境变量。例如,您可以配置 '{"PORT": "8080"}' 来更改HTTP服务器监听的端口,或者设置 '{"GOVMAP_BASE_URL": "..."}' 来指定Govmap API的URL。

如果您部署了HTTP MCP服务器(适合云平台):

如果您的 'nadlan-mcp' 服务器已作为独立的HTTP服务在云端运行(例如使用 'python run_http_server.py' 启动),那么MCP客户端通常会直接配置服务器的HTTP端点URL。具体的配置方式取决于您的MCP客户端如何支持HTTP传输。例如,它可能只需要一个URL字段,例如 'http://your-server-ip:8000/mcp'。

基本使用方法

激活虚拟环境并安装依赖后,您可以选择以下方式启动服务器:

  1. 启动 FastMCP 服务器 (推荐用于本地AI智能体集成): 在项目根目录中执行:

    python run_fastmcp_server.py

    此命令将启动一个FastMCP服务器,通过标准I/O (stdio) 传输协议与客户端通信。这是进行本地开发和测试AI智能体的推荐方式。

  2. 启动 HTTP 服务器 (用于云部署/Docker): 如果您需要将服务器部署到云平台或Docker容器中,可以使用HTTP传输协议:

    python run_http_server.py

    此命令将启动一个HTTP服务器,默认监听端口8000。您可以构建并运行Docker镜像:

    • 构建Docker镜像: 'docker build -t nadlan-mcp .'
    • 运行Docker容器: 'docker run -p 8000:8000 nadlan-mcp' HTTP MCP端点通常为 'http://localhost:8000/mcp' (或您配置的其他主机/端口)。

一旦服务器成功启动,您的MCP客户端或AI智能体即可通过配置连接并调用以下工具:

  • 'autocomplete_address(search_text)':根据部分地址文本进行智能搜索和补全。
  • 'find_recent_deals_for_address(address, years_back=2, radius_meters=30, max_deals=100, deal_type=2)':查找指定地址附近最新的房地产交易。
  • 'analyze_market_trends(address, years_back=3, radius_meters=100, max_deals=100, deal_type=2)':对指定地址的市场趋势进行深入分析。
  • 'compare_addresses(addresses)':比较列表中多个地址的房地产市场数据。
  • 'get_valuation_comparables(address, ...)':根据多种条件获取可用于房产估值的可比交易。
  • 'get_market_activity_metrics(address, years_back=2, radius_meters=100)':获取一个区域的市场活动和投资潜力指标报告。
  • 'get_street_deals(polygon_id, limit=100, deal_type=2)':获取指定街道多边形区域内的房地产交易。
  • 'get_neighborhood_deals(polygon_id, limit=100, deal_type=2)':获取指定社区多边形区域内的房地产交易。
  • 'get_deal_statistics(address, years_back=2, property_type=None, min_rooms=None, max_rooms=None, iqr_multiplier=None)':获取指定地址的交易统计数据。

信息

分类

网页与API