# Rightmove MCP

> Rightmove MCP Server manages your entire property listing lifecycle. Use this server through your AI agent to create new listings, update prices and media details, remove sold properties with reason codes, track performance metrics (search appearances, views), and pull specific lead emails for any branch.

## Overview
- **Category:** real-estate
- **Price:** Free
- **Tags:** property-listings, estate-agency, lead-tracking, real-estate-marketing, rightmove-api

## Description

You're managing real estate listings through **Rightmove**; you don't wanna juggle half a dozen tabs and forget crucial details. This server lets your AI agent handle your entire property lifecycle—from the first listing to the final sale—all without you leaving your chat window.

When you need to get properties live or update them, use the `send_property` tool. You can create brand-new listings by feeding it an address, price point, and all the media details right into your prompt. If a listing already exists, you just hit up `send_property` again; it'll handle adjusting prices, updating descriptions, or swapping out photos for an existing property.

When a sale goes through or you need to pull something offline, you use `remove_property`. This tool requires a mandatory reason code—you gotta tell the system *why* you're taking it down, like 'Sold,' so that it removes the listing correctly from the portal. You can’t just yank it; you gotta be precise with the exit strategy.

Tracking leads is where this thing really shines. If you wanna know who showed interest at a specific branch, run `get_branch_emails`. Just give it the specific branch ID and the date range, and it'll pull all the associated email leads for you. It’s clean, direct data.

To see how well your properties are performing on the site, invoke `get_property_performance`. This tool pulls concrete stats: you get to know exactly how many times a listing appeared in searches, along with the total count of detail views it racked up. You'll have solid numbers, not just gut feelings.

You can group these actions together; for example, you might use `send_property` to launch a new listing and then immediately run `get_property_performance` on that same ID later that week to track its initial traction. If you close out the sale, you'll use `remove_property`, making sure it’s tied to the right reason code. The system handles it all sequentially.

It streamlines everything: creating, updating, tracking performance via view counts and search appearances with `get_property_performance`, collecting leads by branch using `get_branch_emails`, and finally taking things down cleanly with `remove_property` after you’ve used **send_property** to list it in the first place. You control every step of the process.

## Tools

### get_branch_emails
Fetches email leads for a specific branch ID over defined date ranges.

### get_property_performance
Retrieves performance metrics, showing how often and how many times a listing was viewed.

### remove_property
Removes a specified property from the Rightmove portal using a mandatory reason code (e.g., 'Sold').

### send_property
Adds a new listing or updates an existing one on the Rightmove platform.

## Prompt Examples

**Prompt:** 
```
Update the price for property 'REF-998' in branch '12345' to £450,000.
```

**Response:** 
```
I've updated the listing for 'REF-998'. The new price is set to £450,000 with the specified price qualifier. The update has been sent to Rightmove successfully.
```

**Prompt:** 
```
Show me the performance stats for property 'AGENT-REF-001' in branch '54321'.
```

**Response:** 
```
For 'AGENT-REF-001', the listing has received 1,240 Search Appearances and 85 Detail Views over the last tracking period. Would you like to see the lead emails for this branch as well?
```

**Prompt:** 
```
Remove property 'REF-555' from Rightmove because it was sold.
```

**Response:** 
```
Processing removal for 'REF-555'... I have sent the removal request with reason code 1 (Sold). The property will no longer appear as active on the portal.
```

## Capabilities

### Update Property Details
Use the `send_property` tool to create new Rightmove listings or adjust prices, descriptions, and media for existing ones.

### Remove Listings from Portal
Execute `remove_property` when a property is sold or withdrawn, providing the required reason code to take it offline correctly.

### Retrieve Branch Lead Emails
Run `get_branch_emails` to fetch specific email leads for an agent branch over set date ranges.

### Analyze Listing Performance
Invoke `get_property_performance` to pull performance statistics, including total search appearances and detail view counts for any listing ID.

## Use Cases

### Listing price adjustment after a market review
A manager reviews Q3 performance metrics using `get_property_performance`. They see that listing 'REF-998' is underperforming. The agent then uses `send_property` to immediately update the price and description, ensuring the new rate goes live instantly.

