← Back to search

UK Property Data

paulieb89 streamable_http Scanned 15h ago

UK property data — Land Registry comps, EPC, Rightmove, rental yields, stamp duty, Companies House

C
63 / 100

Versions

1.5.1latest
first seen Jun 5, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 23

stamp_duty
annotations: none low

Calculate UK Stamp Duty Land Tax for a residential property purchase. Returns SDLT total, effective rate, and band-by-band breakdown.

price string non_resident string first_time_buyer string additional_property string
planning_search
annotations: none low

Find the planning portal URL for a UK postcode. Returns council info and portal search URLs. Does not scrape planning applications -- use the returned URLs to search directly.

postcode string
company_search
annotations: none low

Search Companies House by company name. Returns a list of matches. For a direct lookup by company number, use the company://{company_number} resource instead (e.g. read_resource("company://00445790")).

query string
epc_lookup
annotations: none low

Energy Performance Certificate data for a UK property or postcode area. With address: returns the matched certificate for that specific property. Without address: returns all certificates at the postcode with area aggregation — rating distribution, floor area range, property type breakdown. Use the area mode for postcode-level views rather than a single-property lookup.

address string postcode string
epc_search
annotations: none low

Browse all EPC certificates at a postcode — use when you have no house number. Returns a slim list of every certificate at the postcode. Each entry contains: address, rating, score, floor_area (sqm), property_type, floor_level, habitable_rooms, inspection_date, lmk_key. Workflow for Rightmove listings where the house number is not shown: 1. Call rightmove_listing to obtain floor_area_sqm, property_type, and any floor-level signals in the description (e.g. "top floor", "ground floor"). 2. Call epc_search(postcode) to retrieve the full cert list. 3. You MUST cross-reference each cert's floor_area against the listing's floor_area_sqm (accept within ±5 sqm) AND property_type must match. Also use floor_level and habitable_rooms where available. 4. If a single cert matches, call epc_certificate(lmk_key) for the full detail. 5. If multiple certs match equally, present all candidates — do not guess. If floor_area is unavailable on the listing, filter by property_type only and return all candidates. Returns None if no certificates exist for the postcode.

postcode string
epc_certificate
annotations: none low

Fetch a single EPC certificate by its lmk_key (certificate hash). Use after epc_search has identified the correct cert — this is faster than epc_lookup(postcode, address) as it makes a direct lookup with no fuzzy matching or postcode re-fetch. lmk_key is returned in every epc_search result. Returns the full EPC certificate or None if not found.

lmk_key string
rightmove_search
annotations: none low

Search Rightmove property listings by postcode. Builds a search URL, fetches the first page of results, and returns listing summaries with a median price.

radius string postcode string max_price string min_bedrooms string building_type string property_type string
property_blocks
annotations: none low

Identify buildings with multiple flat sales — block-buy opportunities. Groups Land Registry transactions by building (PAON/street) and returns blocks where at least min_transactions units sold in the lookback window. Useful for spotting investor exits, new-build releases, or portfolio bulk transfers.

limit string months string postcode string search_level string min_transactions string
ppd_transactions
annotations: none low

Raw Land Registry Price Paid transactions for a postcode. Returns every recorded transaction at the postcode, unfiltered (includes category-B bulk transfers and commercial sales). For clean residential comparable sales, use property_comps instead.

limit string postcode string property_type string
property_comps
annotations: none low

Comparable sales from Land Registry Price Paid Data. Defaults return the standard residential set: - property_type=None means residential (F+D+S+T). Pass "F"/"D"/"S"/"T"/"O" for a single type, or "ALL" to disable type filtering (firehose). - transaction_category defaults to "A" (standard sales). Pass None to include category-B (bulk transfers, non-standard conveyances). - filter_outliers=False by default; set True for IQR-trimmed stats AND transaction list (1.5*IQR rule, needs >=4 prices). limit caps returned transactions (max 200). enrich_epc attaches EPC floor area and price-per-sqft to each transaction — slower but richer.

limit int months int address string postcode str enrich_epc bool search_level str property_type string filter_outliers bool transaction_category string
property_yield
annotations: none low

