# UK Property Deals MCP — BTL & R2SA Deal Finder for AI (`memo23/uk-property-deals-mcp`) Actor

A hosted MCP server for UK property investment deals: query buy-to-let & serviced-accommodation deals by area, ROI, budget and strategy from Claude, Cursor, ChatGPT or any MCP client. Each deal is a public Rightmove listing scored for ROI, cashflow, payback & best strategy. Billed per tool call.

- **URL**: https://apify.com/memo23/uk-property-deals-mcp.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Real estate, AI, Agents
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 tool calls

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## UK Property Deals MCP — BTL & Serviced-Accommodation Deal Finder

A hosted **[Model Context Protocol](https://modelcontextprotocol.io) server** that lets Claude, Cursor, ChatGPT or any MCP client **find UK buy-to-let and serviced-accommodation investment deals** — ranked by ROI, cashflow and payback — straight from a chat.

Ask *"find me buy-to-let deals in Manchester under £200k with over 8% ROI"* and get back real, scored properties with monthly cashflow, payback period, cash needed and a Rightmove link.

### Why use it

- **Deals, not listings.** Every result is a public Rightmove listing already scored for **ROI, monthly cashflow, payback, gross yield and the best strategy** (buy-to-let vs rent-to-serviced-accommodation) against real local rent / short-let comps.
- **Ranked best-first.** Results come back sorted by ROI, with data-quality flags (auction guides, shared-ownership, price/ROI anomalies) filtered out of the default feed.
- **Conversational.** No CSV exports, no dashboards — query it in natural language from your MCP client.
- **Nationwide.** Covers 1,100+ UK outcodes across 55+ towns and cities, growing continuously.

### Tools

| Tool | What it does |
|------|--------------|
| `find_deals` | Ranked deal search — filter by area (outcode), budget, min ROI %, strategy (`btl` / `r2sa`), bedrooms and max payback. |
| `area_deals` | Every scored deal in one UK outcode (e.g. `M14`), ranked by ROI. |
| `deal_stats` | Coverage summary — total deals, areas, ROI by strategy, and the best-ROI areas. Call this first. |

### Connect

This Actor runs in **Standby mode** as an MCP server over **Streamable HTTP**. The endpoint is:

```
https://uk-property-deals-mcp.apify.actor/mcp
```

Authenticate with your **Apify API token** as the bearer token.

**Claude Desktop / Cursor** — add to your MCP config (`claude_desktop_config.json` or Cursor's `mcp.json`):

```json
{
  "mcpServers": {
    "uk-property-deals": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://uk-property-deals-mcp.apify.actor/mcp",
        "--header", "Authorization: Bearer YOUR_APIFY_TOKEN"
      ]
    }
  }
}
```

Restart the client and the three tools (`find_deals`, `area_deals`, `deal_stats`) appear automatically. Clients with native remote-MCP support can point straight at the URL with a bearer header — no `mcp-remote` shim needed.

**Try it:** *"Use deal\_stats to see coverage, then find\_deals for buy-to-let deals in Leeds under £150k with over 8% ROI."*

### How deals are computed

Each deal is a **public Rightmove listing** run through a deal-scoring engine that applies standard UK investor assumptions (75% LTV, interest-only mortgage, purchase + operating costs) against **area market comps** — typical long-let rent plus short-let ADR & occupancy — to produce the same metrics a property-sourcing service exposes: ROI, cashflow, payback, gross yield. Nothing here is scraped from any third-party deal-sourcing product; the deals are our own arithmetic on public data.

`btl` = buy-to-let (long let). `r2sa` = rent-to-serviced-accommodation (short let). ROI is annual cash-on-cash return. A "clean" deal carries no data-quality flags.

### Billing

Billed per tool call. See the Pricing tab for the current rate.

# Actor input Schema

## Actor input object example

```json
{}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/uk-property-deals-mcp").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("memo23/uk-property-deals-mcp").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call memo23/uk-property-deals-mcp --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=memo23/uk-property-deals-mcp",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/VhTjl9e4DtBtfBGdN/builds/8xq2gsEDeHc8FrVw4/openapi.json
