MCP server for UK property data

Give Claude, ChatGPT or Cursor four tools over 15.79M UK sold property price records — searched in plain English, with every past sale placed against the market it sold into. Free, and no account needed to start.

https://rielty.co.uk/mcp/v1 Streamable HTTP free, no key required
{
  "mcpServers": {
    "rielty": {
      "url": "https://rielty.co.uk/mcp/v1"
    }
  }
}

That is the whole setup. The protocol endpoint is POST /mcp/v1; this page is /mcp — deliberately different paths, because Streamable HTTP uses both GET and POST on its own endpoint.

A worked example

You ask your assistant: "What's the story of 14 Beech Road in Harrogate — has it kept up with the market?" It calls property_details and gets back sale history that already carries its own context: the change since the previous sale, the Bank of England base rate in force at the time, and how far each sale ran ahead of or behind the local market.

{
  "address": "14 Beech Road",
  "bedrooms": 3,
  "listing_type": "sold",
  "postcode": "HG2 8QN",
  "property_type": "semi_detached",
  "sale_history": [
    {
      "base_rate": 4.75,
      "pct_change": null,
      "price": 191000,
      "price_position": null,
      "sold_at": "2004-09-10",
      "vs_market": null
    },
    {
      "base_rate": 0.5,
      "pct_change": 61.78010471204188,
      "price": 309000,
      "price_position": {
        "band": "above",
        "basis": "3-bed semi-detached within 1 km",
        "deviation_pct": 9,
        "n": 34,
        "window_months": 12
      },
      "sold_at": "2016-02-26",
      "vs_market": 11
    },
    {
      "base_rate": 5.0,
      "pct_change": 34.3042071197411,
      "price": 415000,
      "price_position": {
        "band": "in_line",
        "basis": "3-bed semi-detached within 1 km",
        "deviation_pct": -3,
        "n": 41,
        "window_months": 12
      },
      "sold_at": "2023-06-16",
      "vs_market": -6
    }
  ],
  "town": "Harrogate"
}

So the assistant can say: it sold for £415,000 in June 2023, up 34.3% on its 2016 sale — but 6 points behind what the wider local market did over the same years, and into a 5% base rate rather than the 0.5% of the previous sale. That framing is the point of the tool. A raw price list cannot produce it.

The four tools

search_properties

"3 bed house with a garden near Otley under £400k, under an hour from Leeds" — the full requirement as one string. Returns up to 25 results; there is no paging, so the corpus cannot be bulk exported. count is the size of that page and returned how many rows are actually below it — neither is a count of the market, and note carries the tool's own warning when the results are sold records.

{
  "count": 2,
  "note": "Every result here is a SOLD record — a past transaction, not a home currently for sale. Do not present these as available listings.",
  "relaxations": [],
  "results": [
    {
      "bedrooms": 3,
      "id": 8412907,
      "listing_type": "sold",
      "price": 372500,
      "property_type": "semi_detached",
      "sale_count": 3,
      "town": "Otley",
      "url": "https://rielty.co.uk/property/22-mill-lane-otley-8412907"
    },
    {
      "bedrooms": 3,
      "id": 8402115,
      "listing_type": "sold",
      "price": 344000,
      "property_type": "terraced",
      "sale_count": 2,
      "town": "Otley",
      "url": "https://rielty.co.uk/property/7-kirk-view-otley-8402115"
    }
  ],
  "returned": 2,
  "unmatched": []
}

property_details

"Tell me everything about result 3" — facts, price position, commute times, nearby schools, comparable sales, and the market-relative sale history shown above.

area_report

"Are Harrogate prices going up or down?" — average price, year-on-year change, the price history over time, a matrix by bedroom count, and a breakdown by property type.

{
  "avg_price_12mo": 398450,
  "county": "North Yorkshire",
  "prev_avg_12mo": 389100,
  "price_matrix": {
    "beds": [
      {
        "bucket": "3",
        "n": 604,
        "p25": 288000,
        "p50": 341000,
        "p75": 402500,
        "types": {
          "semi_detached": {
            "n": 291,
            "p50": 332000
          }
        }
      }
    ]
  },
  "sales_12mo": 1842,
  "town": "Harrogate",
  "url": "https://rielty.co.uk/sold-prices/harrogate",
  "yoy_pct": 2.4
}

estimate_value

"What's a 3 bed semi in Harrogate worth?" — a town-level statistical estimate from sold prices, never address-level, and null with a stated reason where there are too few sales to be meaningful.

