mcp-tw-lvr
MCP server for querying Taiwan's 實價登錄 (real estate transaction registry) via web scraping of lvr.land.moi.gov.tw. Built on Model Context Protocol (MCP) over stdio JSON-RPC 2.0.
Note: This tool automates the government's official web portal using Playwright. Each query takes ~15–20 seconds and loads the live site — use sparingly.
Available Tools
| Tool | Description |
|---|---|
query_real_price_tool |
Query real estate transactions by city, district, road, building, date range, and transaction type |
query_type options:
| Value | Description |
|---|---|
biz |
買賣(sales transactions) |
rent |
租賃(rental transactions) |
presale |
預售屋(pre-sale housing) |
saleremark |
預售屋建案(pre-sale project listings) |
Year defaults: If start_year / end_year are omitted, they default to
"last year through this year" computed at call time in the ROC calendar
(民國 = CE − 1911), so the tool never becomes stale.
Response shape: By default the tool returns dicts with friendly English
keys (address, total_price, unit_price, building_name, layout,
transaction_date, latitude, longitude, …). Field set differs by
query_type — see src/lvr/adapter.py for the
complete mappings. Pass raw=True to receive the government API's
original single-letter keys (a, tp, p, …) instead.
Usage Examples
查詢高雄市買賣行情
你: 我想知道高雄市鹽埕區今年的房屋售價
AI 呼叫:
query_real_price_tool(
city = "高雄市",
town = "鹽埕區",
query_type = "biz",
start_year = 115,
start_month = 1,
end_year = 115,
end_month = 12,
)
結果: 以下是 高雄市鹽埕區 115 年(1–3 月)買賣實價登錄統計,共 21 筆,其中 10 筆為特殊關係交易(親友、含租約等),以下以 一般正常交易 11 筆為主分析: ...
查詢台北市租金行情
你: 台北市信義區今年的租賃行情怎麼樣?
AI 呼叫:
query_real_price_tool(
city = "台北市",
town = "信義區",
query_type = "rent",
start_year = 114,
start_month = 1,
end_year = 114,
end_month = 12,
)
結果: 以下是 台北市信義區 115 年(1–2 月)整戶住宅租賃行情,有效筆數 80 筆: ...
Quick Start
# Install dependencies
uv sync
uv run playwright install chromium
# Run server
uv run mcp-tw-lvr
# Interactive dev/test (MCP Inspector)
uv run mcp dev src/lvr/server.py
Claude Code Integration
.mcp.json is included. To use in another project, add to your config:
{
"mcpServers": {
"mcp-tw-lvr": {
"command": "uv",
"args": ["run", "mcp-tw-lvr"],
"cwd": "/path/to/mcp-tw-lvr"
}
}
}
Data Source
All data is scraped from https://lvr.land.moi.gov.tw — Taiwan Ministry of the Interior's official real estate transaction registry. No API key required, but each query drives a real browser session against the live site.
Testing
# E2E tests against the live site (~1 min)
uv run python tests/test_all_tools.py
License
MIT License
Metadata
Release files for mcp-tw-lvr 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_tw_lvr-0.1.0.tar.gz | 78.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_tw_lvr-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 89.1 kB
Release files / mcp_tw_lvr-0.1.0.tar.gz
| Download URL | mcp_tw_lvr-0.1.0.tar.gz |
|---|---|
| Size | 78.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6fd905c726d397afa341b0cc4e9eab4e5f6e21e098cceb2f421c43cdb2baa12b
|
|
BLAKE2b-256 checksum How to use checksums |
b0870274332637bb9dba633441d0104b3de1a61d7f180c069f0b5578e082912e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logRelease files / mcp_tw_lvr-0.1.0-py3-none-any.whl
| Download URL | mcp_tw_lvr-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dae7b74ae45e908128a6e8403f054e6659f4f71ddaebf8a7dfa30bc765e1ba68
|
|
BLAKE2b-256 checksum How to use checksums |
7b75b428d0bbec7e6af532dd28193e34f0dc0f3eee28419b4fa82fdec9d4fbba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency log