UK Property Data

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

使うべきか

品質と安全性

A
説明の品質
92%
スキーマの完全性
79%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(1)

  • LOWTool 'stamp_duty' description lacks action verbstamp_duty 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,959トークン数(ツール定義)
~1.1 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.31%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "property-shared": {
      "command": "uvx",
      "args": [
        "property-shared"
      ]
    }
  }
}

実行可能なパッケージ

pypiproperty-shared1.5.1stdio

リモートエンドポイント

https://property-shared.fly.dev/mcpstreamable-http

できること

ツール一覧

ツール(14)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢property_comps(postcode, months, property_type, transaction_category, filter_outliers, ...)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    },
    "months": {
      "default": 24,
      "description": "Number of calendar months ending today; default 24. Results are limited to available coverage.",
      "minimum": 1,
      "type": "integer"
    },
    "property_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "transaction_category": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": "A"
    },
    "filter_outliers": {
      "default": false,
      "type": "boolean"
    },
    "search_level": {
      "default": "sector",
      "type": "string"
    },
    "address": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 50,
      "type": "integer"
    },
    "enrich_epc": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true
}
🟢property_yield(postcode, months, search_level, property_type, auto_escalate)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string",
      "description": "UK postcode (e.g. \"NG1 2NS\")."
    },
    "months": {
      "default": 24,
      "description": "Number of calendar months ending today; default 24. Results are limited to available coverage.",
      "minimum": 1,
      "type": "integer"
    },
    "search_level": {
      "default": "sector",
      "type": "string",
      "description": "PPD search granularity — \"postcode\", \"sector\" (default),\nor \"district\"."
    },
    "property_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter sales by type. None (default) = residential set\n(F+D+S+T). Pass \"F\"/\"D\"/\"S\"/\"T\"/\"O\" for one type, \"ALL\" for firehose."
    },
    "auto_escalate": {
      "default": true,
      "type": "boolean",
      "description": "Compatibility parameter. Does NOT widen the search area on\nthe live source (see `warnings`); previously postcode→\nsector→district. Default True. Set False for strict-locality only."
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true
}
🟢rental_analysis(postcode, radius, purchase_price, auto_escalate)

Rental market analysis and achievable rent estimate. auto_escalate widens the Rightmove search RADIUS when fewer than 5 listings are found (thin market). This is rental-radius escalation and is unaffected by the PPD geography containment: it does not change a postcode's outcode or sector, so it carries none of the limit-dependence that disabled PPD auto-widening. Response includes thin_market, escalated_from, escalated_to fields when escalation occurs.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    },
    "radius": {
      "default": 0.5,
      "type": "number"
    },
    "purchase_price": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "auto_escalate": {
      "default": true,
      "type": "boolean"
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true
}
🟢property_epc(postcode, address)

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 the record count and, when the bounded response contains every matching summary, the rating distribution. Property-type breakdown and floor-area statistics are NOT available — the EPC service exposes them only on individual certificates. Returns null only when no certificates are lodged for the postcode. A null result means no such certificate is lodged. If the EPC service cannot be reached the tool raises an error instead — never treat an error as evidence that a property has no certificate.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    },
    "address": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢property_epc_search(postcode)

DEPRECATED — use property_epc_summaries then epc_certificate. This tool returned score, floor_area, property_type, habitable_rooms and inspection_date for every certificate at a postcode. The EPC service no longer exposes those fields in a search: they exist only on a full certificate. Reproducing the old response would require one upstream request per certificate, so this tool is unsupported rather than silently degraded or silently expensive.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "result": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢property_epc_summaries(postcode, page)

List EPC certificate summaries at a postcode — for candidate selection. Returns one bounded page. Each entry contains only what the EPC search exposes: certificate_number, address, uprn (often absent), energy band, registration_date and schema_type. Energy score, floor area and property type are NOT available here — fetch a specific certificate for those. Workflow when a Rightmove listing has no house number: 1. property_epc_summaries(postcode) to list candidates. 2. Narrow by address text and, where present, uprn. 3. epc_certificate(lmk_key=<certificate_number>) for the chosen one, then cross-check its floor_area against the listing. 4. If several candidates remain equally plausible, present them all — do not guess. Selecting arbitrarily attaches another property's data. `complete` is false when the postcode holds more records than this page returns. Upstream page traversal is not snapshot-stable, so a multi-page result is a bounded sample, not a guaranteed-complete set. An empty `results` list means no certificates are lodged. If the EPC service cannot be reached the tool raises an error instead — never treat an error as evidence that a property has no certificate.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    },
    "page": {
      "default": 1,
      "type": "integer"
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true
}
🟢epc_certificate(lmk_key)