Gross rental yield for a UK postcode. Combines Land Registry sale comps (median sale price) with Rightmove rental listings (median monthly rent) to produce a gross yield percentage. Args: postcode: UK postcode (e.g. "NG1 2NS"). months: PPD sale lookback period (default 24). search_level: PPD search granularity — "postcode", "sector" (default), or "district". property_type: Filter sales by type. None (default) = residential set (F+D+S+T). Pass "F"/"D"/"S"/"T"/"O" for one type, "ALL" for firehose. auto_escalate: Widen the PPD search area on thin markets — postcode→ sector→district. Default True. Set False for strict-locality only. Returns: median_sale_price, median_monthly_rent, gross_yield_pct, sale_count, rental_count, thin_market. Yield fields are null when sample is too thin or rental data is unavailable.

months int postcode str search_level str auto_escalate bool property_type string
rental_analysis
annotations: none low

Rental market analysis and achievable rent estimate. auto_escalate widens the search area when fewer than 5 listings are found (thin market). Response includes thin_market, escalated_from, escalated_to fields when escalation occurs.

radius float postcode str auto_escalate bool purchase_price string
property_epc
annotations: none low

Energy Performance Certificate data for a UK property or postcode area. With address: returns the matched EPC certificate for that specific property. Without address: returns an aggregated summary of every certificate at the postcode — count, rating distribution, property-type breakdown, floor-area range — plus a hint to call again with an address for single-property detail. Returns None if no certificates exist for the postcode at all.

address string postcode str
property_epc_search
annotations: none low

Browse all EPC certificates at a postcode — use when you have no house number. Returns a slim list of every certificate at the postcode. Each entry contains: address, rating, score, floor_area (sqm), property_type, floor_level, habitable_rooms, inspection_date, lmk_key. Workflow for Rightmove listings where the house number is not shown: 1. Call rightmove_listing to obtain floor_area_sqm, property_type, and any floor-level signals in the description (e.g. "top floor", "ground floor"). 2. Call property_epc_search(postcode) to retrieve the full cert list. 3. You MUST cross-reference each cert's floor_area against the listing's floor_area_sqm (accept within ±5 sqm) AND property_type must match. Also use floor_level and habitable_rooms where available. 4. If a single cert matches, call epc_certificate(lmk_key) for the full detail. 5. If multiple certs match equally, present all candidates — do not guess. If floor_area is unavailable on the listing, filter by property_type only and return all candidates. Returns None if no certificates exist for the postcode.

postcode str
rightmove_listing
annotations: none low

Full detail for a single Rightmove listing (URL or numeric ID). include_images fetches and embeds photos and floorplans as MCP image content. max_images caps the number of property photos (default 3); floorplans always included.

max_images int include_images bool property_url_or_id str
get_rental
annotations: none low

Analyse rental market for a UK postcode. Returns listing count, median/average rent, rent range, and optional gross yield if purchase_price is provided.

radius string postcode string auto_escalate string building_type string purchase_price string
rental_dashboard
annotations: none low

Show rental market analysis as an interactive dashboard. Displays rental listing stats, rent range, market depth, and optional gross yield if a purchase price is provided.

radius string postcode string purchase_price string
search_comps
annotations: none low

Search comparable property sales for a UK postcode. Returns transaction count, median/percentile stats, and individual transactions within the lookback period. Defaults are residential-only: standard sales (category A) of flats, detached, semi, and terraced properties. Use property_type='ALL' and transaction_category=None for the unfiltered Land Registry firehose.

limit string months string address string postcode string search_level string property_type string filter_outliers string transaction_category string
comps_dashboard
annotations: none low

Show comparable property sales as an interactive dashboard. Fetches Land Registry transactions and displays stats, price distribution chart, and transaction list with property type badges.

months string postcode string search_level string property_type string
listings_dashboard
annotations: none low

Show Rightmove property listings as a visual dashboard with images. Searches Rightmove for sale or rent listings and displays them as cards with property photos, prices, and key details.

radius string postcode string max_price string min_bedrooms string building_type string property_type string
property_dashboard
annotations: none low

