← 一覧に戻る

Zenn記事ドラフト — 不動産相場AIスキル

2026年2月28日 20:00 更新(NUCHIレビュー反映版)
Zenn frontmatter:
title: 国土交通省の不動産取引データから不動産相場を自動分析するClaude Codeスキルを作った
emoji: 🏠
type: tech
topics: claudecode, mcp, skill, realestate
published: false

記事の要旨

Claude Code に住所を伝えるだけで、国交省の不動産取引データから坪単価レンジを自動分析するスキルを作った。コードは1行も書いていない。SKILL.md 1ファイルで動く。

はじめに

「この土地、相場と比べてどうなの?」

不動産を検討するとき誰もが知りたいことだけど、調べるのは面倒。プロの鑑定士は「取引事例比較法」(近隣の取引事例を集めて比較する手法)で分析するが、素人が手作業でやるのは敷居が高い。

国土交通省の「不動産情報ライブラリ」には実際の取引価格データが公開されている。ただ、APIを叩いてフィルタして坪単価を計算して…を毎回やるのは現実的じゃない。

Claude Code のスキル(SKILL.md)にした。住所を言うだけで全部自動で返ってくる。

できること

Claude Code に話しかけるだけで起動する。

赤坂1丁目の土地の相場教えて
この物件、高い?安い?

出力されるレポートの内容:

アーキテクチャ

ざっくりいうと、3つの層で構成されている。

1 MCP サーバー(APIとの橋渡し)
MCP(Model Context Protocol — AIが外部ツールを使うための通信規格)サーバーが国交省の不動産情報ライブラリAPIを呼び出す。取引価格・地価公示・用途地域など複数のデータソースに対応。APIの利用にはAPIキーの取得(無料)が必要。
2 SKILL.md(分析の頭脳)
Claude Code のスキル。分析手順・計算式・判定基準を全て記述した「業務マニュアル」。コードは書かず、Markdown 1ファイルで構成している。
3 ユーザー(自然言語で指示)
住所を言うだけ。Claude が住所→座標変換→API呼び出し→分析→レポート出力まで自動実行する。

Markdown 1枚で作る分析ツール

このスキルの特徴は、コードを1行も書いていないこと。SKILL.md という Markdown ファイル1枚で全てが動く。

SKILL.md は「Claude への業務マニュアル」。分析手順・計算式・異常値の判定基準・出力フォーマットまで全て記述してあり、Claude はこれに忠実に従う。曖昧な指示は曖昧な結果を生むので、「誰が読んでも同じ結果になる手順書」を書くことが重要。

SKILL.md の中身

せっかくなので SKILL.md の内容を公開する。これがスキルの全ロジック。

SKILL.md(分析手順書)を見る
# 不動産相場分析・価格妥当性検証スキル

## トリガー

以下のような不動産価格に関する質問・依頼:
- 「〇〇の相場教えて」「〇〇の土地いくらくらい?」「〇〇の坪単価」
- 「この物件高い?安い?」「売買価格は適正?」「価格の妥当性」

## 前提条件(不動産鑑定実務基準に基づく)

- 時間的範囲: 直近3年
- 地理的範囲: 同一需給圏内
- 有効件数: 土地のみ取引3件以上で暫定参考値、20件以上で信頼度高
- 異常値除外: 坪単価が地域中央値の1/5以下

## 分析フロー

### 1. 住所 → 座標変換
国土地理院ジオコーダで座標を取得。

### 2. 用途地域の確認
MCPツールで用途地域・建蔽率・容積率を取得。

### 3. 地価公示データの取得
MCPツールで近隣の公示地価を取得。

### 4. 取引データの取得(3年分)
MCPツールで不動産情報ライブラリAPIから取引データを取得。

### 5. 土地のみ取引の分析
- Type=「宅地(土地のみ)」でフィルタ
- 坪単価 = TradePrice / Area(㎡) × 3.30579
- 一種単価 = 坪単価 / (容積率 / 100)
- 用途地域別にグルーピング → 最小・中央値・最大

### 6. 建物込み取引の分析(参考値)
- Type=「宅地(土地と建物)」でフィルタ(中古マンション除外)
- 建物残価を簡易推定して差し引き、土地価格を逆算

