Skip to main content
Glama
mickmath86

Repliers MCP Server

by mickmath86

Repliers MCP 服务器

Repliers MCP 服务器提供了一套工具,以模型上下文协议 (MCP) 兼容的格式访问 Repliers API

Repliers API 为开发者提供对 MLS 列表、高级房产搜索和筛选、媒体交付(图像、平面图、导览)、市场分析以及人工智能驱动工具(如即时估值和提醒)的实时访问。它使开发者能够快速开发房地产平台,而无需管理后端基础设施或 MLS 集成。

这使您可以使用 Claude Desktop 或任何 MCP 客户端,通过自然语言利用 Repliers API 工具完成以下任务:

  • “帮我找旧金山 100 万美元以下、上市不到一周的三居室公寓”

  • “旧金山有哪些可用的房产类型和风格?”

  • “给我旧金山 123 Main St 的历史记录”

  • “过去 20 个月内,旧金山待售住宅的月度中位数挂牌价是多少?”

功能

MCP 服务器提供了以下访问 Repliers API 的工具。

search - 搜索工具是核心查询引擎,允许您使用灵活的筛选器搜索在售、已售或已租的房产列表,例如:

  • 地点(城市、社区、坐标等)

  • 价格范围

  • 房产类型和风格

  • 卧室、浴室、面积

  • 状态(在售、已售、已租)

  • 关键词、特征(例如游泳池、精装修地下室)

  • 上市日期、开放参观标志

  • 以及更多

get-a-listing - 使用 ID 或 MLS 编号获取特定房产列表的详细信息,包括地址历史记录

find-similar-listings - 根据地点、价格、类型或其他属性返回与给定房产相似的列表。

get-address-history - 获取特定地址的历史上市活动,包括之前的销售、租赁和上市变更。

property-types-styles - 返回给定 MLS 委员会支持的房产类型(例如公寓、独栋)和建筑风格的参考列表。

get-deleted-listings - 提供对最近从 MLS 中删除或移除的列表的访问权限。

areas-cities-and-neighborhoods - 返回 MLS 提供的地理区域、城市和社区的分层目录。

buildings - 获取已知建筑物(例如公寓或住宅楼)的数据,包括名称、地址和元数据。

让我们开始设置吧!

🚦 入门指南

⚙️ 先决条件

在开始之前,请确保您拥有:

警告:如果您使用较低版本的 Node 运行,某些功能可能无法按预期工作。

📥 安装与设置

1. 安装依赖项

在项目根目录下运行:

npm install

🔐 设置工具环境变量

您应该在项目根目录下创建一个 .env 文件。此文件将保存 Repliers 工具用于向 API 进行身份验证的环境变量。

REPLIERS_API_KEY 的值设置为您的 Repliers API 密钥,您可以在 Repliers API 密钥 中找到它。如果您没有账户,可以在 Repliers 注册一个。

REPLIERS_API_KEY=

此环境变量在工具内部用于为每个请求设置 API 密钥。您可以检查 tools 目录中的文件以了解其工作原理。

// environment variables are used inside of each tool file
const apiKey = process.env.REPLIERS_API_KEY;

🌐 使用 Postman 测试 MCP 服务器

MCP 服务器 (mcpServer.js) 将您的自动化 API 工具暴露给兼容 MCP 的客户端,例如 Claude Desktop 或 Postman 桌面应用程序。我们建议您先使用 Postman 测试服务器,然后再将其与 LLM 一起使用。

Postman 桌面应用程序是运行和测试 MCP 服务器的最简单方法。首先测试下载的服务器是可选的,但建议这样做。

第 1 步:从 https://www.postman.com/downloads/ 下载最新的 Postman 桌面应用程序。

第 2 步:阅读 此处 的文档文章,了解如何在 Postman 应用程序中创建 MCP 请求。

第 3 步:将 MCP 请求的类型设置为 STDIO,并将命令设置为 node </absolute/path/to/mcpServer.js>。如果您在使用 node 时遇到问题(例如使用了旧版本),请提供指向 20+ 版本 node 的绝对路径。您可以通过运行以下命令获取 node 的完整路径:

which node

要检查 node 版本,请运行:

node --version

要获取 mcpServer.js 的绝对路径,请运行:

realpath mcpServer.js

使用 node 命令后跟 mcpServer.js 的完整路径作为新 Postman MCP 请求的命令。然后点击 Connect 按钮。您应该会看到在生成服务器之前选择的工具列表。在将 MCP 服务器连接到 LLM 之前,您可以在此处测试每个工具是否正常工作。

👩💻 将 MCP 服务器连接到 Claude

您可以将 MCP 服务器连接到任何 MCP 客户端。在此,我们提供将其连接到 Claude Desktop 的说明。

第 1 步:记下上一步中 node 和 mcpServer.js 的完整路径。

第 2 步:打开 Claude Desktop → SettingsDevelopersEdit Config 并添加一个新的 MCP 服务器:

