Skip to main content
Glama

Property Shared

property-shared MCP server

英国房产数据一站式解决方案。可获取土地注册处成交记录、EPC 证书、Rightmove 房源、租金收益率、印花税计算、规划门户链接以及公司注册处记录。

可作为 Python 库CLIHTTP APIAI 代理的 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=true

  • GET /v1/analysis/yield?postcode=NG1+1AA&property_type=F

  • GET /v1/analysis/rental?postcode=NG1+1AA&purchase_price=200000

  • GET /v1/rightmove/search-url?postcode=NG1+1AA&sort_by=newest

  • GET /v1/calculators/stamp-duty?price=300000&additional_property=true

  • POST /v1/property/report 配合 { "address": "10 Downing Street, SW1A 2AA" }

完整端点列表请参阅 USER_GUIDE.md

环境变量

.env.example 复制为 .env。关键变量:

变量

所需功能

描述

EPC_API_EMAIL

EPC 查询

EPC Register 获取免费密钥

EPC_API_KEY

EPC 查询

与上述邮箱配对使用

COMPANIES_HOUSE_API_KEY

公司搜索

Companies House 获取免费密钥

RIGHTMOVE_DELAY_SECONDS

否(默认 0.6秒)

Rightmove 抓取的速率限制延迟

OPENAI_API_KEY

规划抓取

视觉引导的规划门户抓取工具

土地注册处 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