Show a unified property dashboard combining sales, yield, and rental data. Fetches Land Registry transactions, Rightmove rental listings, and calculates gross yield — all in one view with interactive controls.

months string radius string postcode string search_level string property_type string
get_yield
annotations: none low

Analyse gross rental yield for a UK postcode. Returns median sale price, median monthly rent, gross yield percentage, yield assessment label, and data quality classification.

months string radius string postcode string search_level string property_type string
yield_dashboard
annotations: none low

Show rental yield analysis as an interactive dashboard. Combines Land Registry sale prices with Rightmove rental listings to calculate gross yield, with assessment and data quality indicators.

months string radius string postcode string search_level string property_type string

Permissions 3

network medium
Server uses network capabilities via: httpx, requests, urllib
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib
env_vars low
Server uses env_vars capabilities via: os.environ, os.getenv()

Scan Findings 61

low
Tool 'epc_lookup' has no annotations annotation_checker · 100%
low
Tool 'stamp_duty' has no annotations annotation_checker · 100%
low
Tool 'planning_search' has no annotations annotation_checker · 100%
low
Tool 'company_search' has no annotations annotation_checker · 100%
low
Tool 'epc_search' has no annotations annotation_checker · 100%
low
Tool 'epc_certificate' has no annotations annotation_checker · 100%
low
Tool 'rightmove_search' has no annotations annotation_checker · 100%
low
Tool 'property_blocks' has no annotations annotation_checker · 100%
low
Tool 'ppd_transactions' has no annotations annotation_checker · 100%
low
Tool 'property_comps' has no annotations annotation_checker · 100%
low
Tool 'property_yield' has no annotations annotation_checker · 100%
low
Tool 'rental_analysis' has no annotations annotation_checker · 100%
low
Tool 'property_epc' has no annotations annotation_checker · 100%
low
Tool 'property_epc_search' has no annotations annotation_checker · 100%
low
Tool 'rightmove_listing' has no annotations annotation_checker · 100%
low
Tool 'get_rental' has no annotations annotation_checker · 100%
low
Tool 'rental_dashboard' has no annotations annotation_checker · 100%
low
Tool 'search_comps' has no annotations annotation_checker · 100%
low
Tool 'comps_dashboard' has no annotations annotation_checker · 100%
low
Tool 'listings_dashboard' has no annotations annotation_checker · 100%
low
Tool 'property_dashboard' has no annotations annotation_checker · 100%
low
Tool 'get_yield' has no annotations annotation_checker · 100%
low
Tool 'yield_dashboard' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: pydantic-settings@2.12.0 (GHSA-4xgf-cpjx-pc3j) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.32.5 (GHSA-gc5v-m9x4-r6x2) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.32.5 (PYSEC-2026-2275) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: stamp_duty manifest_parser · 90%
info
Tool: planning_search manifest_parser · 90%
info
Tool: company_search manifest_parser · 90%
info
Tool: epc_lookup manifest_parser · 90%
info
Tool: epc_search manifest_parser · 90%
info
Tool: epc_certificate manifest_parser · 90%
info
Tool: rightmove_search manifest_parser · 90%
info
Tool: property_blocks manifest_parser · 90%
info
Tool: ppd_transactions manifest_parser · 90%
info
Tool: property_comps manifest_parser · 90%
info
Tool: property_yield manifest_parser · 90%
info
Tool: rental_analysis manifest_parser · 90%
info
Tool: property_epc manifest_parser · 90%
info
Tool: property_epc_search manifest_parser · 90%
info
Tool: rightmove_listing manifest_parser · 90%
info
Tool: get_rental manifest_parser · 90%
info
Tool: rental_dashboard manifest_parser · 90%
info
Tool: search_comps manifest_parser · 90%
info
Tool: comps_dashboard manifest_parser · 90%
info
Tool: listings_dashboard manifest_parser · 90%
info
Tool: property_dashboard manifest_parser · 90%
info
Tool: get_yield manifest_parser · 90%
info
Tool: yield_dashboard manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (20) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 80%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'epc_search': Directive language: 'you must' poisoning · 85%
critical
Tool poisoning in 'property_epc_search': Directive language: 'you must' poisoning · 85%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%