{
  "based_on_sales": 291,
  "basis": "A statistical estimate from sold prices in this area over the last 12 months — what other homes of that size sold for. It is not an appraisal or a survey, nobody has seen the property, and what any individual home is worth depends on its condition and what has been done to it.",
  "bedrooms": 3,
  "estimate": 332000,
  "property_type": "semi_detached",
  "range_high": 402500,
  "range_low": 288000,
  "reason": null,
  "sales_12mo": 1842,
  "town": "Harrogate",
  "url": "https://rielty.co.uk/house-valuation/harrogate"
}

What the data actually is

This is sold price history, not a listings portal. The corpus is about 15.79M HM Land Registry sold price records for England and Wales. A handful of live listings exist, fed to us directly by agencies, and that is all — so search_properties answers "what has sold around here, and for what", not "what can I buy today". Every result carries a listing_type; check it before describing a property as available.

Source What it gives Refresh
HM Land Registry Price Paid Sold prices and dates — the spine of the corpus Monthly
EPC register Energy rating, floor area, construction age Quarterly
VOA Council tax bands Periodic
ONS Postcode geography, boundaries, area statistics Periodic
Ordnance Survey Addresses, UPRNs and coordinates Periodic

Land Registry data covers England and Wales. Scotland and Northern Ireland keep their own registers and are not included.

Install

Claude Code

claude mcp add --transport http rielty https://rielty.co.uk/mcp/v1

Claude Desktop

Settings → Developer → Edit Config, then add rielty to claude_desktop_config.json and restart:

{
  "mcpServers": {
    "rielty": {
      "url": "https://rielty.co.uk/mcp/v1"
    }
  }
}

Cursor

The same block in ~/.cursor/mcp.json (or .cursor/mcp.json for one project).

ChatGPT

In a Developer mode connector, add https://rielty.co.uk/mcp/v1 as an MCP server with no authentication. Availability of custom connectors depends on your ChatGPT plan.

Any MCP client that speaks Streamable HTTP works — there is nothing to install locally and no stdio wrapper needed.

Limits and keys

Anonymous callers are limited per IP address; a RIELTY_API_KEY moves you onto a per-key bucket with higher ceilings. There is an endpoint-wide limit, plus its own bucket for the two most expensive tools.

Bucket Anonymous With a key
All requests 60 / minute, 5,000 / day 300 / minute, 50,000 / day
search_properties 20 / minute, 500 / day 100 / minute, 10,000 / day
property_details 30 / minute, 1,000 / day 150 / minute, 20,000 / day
area_report Endpoint limit only
estimate_value Endpoint limit only

Getting a key: keys are free, and there is no self-serve signup — one of us mints yours by hand. Email hello@rielty.co.uk with what you are building and roughly what volume you expect, and we will send a key back. Pass it as a bearer token:

Authorization: Bearer RIELTY_API_KEY

FAQ

Is the rielty MCP server free?

Yes. It is free to use and needs no account. Anonymous callers are rate limited rather than charged, and a free RIELTY_API_KEY raises those limits. As of September 2026 we know of no other free UK property MCP server: PropertyData's API starts on a paid monthly plan, Searchland needs a subscription, and HouseCanary is US-only and sold on a contract.

Do I need an API key?

No. Every tool works anonymously. A RIELTY_API_KEY only raises your rate limits. There is no self-serve signup for one: keys are minted by hand by us, so email hello@rielty.co.uk saying what you are building and we will issue one.

What data does it cover?

About 15.79M HM Land Registry sold price records for England and Wales, joined to EPC certificates, VOA council tax bands, ONS geography and Ordnance Survey addresses and coordinates. Sold prices are refreshed monthly, as HM Land Registry publishes them.

How is this different from a property API?

An API returns rows and leaves the joining to you. These four tools answer questions: search takes a plain-English requirement, and property_details returns each past sale already placed in context — the change since the previous sale, the Bank of England base rate in force at the time, and how far it ran ahead of or behind the local market.

Does it include homes for sale?

Essentially no. The corpus is sold price history. A handful of live listings exist from agencies feeding us directly, but you should not treat this as a portal — check each result's listing_type before describing a property as available.

Is my search data stored?

Yes, and here is exactly what: the tool name, the arguments (truncated to 500 characters), the result count, how long it took, and a salted one-way hash of your IP address. We never store the raw IP. Arguments are free text, so avoid putting anything personal in a query.