Fetch a single EPC certificate by its GOV.UK certificate number. Use after property_epc_summaries has listed the candidates and you have picked one — this is faster than property_epc(postcode, address) as it makes a direct lookup with no address matching or postcode re-fetch. The parameter is named lmk_key as a compatibility alias; pass the certificate number, which is returned in every property_epc_summaries row. (property_epc_search is deprecated and raises — do not call it.) Returns the full EPC certificate, or null only when no such certificate is lodged. A null result means no such certificate is lodged. If the EPC service cannot be reached the tool raises an error instead — never treat an error as evidence that a property has no certificate.

入力スキーマ

{
  "type": "object",
  "properties": {
    "lmk_key": {
      "type": "string"
    }
  },
  "required": [
    "lmk_key"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢stamp_duty(price, additional_property, first_time_buyer, non_resident)

UK Stamp Duty Land Tax (SDLT) calculation with full breakdown.

入力スキーマ

{
  "type": "object",
  "properties": {
    "price": {
      "type": "integer"
    },
    "additional_property": {
      "default": false,
      "type": "boolean"
    },
    "first_time_buyer": {
      "default": false,
      "type": "boolean"
    },
    "non_resident": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "price"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true
}
🟢rightmove_search(postcode, listing_type, radius, property_type, min_bedrooms, ...)

Fetch Rightmove listings for a postcode. listing_type: "sale" or "rent". sort_by: "newest", "most_reduced", "price_asc", "price_desc". Images are excluded from results.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    },
    "listing_type": {
      "default": "sale",
      "type": "string"
    },
    "radius": {
      "default": 0.5,
      "type": "number"
    },
    "property_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "min_bedrooms": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "max_price": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "sort_by": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "max_pages": {
      "default": 3,
      "type": "integer"
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢rightmove_listing(property_id, include_images, max_images)

Full detail for a single Rightmove listing. property_id is the numeric Rightmove property ID (the digits at the end of a rightmove.co.uk/properties/... URL), max 12 digits. Full URLs are not accepted. 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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "property_id": {
      "type": "string"
    },
    "include_images": {
      "default": false,
      "type": "boolean"
    },
    "max_images": {
      "default": 3,
      "type": "integer"
    }
  },
  "required": [
    "property_id"
  ],
  "additionalProperties": false
}
🟢property_blocks(postcode, search_level, months)

Property block analysis — identify buildings with multiple flat sales (block-buy opportunities).

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    },
    "search_level": {
      "default": "sector",
      "type": "string"
    },
    "months": {
      "default": 24,
      "description": "Number of calendar months ending today; default 24. Results are limited to available coverage.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true
}
🟢company_search(name)

Search Companies House for a company by name.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true
}
🟢planning_search(postcode)

Find the council planning portal URL for a postcode.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true
}
🟢ppd_transactions(postcode, limit, property_type)

Land Registry Price Paid transactions for a postcode, most recent first. Returns up to `limit` most recent transactions **within snapshot coverage** (`coverage_from`-`coverage_to` in the response's `provenance`). Unfiltered by default -- category-B bulk transfers and commercial sales are included. Pass `property_type` (F=flat, D=detached, S=semi, T=terraced, O=other) to restrict the result to a single type. **Not a complete property history.** Check `provenance.older_records_exist` and `provenance.sample_complete` before saying anything about what a property has or has not sold for. An empty result means "no sales within the stated coverage" -- never "never sold". For clean residential comparable sales, use `property_comps`.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    },
    "limit": {
      "default": 10,
      "type": "integer"
    },
    "property_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "postcode"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 14 件
検証済みバージョンは記録されていませんツール 14 件