UK Property Data
Property Shared
英国房产数据一站式解决方案。可获取土地注册处成交记录、EPC 证书、Rightmove 房源、租金收益率、印花税计算、规划门户链接以及公司注册处记录。
可作为 Python 库、CLI、HTTP API 或 AI 代理的 MCP 服务器使用。
你将获得
数据源 | 返回内容 |
土地注册处 PPD | 成交价格、日期、房产类型、带中位数/百分位数的区域对比 |
EPC 注册处 | 能源评级、建筑面积、建筑年代、供暖成本 |
Rightmove | 当前房源(出售 + 出租)、价格、中介、房源详情 |
收益分析 | 结合 PPD 成交价与 Rightmove 租金计算的毛收益率 |
印花税 | 包含 2025 年 4 月税率档位、购房出租 (BTL) 附加费、首次购房者 (FTB) 减免的 SDLT 计算 |
楼栋分析 | 按建筑对公寓成交进行分组,以识别投资者退出情况 |
规划 | 当地议会规划门户查询(已验证 99 个议会) |
公司注册处 | 按名称或编号进行公司搜索和查询 |
技能
想要结构化的房产报告而不是原始数据?可将这些工具串联成投资摘要的 Claude 技能,请访问 bouch.dev/products。
安装
pip install property-shared
# or with uv
uv add property-shared额外选项:[mcp] 用于 MCP 服务器,[cli] 用于 CLI,[api] 用于 HTTP 服务器,[dev] 用于测试。
pip install property-shared[mcp,cli]
# or
uv add property-shared --extra mcp --extra cli作为 Python 库使用
from property_core import PPDService, calculate_yield, calculate_stamp_duty
# Get comparable sales for a postcode
comps = PPDService().comps("SW1A 1AA", months=24, property_type="F")
print(f"Median flat price: {comps.median:,}")
# Calculate rental yield
import asyncio
result = asyncio.run(calculate_yield("NG1 1AA", property_type="F"))
print(f"Gross yield: {result.gross_yield_pct}%")
# Stamp duty
sdlt = calculate_stamp_duty(250000, additional_property=True)
print(f"SDLT: {sdlt.total_sdlt:,.0f} ({sdlt.effective_rate}%)")所有模型均可在顶层访问:
from property_core import (
PPDTransaction, PPDCompsResponse, EPCData,
RightmoveListing, RightmoveListingDetail,
PropertyReport, YieldAnalysis, RentalAnalysis,
BlockAnalysisResponse, CompanyRecord, StampDutyResult,
)解释辅助工具(核心返回数字,由你决定如何标记):
from property_core import classify_yield, classify_data_quality, generate_insights作为 CLI 使用
pip install property-shared[cli] # or: uv add property-shared --extra cli
# Comparable sales
property-cli ppd comps "SW1A 1AA" --months 24 --property-type F
# Rental yield
property-cli analysis yield "NG1 1AA" --property-type F
# Stamp duty
property-cli calc stamp-duty 300000
# Rightmove search (with sort)
property-cli rightmove search-url "NG1 1AA" --sort-by most_reduced
# Full property report
property-cli report generate "10 Downing Street, SW1A 2AA" --property-type F在任何命令后添加 --api-url http://localhost:8000,即可通过 HTTP API 路由,而不是直接调用核心代码。
作为 MCP 服务器使用(AI 代理)
适用于 Claude.ai、Claude Code、ChatGPT 或任何兼容 MCP 的主机。
pip install property-shared[mcp] # or: uv add property-shared --extra mcp
property-mcp # starts stdio transport提供 12 个工具:property_report, property_comps, ppd_transactions, property_yield, rental_analysis, property_epc, rightmove_search, rightmove_listing, property_blocks, stamp_duty, planning_search, company_search。
远程服务器部署在 https://property-shared.fly.dev/mcp (流式 HTTP)。
连接设置和工具详情请参阅 mcp_server/README.md。
作为 HTTP API 使用
pip install property-shared[api] # or: uv add property-shared --extra api
property-api # starts on port 8000交互式文档位于 http://localhost:8000/docs。
关键端点:
GET /v1/ppd/comps?postcode=SW1A+1AA&property_type=F&enrich_epc=trueGET /v1/analysis/yield?postcode=NG1+1AA&property_type=FGET /v1/analysis/rental?postcode=NG1+1AA&purchase_price=200000GET /v1/rightmove/search-url?postcode=NG1+1AA&sort_by=newestGET /v1/calculators/stamp-duty?price=300000&additional_property=truePOST /v1/property/report配合{ "address": "10 Downing Street, SW1A 2AA" }
完整端点列表请参阅 USER_GUIDE.md。
环境变量
将 .env.example 复制为 .env。关键变量:
变量 | 所需功能 | 描述 |
| EPC 查询 | 从 EPC Register 获取免费密钥 |
| EPC 查询 | 与上述邮箱配对使用 |
| 公司搜索 | 从 Companies House 获取免费密钥 |
| 否(默认 0.6秒) | Rightmove 抓取的速率限制延迟 |
| 规划抓取 | 视觉引导的规划门户抓取工具 |
土地注册处 PPD 和 Rightmove 无需凭据即可工作。
开发
# Install with dev extras
uv sync --extra dev
# Run API with reload
uv run uvicorn app.main:app --reload
# Run tests (mocked, no network)
uv run --extra dev pytest -v
# Run live integration tests (real network calls)
RUN_LIVE_TESTS=1 uv run --extra dev pytest -v架构
三层分离——核心层保持框架无关:
property_core/ Pure Python library (all business logic)
app/ FastAPI wrapper (thin HTTP layer)
property_cli/ Typer CLI (thin CLI layer)
mcp_server/ FastMCP wrapper (thin MCP layer for AI hosts)所有三个消费者直接从 property_core 导入。无适配器层。
部署 (Fly.io)
fly secrets set EPC_API_EMAIL=... EPC_API_KEY=...
fly deploy部署在 https://property-shared.fly.dev,API 文档位于 /docs,MCP 端点位于 /mcp。
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/paulieb89/property-shared'
If you have feedback or need assistance with the MCP directory API, please join our Discord server