Skip to main content
Glama

Property Shared

property-shared MCP server

英国の不動産データを1つのパッケージにまとめました。土地登記所の売買データ、EPC証明書、Rightmoveの物件リスト、賃貸利回り、印紙税計算、都市計画ポータルへのリンク、Companies Houseの記録を取得します。

PythonライブラリCLIHTTP API、またはAIエージェント用MCPサーバーとして使用できます。

提供機能

データソース

返される内容

土地登記所 PPD

売却価格、日付、物件タイプ、中央値/パーセンタイルを含むエリア比較

EPCレジスター

エネルギー評価、床面積、建築年、暖房費

Rightmove

現在の物件リスト(売買・賃貸)、価格、仲介業者、物件詳細

利回り分析

PPD売買データとRightmove賃貸データを組み合わせたグロス利回り

印紙税

2025年4月時点の税率区分、BTL(賃貸用物件)追加税、FTB(初回購入者)減税を考慮したSDLT計算

ブロックアナライザー

投資家の売却動向を把握するための建物ごとのフラット売却グループ化

都市計画

地方自治体の都市計画ポータル検索(検証済み99自治体)

Companies House

企業名または番号による企業検索と詳細照会

スキル

生のデータではなく構造化された不動産レポートが必要ですか?これらのツールを組み合わせて投資サマリーを作成するClaudeスキルが bouch.dev/products で利用可能です。

インストール

pip install property-shared

# or with uv
uv add property-shared

オプション: MCPサーバー用 [mcp]、CLI用 [cli]、HTTPサーバー用 [api]、テスト用 [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 (Streamable 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

アーキテクチャ

3層分離 — コアはフレームワークに依存しません:

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)

3つのコンシューマーすべてが 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