### Cleaning up sold inventory at month-end
Operations needs to clear out old records. Instead of manually deleting listings, they run a batch command using `remove_property` for all properties marked 'Sold' in the database. This keeps the portal clean and accurate.

### Investigating stale lead activity
An agent needs to follow up on leads from two weeks ago. They use `get_branch_emails` by specifying the branch ID and date range. The agent retrieves a list of emails, so the agent can send a targeted follow-up.

### Onboarding a new property listing
A team member has just taken photos of a new house. They prompt the agent using `send_property`, providing all the details (address, price, media). The server handles the upload and publishing process to Rightmove.

## Benefits

- Stop logging into multiple web portals. You manage your entire portfolio—from updating details with `send_property` to removing sold listings via `remove_property`—all from one AI chat window.
- Get immediate insight into listing health. Use `get_property_performance` to pull hard data on search appearances and detail views, letting you know exactly which properties need attention.
- Never miss a lead again. `get_branch_emails` pulls specific email leads for any branch over set periods, giving your agents instant access to potential buyers' contact info.
- Streamline inventory cleanup. Instead of manually finding sold listings, run `remove_property`. This tool uses mandatory reason codes so the listing is taken down properly.
- Speed up client interactions. You can check performance stats (`get_property_performance`) and retrieve leads (`get_branch_emails`) during a meeting without switching tabs or systems.

## How It Works

The bottom line is: you manage your entire portfolio—from lead tracking to listing updates—using simple commands in your favorite AI client.

1. First, you subscribe to the server and provide your Rightmove Network ID, Certificate, and Private Key credentials.
2. Next, you prompt your AI agent with a specific task—for example, 'Update property REF-123 price to £500k' or 'Get leads for branch 456'.
3. The agent runs the necessary tool (`send_property`, `get_branch_emails`, etc.) and reports back the outcome directly in the chat.

## Frequently Asked Questions

**How do I update a listing price using send_property?**
You run `send_property` and include all necessary details: the property reference, the new price amount, and the desired qualifier. The server handles the API call to make sure the change is published.

**What is the difference between get_branch_emails and get_property_performance?**
`get_branch_emails` pulls lead contact info for a specific branch over time. `get_property_performance`, conversely, gives you metrics (views, searches) showing how well one single listing is doing.

**Does remove_property automatically delete the data?**
No, `remove_property` sends a request to Rightmove. It changes the property status on the portal and requires you to specify a mandatory reason code (like 'Sold') for it to take effect.

**Can I update multiple properties at once?**
Yes, you can structure your prompt to list several references. The agent processes each one using `send_property` sequentially, allowing you to bulk manage prices or descriptions.

**What credentials do I need to set up the `send_property` tool?**
You must provide your Rightmove Network ID, Certificate, and Private Key. These three items authenticate your AI client and give it permission to manage listings on your behalf.

**If I use `send_property` with invalid data, how does the tool handle the error?**
The system rejects the request immediately and returns an explicit error code. This message details exactly which address or price field needs correction before your agent can retry the update.

**How do I define the time frame when calling `get_branch_emails`?**
You must pass specific start and end date parameters to the tool. The agent uses these defined boundaries to pull only the lead emails collected from that branch during the specified period.

**Are there rate limits when running `get_property_performance`?**
Yes, standard API rate limits apply for stability. If you exceed them, your AI client will receive a 429 status error, which tells you exactly how long to wait before trying again.

**How do I update the price of an existing property listing?**
Use the `send_property` tool. If you provide an `agent_ref` that already exists in your Rightmove inventory, the system will automatically update the listing with the new `price_info` you provide.

**What information do I get when checking property performance?**
By using the `get_property_performance` tool with a `branch_id` and `agent_ref`, you will receive statistics such as 'Detail Views' (how many people clicked the listing) and 'Search Appearances'.

**Can I specify why a property is being removed?**
Yes. When using the `remove_property` tool, you must provide a `removal_reason` code (for example, 1 for Sold or 2 for Withdrawn) to maintain accurate records on the portal.