Setting Up Repliers MCP
Repliers MCP connects the Repliers API to AI assistants like ChatGPT, Claude, Claude Code and Codex, enabling you to leverage all of Repliers' features through natural language — including property searches, market analytics, listing history, and more.
There are two ways to use Repliers MCP:
- Hosted MCP (recommended) — connect directly to Repliers' MCP Server at https://mcp.repliers.io and sign in with your Repliers account. No server setup, and no API key ever goes into your client configuration.
- Open Source / Self-hosted (for technical users) — run your own instance using the Repliers MCP Server on GitHub with your API key in the environment. Recommended for developers who want full control over their environment or need a customized setup.
Step 1: Link Your API Key to MCP
Before connecting any MCP client to the hosted server, you need to authorize a Repliers API key for use with MCP. (Self-hosters skip this step — your key goes in a .env file instead, see Option B.)
- Sign in to the Repliers Developer Portal
- Find the API key you want to use and click the MCP icon next to it
- That key is now linked to Repliers MCP
Step 2: Configure NLP for Listing Search
The Search_Listings tool works differently from most MCP tools — instead of relying on the AI assistant to structure the API request, it passes your natural language query directly to Repliers' own NLP endpoint. This approach was chosen because it produces significantly more accurate results: Repliers' NLP layer understands MLS-specific terminology, normalizes values to match MLS® standards, and supports context-aware conversational searches.
Because the NLP endpoint is powered by OpenAI, you must link a valid OpenAI API key to your Repliers API key before Search_Listings will work. Every other tool works without it.
How to Enable NLP Search
- Sign in to the Repliers Developer Portal
- Select the API key you have linked to MCP
- Edit the key settings and locate the NLP Search option
- Enter your OpenAI API key and save
Once configured, the Search_Listings tool will accept natural language queries and automatically convert them into structured Repliers API requests. Full guide: Utilizing AI-Powered NLP for Real Estate Listing Searches.
What NLP Search Can Do
- Natural language to structured queries — "Find me a condo in Toronto with at least 1 bedroom in the Annex with underground parking" is automatically converted into the correct Repliers API parameters
- Context-aware conversations — follow-up prompts refine the previous search without starting over (e.g., "Also, my budget is $500k and I need at least 1 parking spot")
- AI image search integration — visual preferences like "white kitchen" or "open concept living room" are incorporated into the search
- MLS® data normalization — user-friendly terms are mapped to valid MLS® values (e.g., "enclosed balcony" →
balcony=encl)
How the assistant keeps searches honest
Every Search_Listings response leads with an appliedFilters block that shows which filters were actually applied — location, property type, style, price range, bedrooms and so on. The assistant is instructed to compare that block against your request before presenting results, because the NLP parser occasionally drops or substitutes a constraint. When it finds a mismatch it fixes it with refine-search, which re-runs the previous search with only the named parameters corrected, and can report the misparse to the Repliers team with send-feedback so the parser improves over time. You will always be told when a report is sent.
Option A: Hosted MCP Server (Recommended)
The hosted MCP server is the fastest and easiest way to get started — no installation or local server required. It runs at:
https://mcp.repliers.ioBoth https://mcp.repliers.io and https://mcp.repliers.io/mcp are accepted; use whichever your client prefers. The server speaks Streamable HTTP and authenticates with OAuth 2.1: your client opens a browser window, you sign in with your Repliers account, and the client is returned an access token. The API key you linked in Step 1 is then used for every request — it never appears in your client's configuration.
Connecting via Claude (claude.ai and Claude Desktop)
- In Claude, open Settings → Connectors
- Choose Add custom connector
- Enter the hosted MCP URL: https://mcp.repliers.io
- Save the connector
- When prompted, sign in to your Repliers account to authorize the connection
Once connected, Claude will have access to all Repliers MCP tools in your conversations. Connectors added on claude.ai are available in the Claude desktop and mobile apps too.
Connecting via ChatGPT
Before you start: remove any existing Repliers plugin. If you previously added Repliers to ChatGPT as a personal plugin (MCP server), you must remove it first. With two plugins offering the same tools, ChatGPT cannot decide which server to use and every request fails with an error.
- In ChatGPT on the web, open Plugins and select Personal (https://chatgpt.com/plugins?view=personal). The custom MCP servers you added are listed under Created by me
- Find your existing Repliers plugin, press … on its row and select Uninstall. If the row shows + instead of …, the plugin is already uninstalled — nothing to do
Then add the hosted server:
- Still on Plugins → Personal, press the + button at the top right, next to the search box
- Enter a name that is not already used by a plugin under Created by me — for example Repliers New if "Repliers" is taken. ChatGPT will not create a second plugin with a name that is already in use; the name is only a label and does not affect how the tools work
- Enter the MCP server URL: https://mcp.repliers.io/mcp
- Leave authentication set to OAuth and save
- When prompted, sign in to your Repliers account to complete authorization
- Review the list of discovered tools — you should see
Search_Listings,Market_Statisticsand the rest of the roster below
Watch The Video!
Our Co-Founder, Patrick Arlia recorded a video that shows you how to connect ChatGPT to Repliers. Click here to view it on YouTube.
Connecting via Claude Code
claude mcp add --transport http repliers https://mcp.repliers.io/mcp
Then run /mcp inside Claude Code and choose Authenticate next to repliers. A browser window opens for the Repliers sign-in; once it completes, the tools are available in your session.
Connecting via Codex, Cursor and other MCP clients
Add a remote (HTTP) server with the URL https://mcp.repliers.io/mcp, leave authentication set to OAuth, and complete the browser sign-in when the client prompts for it.
Supported MCP clients
The Repliers sign-in only returns to clients whose OAuth callback URLs are registered with us. These clients are supported today:
- Claude Desktop
- Claude Code
- ChatGPT
- Codex
- Copilot
- Cursor
- Antigravity
- Smithery
- Perplexity AI
- LeadConnector
If you connect from a client that is not on this list and get an OAuth error during sign-in, reach out to Repliers support — we can add it.
Option B: Open Source / Self-Hosted MCP Server (For Technical Users)
If you prefer to run your own MCP server — for example, in a production environment or to customize the toolset — you can use the open source version. This option is recommended for developers comfortable with the command line.
A self-hosted server has no user accounts or OAuth: it authenticates to Repliers with the API key in its environment, so it should only be exposed to people you trust with that key. It is ideal for personal use and internal tools.
Prerequisites
- Node.js — the version pinned in the repository's
.nvmrcfile (currently 26.x). The project enablesengine-strict, sonpm installrefuses other major versions. If you use a version manager such asnvmorfnm, runnvm use/fnm usein the project directory first. - npm (included with Node.js)
- A Repliers API key
Installation
1. Clone the repository
git clone https://github.com/Repliers-io/mcp-server.git cd mcp-server
2. Install dependencies
npm install3. Configure your API key
Create a .env file in the project root:
REPLIERS_API_KEY=your-repliers-api-key
PORT=3001
PORT only matters for the HTTP transport (below) and defaults to 3001.
4. Start the server
The server supports two transports from one entry point:
node mcpServer.js # stdio — for Claude Desktop, Postman, and other local clients node mcpServer.js --http # Streamable HTTP on http://localhost:3001/mcp (and /) — for remote-MCP clients
--sse. That flag is still accepted as an alias, but the transport is now Streamable HTTP, served at both /mcp and /. Point clients at http://localhost:3001/mcp.Testing with Postman (Optional but Recommended)
Before connecting to an AI client, you can verify your server is working using the Postman Desktop App.
- Download Postman Desktop
- Create a new MCP Request
- Set the type to
STDIOand the command to:
node /absolute/path/to/mcpServer.jsTo find the absolute path, run:
realpath mcpServer.js- Click Connect — you should see a list of available Repliers tools
Connecting to Claude Desktop
- Get the absolute paths to your
nodebinary andmcpServer.js:
which node
realpath mcpServer.js- Open Claude Desktop → Settings → Developers → Edit Config and add:
{
"mcpServers": {
"repliers": {
"command": "/absolute/path/to/node",
"args": ["/absolute/path/to/mcpServer.js"],
"env": {
"REPLIERS_API_KEY": "your-repliers-api-key"
}
}
}
}- Save and restart Claude Desktop
- Confirm the Repliers server has a green indicator under Settings → Developers
node. Claude Desktop does not inherit your shell's PATH, so a bare node may resolve to an older install than the one the server requires. You can check your version with node --version.Connecting to Claude Code
claude mcp add --transport http repliers http://localhost:3001/mcp
with the server running as node mcpServer.js --http. No sign-in is needed for a self-hosted server.
Docker Deployment (Production)
For production use, Docker is recommended for reliability and isolation. One image serves both transports; the default command is Streamable HTTP.
1. Build the image
docker build -t repliers-mcp .2. Run it
# Streamable HTTP (default) — endpoint http://localhost:3001/mcp (and /) docker run --rm --env-file .env -p 3001:3001 repliers-mcp # stdio — override the command, keep stdin open, no TTY, no port docker run -i --rm --env-file .env repliers-mcp node mcpServer.js
3. For a stdio client such as Claude Desktop, point the client at docker:
{
"mcpServers": {
"repliers": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file", "/absolute/path/to/.env", "repliers-mcp", "node", "mcpServer.js"]
}
}
}Make sure your .env file contains your REPLIERS_API_KEY. -i is required (without it stdin closes and the server exits); -t must not be set (a TTY corrupts the JSON-RPC stream). The image runs as the unprivileged node user and excludes .env, node_modules, .git, docs and test — configuration comes only from --env-file or -e.
Optional configuration
Variable | Effect |
|---|---|
| Points every tool at a different Repliers deployment (default |
| Enables the |
|
|
| How eagerly the server nudges the assistant to verify results and report problems: |
|
|
Restart the server after every .env change.
Available Tools
Once connected, your AI assistant can use the full suite of Repliers tools, organized by category:
Listings
Tool | Description |
|---|---|
| Natural-language search of active, sold or leased listings via Repliers NLP — the entry point for every new search. Requires NLP to be enabled (Step 2). Responses lead with |
| Surgically corrects a previous |
| Fetch detailed information for a specific listing by MLS number |
| Download a listing's photo (cover image by default, or the Nth photo) and return it as viewable image data — useful when the assistant cannot load image URLs directly |
| Return listings similar to a given property by location, price, or type |
| Retrieve full MLS listing history for a specific address |
| Retrieve the exact values your board uses for listing fields (property types, styles, neighborhoods, etc.) — used before statistics queries and refinements so filter values are valid |
| Market statistics and reports — averages, medians, days on market — filtered by property attributes and grouped by time or geography |
Locations & Buildings
Tool | Description |
|---|---|
| Search geographic locations supported by the Repliers API |
| Autocomplete location queries for search inputs |
| Search building-level data for condos, apartments, and complexes |
| Fetch detailed information about a specific building |
Agents, Members & Brokerages
Tool | Description |
|---|---|
| Search for agents |
| Retrieve details for a specific agent |
| Create a new agent record |
| Update an existing agent record |
| Delete an agent record |
| Search for MLS members |
| Search for brokerages |
| Search for offices |
Clients
Tool | Description |
|---|---|
| Search for clients |
| Retrieve details for a specific client |
| Create a new client record |
| Update an existing client record |
| Delete a client record |
Saved Searches
Tool | Description |
|---|---|
| List all saved searches |
| Retrieve a specific saved search |
| Create a new saved search |
| Update an existing saved search |
| Delete a saved search |
| List listings matching a saved search |
| Retrieve a specific saved search match |
| Update a saved search match |
Favorites
Tool | Description |
|---|---|
| List favorited listings |
| Remove a listing from favorites |
Estimates
Tool | Description |
|---|---|
| List property estimates |
| Create a new property estimate |
| Update an existing estimate |
| Delete an estimate |
Messaging & NLP
Tool | Description |
|---|---|
| List messages |
| Retrieve a specific message |
| Send a message |
| List NLP chat sessions |
| Retrieve NLP search history |
Feedback
Tool | Description |
|---|---|
| Report a search-quality or API problem to the Repliers team (an NLP misparse, an API error, wrong or empty results). Available on the hosted server; on a self-hosted server only when Trello keys are configured |
Every tool is annotated as read-only or mutating, so clients that hide write operations (for example read-only ChatGPT connectors) filter the list automatically.
Example Prompts
- "Find 3-bedroom apartments in San Francisco under $1 million listed in the last week"
- "Show me the cover photo of the first one"
- "Send listing alerts to my client john doe when 4 bedroom homes in austin hit the market"
- "Give me the listing history for 123 Main St, San Francisco"
- "What's the median list price for residential homes in Austin, aggregated by month over the last 18 months?"
Troubleshooting
The hosted MCP server isn't showing as connected
Make sure you've linked an API key in the Repliers Developer Portal (Step 1 above). Only one key can be active at a time. If you signed in but every tool call fails with "account not provisioned", the account you signed in with has no linked key.
I'm being asked to sign in again after an update
Expected once: the hosted server moved to OAuth 2.1 and existing connectors must re-authorize. Complete the sign-in and it will not ask again until the token expires.
Sign-in fails with an OAuth error (redirect or callback not allowed)
Your MCP client is probably not on the supported clients list — the Repliers sign-in only returns to registered callback URLs. Reach out to Repliers support with the name of the client the the required callback URLs and we can add it.
I'm being asked to sign in on every connection
Ensure you're completing the Repliers sign-in flow fully. If the issue persists, remove and re-add the connector, or unlink and re-link your API key in the Developer Portal.
Search_Listings fails but other tools work
NLP is not enabled on the linked API key. Follow Step 2.
ChatGPT shows no option to add a plugin, or the connection fails partway (desktop app)
Set up from the web app at https://chatgpt.com instead. The desktop apps do not currently support adding a custom MCP plugin; once it is created on the web, it appears in the desktop and mobile apps.
ChatGPT errors about which MCP server to use
An earlier Repliers plugin is still installed alongside the new one. In ChatGPT on the web, open Plugins → Personal, press … on the old Repliers plugin and select Uninstall, then try again — see Connecting via ChatGPT above.
ChatGPT will not accept the plugin name
A plugin with that name already exists under Plugins → Personal → Created by me — uninstalled plugins stay listed there and keep their name. Try … → Manage → Delete on the old plugin; if it is still listed afterwards (this does not always work), choose a different name, for example Repliers New. The name is only a label.
npm install refuses to run (self-hosted)
Your Node.js version does not match .nvmrc. Install the pinned version (or run nvm use / fnm use) and try again.
Claude Desktop falls back to an old Node version
Use the absolute path to your Node binary (from which node) rather than just node in your config.
Tools aren't appearing in Claude
Restart Claude Desktop after editing the config file. Confirm the server has a green status indicator under Settings → Developers. For the hosted connector, check that the connector is enabled for the current conversation.
My client connects but reports the wrong endpoint (self-hosted)
The HTTP transport is served at /mcp (and /) on the configured PORT. The old --sse flag now starts the same Streamable HTTP server.
Additional Resources
- Repliers Developer Portal
- Repliers MCP Server on GitHub
- Enabling NLP Search
- Repliers API Documentation
- Create a Repliers Account
Updated on: 14/09/2026
Thank you!
