REINFOLIB MCP Server(不動産情報ライブラリ)
- 最終確認:
- 2026-05-26
- ライセンス:
- MIT
【編集部実機検証済み】 本記事は Plugy 編集部が REINFOLIB MCP を Claude Code に登録し、9 ツール全実走 +
search_transactionsのstation引数まで動作確認 しています。検証時点: 2026-05-22。なお 駅情報系 3 ツール(get_station_code/get_station_info/search_stations)は、国土数値情報「鉄道データ N02-22」の shapefile(約 13.4 MB)をgis/フォルダに別途配置することで動作します(公式 README §4「GIS データファイルの配置」 参照)。
REINFOLIB(不動産情報ライブラリ)とは
REINFOLIB(不動産情報ライブラリ)は、国土交通省が 2024 年 4 月に公開した不動産関連の公開データプラットフォームです。不動産取引価格情報・地価公示・鑑定評価・都市計画情報など、従来は別々のサイトに分散していた不動産関連オープンデータをひとまとめにし、API 経由でも取得可能にしたものです。
公開 API は 無料で利用できますが、事前の利用申請と審査(5 営業日目安)が必要です。申請時に「個人 / 法人 / 法人以外の団体」の利用者種別を選択し、利用規約に同意のうえ API キーが発行されます。
REINFOLIB × AI でできること
この MCP サーバーを導入すると、REINFOLIB 公開 API を AI への一言で呼び出せます。
🏠 取引価格情報の検索
「東京都港区の中古マンション取引価格を見せて」
→ search_transactions で 1 四半期分を取得 → クライアント側で「中古マンション等」に絞り込み
📍 地価公示ポイント検索(タイル座標版・GIS データ不要)
「東京 23 区中心部の地価公示ポイント」
→ search_land_price_points に地図タイル座標(z=13 等)を指定して GeoJSON 取得
🏛️ 自治体一覧と検索条件作成
「東京都の市区町村一覧を取得」
→ get_municipalities で都道府県内の自治体と 5 桁市区町村コードを取得 → search_transactions の city 引数に渡す
🚉 駅周辺の取引絞り込み(GIS データ配置時)
「品川駅周辺の最近の取引価格」
→ get_station_code で駅コードを取得 → search_transactions の station 引数で絞り込み
提供される主なツール
REINFOLIB MCP Server が提供する 9 ツール(公式 README 逐語抜粋):
| ツール名 | 機能 |
|---|---|
search_transactions | 不動産取引価格情報を検索(year 必須・area / city / quarter / station で絞り込み) |
get_municipalities | 都道府県内の自治体一覧と 5 桁市区町村コードを取得 |
search_appraisals | 公示地価情報を都道府県(area)× 用途区分(division)で検索 |
search_land_price_points | 地価公示ポイントを地図タイル座標(z, x, y)で GeoJSON 取得 |
search_real_estate_price_points | 不動産取引価格ポイントを地図タイル座標 + 期間(from / to)で GeoJSON 取得 |
search_properties | 物件情報を都道府県・市区町村・年などで検索 |
get_station_code | 駅名から駅コードを取得 ※ GIS データの別途配置が必要 |
get_station_info | 駅コードから駅情報(緯度経度等)を取得 ※ GIS データの別途配置が必要 |
search_stations | 駅名の部分一致で駅一覧を取得 ※ GIS データの別途配置が必要 |
対応データ種別: 不動産取引価格情報 / 地価公示情報 / プロパティ情報 / 駅情報(公式 README 記載範囲)。REINFOLIB API 全体には他に都市計画・防災情報等が含まれますが、本 MCP の対応範囲は README 明記分に限定されます。
REINFOLIB MCP Server について
REINFOLIB MCP Server は、コミュニティ開発者 fukunaman が公開する MCP サーバーです(リポジトリ: fukunaman/reinfolib-mcp-server)。国交省の REINFOLIB 公開 API を MCP プロトコル経由で利用できるようにラップしています。TypeScript 実装で、git clone → npm install → npm run build → node dist/server.js の流れでローカルにビルド・起動します。
スペック
- 配布形態: GitHub 配布(npm 未公開・ローカルビルド前提)
- 実行コマンド:
node path/to/your/reinfolib-mcp-server/dist/server.js - 認証: REINFOLIB API キー(
REINFOLIB_API_KEY環境変数 /.envファイル) - 依存:
@modelcontextprotocol/sdk@^0.4.0、axios@^1.6.0、dotenv@^16.0.0、shapefile@^0.6.6(package.json 逐語確認) - 提供元: コミュニティ(fukunaman)/ MIT ライセンス(package.json 明記・LICENSE ファイルは不在)
- 対応範囲: 取引価格 / 地価公示 / 鑑定評価 / 駅情報 / 自治体一覧
- 最終コミット: 2025-07-10(リポジトリ commits 履歴)
- 公式リポジトリ: github.com/fukunaman/reinfolib-mcp-server
導入手順
1. REINFOLIB API キーの申請
- 不動産情報ライブラリ API 利用申請 にアクセス
- 利用規約に同意し、利用者種別(個人 / 法人 / 法人以外の団体)と必要事項を入力
- 申請後 5 営業日目安で審査結果がメール通知され、承認時に API キーが発行されます(無料)
2. ローカルへのビルド
git clone https://github.com/fukunaman/reinfolib-mcp-server.git
cd reinfolib-mcp-server
npm install
npm run build
dist/server.js が生成されます。
3. API キーの設定
リポジトリ直下に .env ファイルを作成:
REINFOLIB_API_KEY=your_api_key_here
または、クライアント設定の env フィールドで指定(上記「クライアント別設定」参照)。
4. クライアント設定の登録
claude_desktop_config.json 等に上記 JSON を追記。path/to/your/reinfolib-mcp-server/dist/server.js を 絶対パスに置き換えてください。
5. 動作確認
クライアントを再起動し、「東京都港区の中古マンション取引価格を 5 件取得」のように依頼してみてください(※API キーの審査承認後)。最新公開四半期は 約 1〜2 四半期前まで のため、当該クォーターが空の場合は前々四半期で再試行してください。
6. [オプション] 駅情報系ツールを使う場合の GIS データ配置
get_station_code / get_station_info / search_stations の 駅情報系 3 ツールを使うには、国土数値情報の駅 shapefile を別途配置する必要があります(公式 README に明記)。
- 国土数値情報(鉄道データ)N02-22 から「令和4年度」全国版(
N02-22_GML.zip、約 17.6 MB)をダウンロード - zip を解凍し、
Shift-JIS/N02-22_Station.shpとN02-22_Station.dbf(合計約 13.4 MB)を リポジトリ直下のgis/フォルダにコピー - クライアント再起動不要(shapefile は初回呼び出し時に lazy load されます)
GIS データを配置していなくても、取引価格・地価公示・鑑定評価・物件検索など 残り 6 ツールはそのまま利用可能 です。
注意事項
- 取引データの公開ラグは約 1〜2 四半期です。編集部検証時点(2026-05-22)では
year="2026" quarter="1"は全国で 404 となり、最新公開は 2025 Q4 でした。最新四半期が空の場合は前々四半期を試してください。 - レスポンスが大量になりやすい ため、絞り込みが必須です。編集部の実機検証では、市区町村単位の 1 四半期だけで
search_transactionsが 数百件級、search_real_estate_price_pointsの市タイル(z=13)で 数百〜千 features 級 が返りました。year×quarter×city×stationの組み合わせ、または取得後にクライアント側でtype(中古マンション等 / 宅地等)で後段フィルタしてください。 search_transactionsのstation引数の description にある「Tokyo=001337」は誤情報です(実際は福島県「医王寺前」駅)。駅コードは必ずget_station_codeで取得してください(要 GIS 配置)。- 駅情報系 3 ツール(
get_station_code/get_station_info/search_stations)は GIS データの別途配置が必要です(公式 README §4 参照)。配置せずに呼び出すとnull/ 空配列が返ります(エラーは出ません)。 @modelcontextprotocol/sdk0.4.0 に依存しています。MCP プロトコルは更新が続いており、現行クライアント(Claude Desktop / Cursor 等の最新版)との互換性は本 MCP の実装側で別途確認が必要です。編集部の Claude Code(2026-05-22 検証時点)では問題なく動作しました。動作しない場合はリポジトリの更新状況も確認してください。- リポジトリの最終コミットは 2025-07-10 で、active メンテナンス頻度は不明です。issue / pull request の状況も
github.com/fukunaman/reinfolib-mcp-serverで確認してください。 - API 利用申請には 5 営業日の審査 があります。当日中の試用は不可です。「個人」での申請も可能ですが、利用規約に基づく用途制限(商用利用条件等)の確認が必要です。
- REINFOLIB API キーは個人を特定し得る情報を含むため、リポジトリ・チャット履歴・公開ノートにそのまま貼らないでください。万一漏洩した場合は国交省へ再発行を相談してください。
- 取得データは公開オープンデータですが、個別物件の取引価格は匿名化・統計処理されたものです。個別の物件特定や不正確な投資判断に直結する用途は避けてください。
設定方法
MCP は、お使いの対応アプリ(クライアント)に下記の設定を貼り付けて使います。 タブからアプリを選び、表示された設定をコピーしてください。
Claude Desktop: Anthropic 公式のデスクトップ版 Claude アプリ
{
"mcpServers": {
"reinfolib-mcp-server": {
"command": "node",
"args": ["path/to/your/reinfolib-mcp-server/dist/server.js"],
"env": {
"REINFOLIB_API_KEY": "<YOUR_REINFOLIB_API_KEY>"
}
}
}
}
Cursor: AI 機能を内蔵したコードエディタ
{
"mcpServers": {
"reinfolib-mcp-server": {
"command": "node",
"args": ["path/to/your/reinfolib-mcp-server/dist/server.js"],
"env": {
"REINFOLIB_API_KEY": "<YOUR_REINFOLIB_API_KEY>"
}
}
}
}
Cline: VS Code に追加する AI アシスタント拡張
{
"mcpServers": {
"reinfolib-mcp-server": {
"command": "node",
"args": ["path/to/your/reinfolib-mcp-server/dist/server.js"],
"env": {
"REINFOLIB_API_KEY": "<YOUR_REINFOLIB_API_KEY>"
}
}
}
}
主なユースケース
- 「東京都港区の中古マンション取引価格を取得」と頼むと `search_transactions` で取引情報を取得できる(最新公開四半期は約 1〜2 四半期前まで・編集部 2026-05-22 検証)
- 「東京都の自治体一覧を取得」`get_municipalities` で都道府県内の自治体と 5 桁市区町村コードを確認し、後続の `search_transactions` の `city` 引数に渡せる
- 「2025 年の東京都の地価公示(住宅地)を見せて」`search_appraisals` で公示地価情報を都道府県・用途区分単位で取得できる
- 「東京 23 区中心部の地価公示ポイント」を地図タイル座標(z=13)で指定し `search_land_price_points` から GeoJSON で取得できる
- (GIS データを別途配置済の場合)「品川駅」のような駅名を `get_station_code` に渡して駅コードを取得し、`search_transactions` の `station` 引数で駅周辺の取引へ絞り込める