{
  "mcpServers": {
    "repliers": {
      "command": "<absolute/path/to/node>",
      "args": ["<absolute/path/to/mcpServer.js>"],
      "env": {
        "REPLIERS_API_KEY": "your-repliers-api-key"
      }
    }
  }
}

重启 Claude Desktop 以激活此更改。确保新的 MCP 已开启,并且旁边有一个绿色的圆圈。如果是这样,您就可以开始使用已连接工具的聊天会话了。

警告:如果您没有提供 v20+ 的 node 版本绝对路径,Claude(以及其他 MCP 客户端)可能会回退到系统上之前版本的 node

其他选项

🐳 Docker 部署(生产环境)

对于生产部署,您可以使用 Docker:

1. 构建 Docker 镜像

docker build -t <your_server_name> .

2. Claude Desktop 集成

将服务器配置添加到 Claude Desktop (Settings → Developers → Edit Config):

{
  "mcpServers": {
    "<your_server_name>": {
      "command": "node",
      "args": [
        "run",
        "-i",
        "--rm",
        "--env-file=.env",
        "<your_server_name>",
        "/ABSOLUTE/PATH/TO/PROJECT/DIRECTORY/mcp-unstructured-partition-demo/"
      ],
      "env": {
        "REPLIERS_API_KEY": "your-repliers-api-key"
      }
    }
  }
}

.env 文件中添加您的环境变量(API 密钥等)。

该项目附带了以下最小化的 Docker 设置:

FROM node:22.12-alpine AS builder

WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install

COPY . .

ENTRYPOINT ["node", "mcpServer.js"]

🌐 服务器发送事件 (SSE)

要使用服务器发送事件 (SSE) 支持运行服务器,请使用 --sse 标志:

node mcpServer.js --sse

🛠️ 其他 CLI 命令

列出工具

使用以下命令列出所有包含工具的描述和参数:

node index.js tools

示例:

Available Tools:

Workspace: repliers-api
  Collection: property-types-styles.js
    list_property_types_and_styles
      Description: List property types and styles from the Repliers API.
      Parameters:

  Collection: get-deleted-listings.js
    get_deleted_listings
      Description: Retrieve deleted listings from the Repliers API.
      Parameters:
        - updatedOn: The date when the listing was updated.
        - minUpdatedOn: The minimum date for updated listings.
        - maxUpdatedOn: The maximum date for updated listings.

  Collection: areas-cities-and-neighborhoods.js
    list_locations
      Description: List geographical location data such as areas, cities, and neighborhoods.
      Parameters:
        - area: Limits location metadata to areas matching the supplied value.
        - city: Limits location metadata to cities matching the supplied value.
        - class: Limits location metadata to classes matching the supplied value.
        - neighborhood: Limits location metadata to neighborhoods matching the supplied value.
        - search: Limits location metadata to areas, cities, or neighborhoods that match or partially match the supplied value.

  Collection: get-address-history.js
    get_address_history
      Description: Retrieve the MLS history of a specific address.
      Parameters:
        - city: The city of the property.
        - streetName: The street name of the property.
        - streetNumber: The street number of the property.
        - unitNumber: The unit number of the property.
        - streetSuffix: The street suffix of the property.
        - streetDirection: The street direction of the property.
        - zip: The zip code of the property.

  Collection: buildings.js
    repliers_buildings_search
      Description: Search for building data using the Repliers API. Returns information about buildings/complexes rather than individual listings. All parameters including map are sent as query parameters in GET requests.
      Parameters:
        - params: No description
        - pageNum: Page number for pagination (default: 1). If specified loads a specific page in the results set
        - resultsPerPage: Number of buildings to return per page (default: 100, max: 100)

  Collection: get-a-listing.js
    get_listing
      Description: Get a listing using the MLS.
      Parameters:
        - mlsNumber: The MLS number of the listing you wish to retrieve.
        - boardId: Filter by boardId. This is only required if your account has access to more than one MLS.

  Collection: find-similar-listings.js
    find_similar_listings
      Description: Find similar listings using the MLS number.
      Parameters:
        - mlsNumber: The MLS number of the listing to find similar listings for.
        - boardId: Filter by one or more board IDs.
        - fields: Limit the response to specific fields (e.g., "listPrice,soldPrice" or "images[5]").
        - listPriceRange: Returns similar listings within a price range (e.g., 250000 for +/- $250,000).
        - radius: Show similar listings within a specified radius in kilometers.
        - sortBy: Sort similar listings by a specific field (e.g., "updatedOnDesc", "createdOnAsc").

  Collection: search.js
    repliers_listings_search
      Description: Comprehensive property search using Repliers API with all supported parameters. Most parameters are sent as query parameters (GET request). imageSearchItems and map parameters trigger a POST request with body parameters.
      Parameters:
        - params: No description
        - pageNum: Page number for pagination (default: 1)
        - resultsPerPage: Number of results per page (default: 100, max: 100)
A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mickmath86/repliers-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server