#### 建物残価の推定
法定耐用年数:
- 木造: 22年 / 軽量鉄骨: 27年 / 重量鉄骨: 34年 / RC・SRC: 47年

建築費単価(2024年 建築着工統計 第34表):
- 木造: 21.5万円/㎡ / 鉄骨造: 32.5万円/㎡ / RC: 33.4万円/㎡

建物残価 = 建築費単価 × 延床面積 × max(0, 1 - 築年数/耐用年数)
推定土地価格 = 取引価格 - 建物残価

### 7. 異常値除外
- 坪単価が地域中央値の1/5以下
- 推定土地価格 ≤ 0

### 8. 妥当性判定
| 乖離率     | 判定           |
|------------|----------------|
| ±10%以内   | 妥当           |
| 10-30%     | 要精査         |
| 30%超      | 異常値の可能性 |

### 9. レポート出力
テーブル形式で用途地域別の坪単価・一種単価レンジを出力。

※ 実際の SKILL.md には Python コードの実行手順やより詳細な判定ロジックが含まれている。完全版は GitHub リポジトリを参照。

分析の仕組み

土地のみ取引の分析

直近3年分の取引データから、土地のみの取引を抽出する。面積と取引価格から坪単価(1坪=約3.3㎡あたりの価格)を算出し、用途地域ごとにレンジ(最小・中央値・最大)を出す。

さらに一種単価(坪単価を容積率で割った値)も算出する。容積率200%の土地と400%の土地では建てられる建物の大きさが倍違うので、坪単価だけでは公平に比較できない。一種単価で揃えることで、条件が違う土地同士を比較できるようになる。

建物込み取引からの土地価格推定

土地と建物がセットで売買された取引からは、売買価格に建物の価値が含まれている。土地だけの価格を知りたいので、建物の残存価値を差し引く。

建物残価の計算:

建物残価 = 建築費単価 × 延床面積 × max(0, 1 - 築年数 / 法定耐用年数)

法定耐用年数(構造別。税務上の減価償却期間):

建築費単価2024年 建築着工統計 第34表・住宅・全国平均):

推定土地価格 = 取引価格 - 建物残価。0以下は異常値として除外。建築費単価は全国平均のため地域差・仕様差が大きく、あくまで参考値

使ってみる

セットアップは3ステップ。

1. API キーを取得する(無料)

不動産情報ライブラリの申請フォームから申請する。無料。自分の場合は翌日にAPIキーがメールで届いた(平文メールでAPIキーが届くの、セキュリティ的にどうなの…)。確認メールが迷惑メールフォルダに入りがちなので注意。

不動産情報ライブラリ API利用申請フォーム

2. MCP サーバーを入れる

このスキルは mlit-geospatial-mcp(国交省 API との橋渡し役)が必要。

git clone https://github.com/chirikuuka/mlit-geospatial-mcp.git
cd mlit-geospatial-mcp
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

Claude Code に MCP サーバーを登録する。.mcp.json をプロジェクトルートに置く。

{
  "mcpServers": {
    "mlit-geospatial-mcp": {
      "command": "/path/to/mlit-geospatial-mcp/.venv/bin/python",
      "args": ["/path/to/mlit-geospatial-mcp/src/server.py"],
      "env": {
        "LIBRARY_API_KEY": "あなたのAPIキー"
      }
    }
  }
}

/path/to/ は実際のパスに置き換える。

3. スキルをインストールする

npx skills add ramenumaiwhy/reinfolib-skill

これで準備完了。あとは Claude Code に話しかけるだけ。

赤坂1丁目の土地の相場教えて

おわりに

Claude Code のスキルは、「ドメイン知識 × API連携 × 手順書」の組み合わせで、専門的な分析ツールを作れる。しかも SKILL.md 1ファイルだけで。

今回は国交省のオープンデータで取引事例比較法の簡易版を自動化した。プロの鑑定とは精度が違うが、「この物件、相場と比べてどう?」に答えるには十分。MCPサーバー + スキルの構成は、不動産に限らず「APIを叩いて分析する」タスク全般に応用できる。

リポジトリ: https://github.com/ramenumaiwhy/reinfolib-skill

質問モード — テキストを選択してね
質問を送信しました