不动产法规查询服务

一个从e-Gov法令API实时获取日本不动产交易相关法律法规的MCP服务器,用于防止AI回答中的法律条文幻觉。

  • by Sora-bluesky
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Sora-bluesky/real-estate-brokerage-act-mcp

使用说明

real-estate-brokerage-act-mcp

不動産取引実務に必要な法令・通達を e-Gov 法令 API からリアルタイム取得する MCP サーバー。

AI の不動産法規回答に含まれるハルシネーションを、条文原文との照合によって防ぐ。

特徴

  • 法令取得 — e-Gov 法令 API v2 から条文を Markdown 形式で取得
  • 法令検索 — キーワードで法令を横断検索
  • 通達・告示取得 — 報酬額告示・原状回復 GL・事故物件 GL・IT 重説マニュアル等 10 件の実務頻出資料を国交省 PDF から取得
  • 検索ファースト — e-Gov API 検索による動的な法令解決。プリセットに限らず、e-Gov 収録の全法令を取得可能
  • 略称マップ — 宅建業法・都市計画法・建築基準法・所得税法ほか 85 法令の略称を登録済み。施行令第 3 条(重説・法令上の制限)の全 48 法令 + 税法 6 法令 + 暴対法・個人情報保護法等を含む
  • キャッシュ — 検索 30 分・法令データ 24 時間の TTL キャッシュ
  • API 耐障害性 — 自動リトライ(exponential backoff)+ サーキットブレーカー
  • 運用可視化 — 構造化 JSON ログ + 使用量メトリクス(get_metrics ツール)+ セキュリティ監査ログ

Web で使う(Vercel デプロイ)

Vercel にデプロイすると、Claude.ai からすぐに使えます。環境変数の設定は不要です(e-Gov API は公開 API)。

Claude.ai でのセットアップ(Free/Pro/Max/Team/Enterprise)

注意: Custom Connectors はベータ版のため、接続が不安定な場合があります。安定してご利用いただくには npx(ローカル)でのセットアップもご検討ください。

  1. 上の「Deploy with Vercel」ボタンでデプロイ(ワンクリック)
  2. claude.ai → プロフィールアイコン → Settings → Connectors
  3. 「Add custom connector」をクリック
  4. URL に https://your-app.vercel.app/api/mcp(your-app をデプロイ先に置換)を入力
  5. チャットで「+」→「Connectors」→ real-estate-brokerage-act を有効化
  6. 「宅建業法第35条を教えて」と質問

参考: Get started with custom connectors using remote MCP

Vercel Free tier の制限事項

  • 関数の実行時間が 10 秒 に制限されます(Pro プランでは 60 秒)
  • get_tsutatsu(通達取得)は PDF ダウンロード + パースが重いため、タイムアウトする場合があります
  • BUILDING_LAW_REQUEST_TIMEOUT=8000 を設定してタイムアウトを短縮できます

ローカルで使う(stdio)

npx(推奨)

インストール不要で実行できます。

npx -y real-estate-brokerage-act-mcp

Claude Desktop

claude_desktop_config.json に以下を追加してください。

{
  "mcpServers": {
    "real-estate-brokerage-act": {
      "command": "npx",
      "args": ["-y", "real-estate-brokerage-act-mcp"]
    }
  }
}

Claude Code

claude mcp add real-estate-brokerage-act -- npx -y real-estate-brokerage-act-mcp

Windows + VS Code 拡張機能の場合

VS Code 拡張機能では npx 経由の起動が Connection closed エラーになる場合があります。 プロジェクトルートに .mcp.json を作成してください。

Step 1: グローバルインストール

npm install -g real-estate-brokerage-act-mcp

Step 2: パスの確認

where node        # → node.exe のフルパス(例: C:\Program Files\nodejs\node.exe)
npm root -g       # → グローバル node_modules のパス

Step 3: .mcp.json を作成

取得したパスで置き換えてください(パス区切りは / を使用):

{
  "mcpServers": {
    "real-estate-brokerage-act": {
      "command": "<where node の出力>",
      "args": [
        "<npm root -g の出力>/real-estate-brokerage-act-mcp/dist/index.js"
      ]
    }
  }
}

注意: .mcp.json にはマシン固有のパスが含まれるため、.gitignore に追加してください。

ローカル(ソースから)

git clone https://github.com/Sora-bluesky/real-estate-brokerage-act-mcp.git
cd real-estate-brokerage-act-mcp
npm install
npm run build
{
  "mcpServers": {
    "real-estate-brokerage-act": {
      "command": "node",
      "args": ["/path/to/real-estate-brokerage-act-mcp/dist/index.js"]
    }
  }
}

MCP ツール

ツール 説明
get_law 条番号を指定して法令の条文を取得する。略称・正式名称のいずれでも指定可能
get_full_law 法令の全文を取得する
search_law キーワードで不動産関連法令を横断検索する
get_tsutatsu 国交省の通達・ガイドライン・告示を取得する(報酬額告示、原状回復 GL 等)
check_law_updates 法令の改正状況を e-Gov API で確認する
get_laws_batch 複数の法令・条文を一括取得する(最大 20 件)
verify_citation AI の回答に含まれる法令引用を検証する
suggest_related 指定した条文の関連法令・委任先を自動抽出して提案する
analyze_article 条文の構造解析メタデータを JSON 形式で返す
get_metrics サーバーの使用量メトリクスを返す

パラメータ

get_law

パラメータ 説明 例
law_name 法令名(正式名称または略称) 宅建業法, 建築基準法
article_number 条文番号(附則・別表にも対応) 第35条, 附則, 別表第一
format 出力形式(text または structured、省略時は text) structured

get_full_law

パラメータ 説明 例
law_name 法令名(正式名称または略称) 宅建業法施行令, 都市計画法

search_law

パラメータ 説明 例
keyword 検索キーワード 重要事項説明, 媒介報酬

get_tsutatsu

パラメータ 説明 例
tsutatsu_name 通達・ガイドライン名 報酬額告示, 事故物件ガイドライン

check_law_updates

パラメータ 説明 例
law_name 法令名または略称(単体チェック) 宅建業法
group グループ名(バッチチェック、省略時は全グループ) 税法
show_history 改正履歴の詳細を表示(law_name 指定時) true

get_laws_batch

パラメータ 説明 例
requests 取得対象の配列。各要素に law_name, article_number, format を指定 —

verify_citation

パラメータ 説明 例
citations 検証対象の配列。各要素に law_name, article_number, claimed_text(省略可) —

suggest_related

パラメータ 説明 例
law_name 法令名(正式名称または略称) 宅建業法
article_number 条文番号 第35条

analyze_article

パラメータ 説明 例
law_name 法令名(正式名称または略称) 宅建業法
article_number 条文番号 第35条

get_metrics

パラメータなし。サーバー起動後の稼働時間・ツール呼び出し回数・API リクエスト数・キャッシュヒット率を返す。

使用例

条文取得

宅建業法第35条を取得して
→ get_law(law_name="宅建業法", article_number="35")

略称使用

都計法第29条を取得して
→ get_law(law_name="都計法", article_number="第29条")

通達取得

報酬額告示を取得して
→ get_tsutatsu(tsutatsu_name="報酬額告示")

法令検索

重要事項説明に関する法令を検索して
→ search_law(keyword="重要事項説明")

全文取得

宅建業法施行令の全文を取得して
→ get_full_law(law_name="宅建業法施行令")

附則取得

宅建業法の附則を取得して
→ get_law(law_name="宅建業法", article_number="附則")

ハルシネーション防止ワークフロー

AI が不動産法規について回答する際、条文の引用ミスや存在しない条文の捏造(ハルシネーション)が発生することがあります。本ツールは 4 段階の防止メカニズム でこれを解決します。

基本ワークフロー(自動実行)

ユーザーの質問
  ↓
1. AI が仮回答を作成
  ↓
2. get_law / get_tsutatsu で引用した条文・通達の原文を取得
  ↓
3. 原文と仮回答を照合 → 誤りがあれば修正
  ↓
4. 2〜3 を収束するまで繰り返す(最大 4 ラウンド)
  ↓
照合済みの条文番号を引用元として明示した最終回答

このワークフローは MCP サーバーのシステムプロンプトに組み込まれており、AI が自動的に実行します。

追加の検証ツール

ツール 用途 使い方
verify_citation AI の回答に含まれる 法令引用を自動検証 する 回答テキストから条文番号・法令名を自動抽出し、e-Gov API から原文を取得して照合。不一致があれば指摘する(最大 10 件同時検証)
suggest_related 指定条文の 関連法令を自動提案 する 条文間の参照(委任先・同法令内参照)を解析し、見落としがちな関連規定を提示する
analyze_article 条文の 構造を解析 する 項数・号数・参照先の統計情報をメタデータとして返す。複雑な条文の全体像を把握し、読み落としを防ぐ
get_laws_batch 複数条文を一括取得 する 関連する複数の条文をまとめて取得し、条文間の整合性を確認する(最大 20 件)

通達・告示プリセット(10 件)

略称 正式名称
報酬額告示 宅地建物取引業者が宅地又は建物の売買等に関して受けることができる報酬の額
解釈・運用の考え方 宅地建物取引業法の解釈・運用の考え方
原状回復 GL 原状回復をめぐるトラブルとガイドライン
標準媒介契約約款 標準媒介契約約款
重説様式 重要事項説明書の様式例
事故物件 GL 宅地建物取引業者による人の死の告知に関するガイドライン
サブリース GL サブリース事業に係る適正な業務のためのガイドライン
賃管法通達 賃貸住宅の管理業務等の適正化に関する法律の解釈・運用の考え方
IT 重説 重要事項説明書等の電磁的方法による提供及び IT を活用した重要事項説明実施マニュアル
インスペクション GL 既存住宅インスペクション・ガイドライン

対応法令一覧(85 法令 + e-Gov 全法令)

以下の 85 法令は略称マップに登録済みです。略称マップに含まれない法令も、正式名称を指定すれば e-Gov API 検索で動的に取得できます。

コア — 宅建業(3 法令)

法令名 略称
宅地建物取引業法 宅建業法
宅地建物取引業法施行令 宅建業法施行令
宅地建物取引業法施行規則 宅建業法施行規則

契約・民事(7 法令)

法令名 略称
民法 —
借地借家法 —
建物の区分所有等に関する法律 区分所有法
不動産登記法 不登法
不動産登記令 不登令
信託法 —
信託業法 —

重説・法令上の制限(52 法令)

法令一覧を表示
グループ 法令名 略称
都市計画 都市計画法 都計法
都市計画 都市計画法施行令 都計令
都市計画 都市計画法施行規則 都計規則
都市計画 都市再開発法 再開発法
都市計画 密集市街地における防災街区の整備の促進に関する法律 密集法
都市計画 都市の低炭素化の促進に関する法律 低炭素法
都市計画 土地区画整理法 区画整理法
都市計画 都市緑地法 —
都市計画 生産緑地法 —
都市計画 国土利用計画法 国土法
都市計画 屋外広告物法 —
都市計画 文化財保護法 —
都市計画 景観法 —
都市計画 都市公園法 —
建築 建築基準法 建基法, 基準法
建築 建築基準法施行令 建基令
防災・河川 水防法 —
防災・河川 津波防災地域づくりに関する法律 津波防災法
防災・河川 特定都市河川浸水被害対策法 特定都市河川法
防災・河川 河川法 —
防災・河川 急傾斜地の崩壊による災害の防止に関する法律 急傾斜地法
防災・河川 土砂災害警戒区域等における土砂災害防止対策の推進に関する法律 土砂災害防止法
防災・河川 地すべり等防止法 —
防災・河川 災害対策基本法 —
環境・景観 自然公園法 —
環境・景観 自然環境保全法 —
環境・景観 古都における歴史的風土の保存に関する特別措置法 古都保存法
環境・景観 大気汚染防止法 —
環境・景観 水質汚濁防止法 —
環境・景観 騒音規制法 —
環境・景観 振動規制法 —
環境・景観 悪臭防止法 —
農地・土地 農地法 —
農地・土地 宅地造成及び特定盛土等規制法 盛土規制法, 宅造法
農地・土地 公有地の拡大の推進に関する法律 公拡法
農地・土地 土壌汚染対策法 —
農地・土地 地価公示法 —
農地・土地 不動産の鑑定評価に関する法律 不動産鑑定評価法
農地・土地 森林法 —
道路・交通 道路法 —
道路・交通 道路交通法 道交法
道路・交通 駐車場法 —
道路・交通 港湾法 —
その他 廃棄物の処理及び清掃に関する法律 廃棄物処理法
その他 建設工事に係る資材の再資源化等に関する法律 建設リサイクル法
その他 高齢者、障害者等の移動等の円滑化の促進に関する法律 バリアフリー法
その他 空家等対策の推進に関する特別措置法 空家対策特措法
その他 建築物の耐震改修の促進に関する法律 耐震改修促進法
その他 住宅宿泊事業法 民泊新法
その他 被災市街地復興特別措置法 被災市街地復興法
その他 被災区分所有建物の再建等に関する特別措置法 被災マンション法
その他 労働安全衛生法 安衛法

マンション関連(2 法令)

法令名 略称
マンションの管理の適正化の推進に関する法律 マンション管理適正化法
マンションの建替え等の円滑化に関する法律 マンション建替え法

住宅品質・瑕疵(4 法令)

法令名 略称
住宅の品質確保の促進等に関する法律 品確法
特定住宅瑕疵担保責任の履行の確保等に関する法律 住宅瑕疵担保履行法
独立行政法人住宅金融支援機構法 住宅金融支援機構法
住生活基本法 —

賃貸管理(1 法令)

法令名 略称
賃貸住宅の管理業務等の適正化に関する法律 賃貸住宅管理業法

コンプライアンス(6 法令)

法令名 略称
犯罪による収益の移転防止に関する法律 犯収法
消費者契約法 —
不当景品類及び不当表示防止法 景品表示法
暴力団員による不当な行為の防止等に関する法律 暴対法
個人情報の保護に関する法律 個人情報保護法
不動産特定共同事業法 不特法

税法(6 法令)

法令名 略称
所得税法 —
租税特別措置法 租特法
地方税法 —
印紙税法 —
登録免許税法 登免税法
相続税法 —

法令解決の仕組み

  • 法令名(正式名称または略称)を受け取ると、e-Gov API のキーワード検索で law_id を動的に解決します
  • 略称マップに登録済みの法令は、略称から正式名称に展開した上で検索します
  • 略称マップに含まれない法令も、正式名称を指定すれば取得可能です
  • check_law_updates ツールで法令の改正状況を確認できます(e-Gov API のリビジョン履歴を参照)

注意: 自治体条例(都道府県・市区町村の条例)は e-Gov API の収録対象外のため取得できません。対象は国の法律・政令・省令・告示のみです。

環境変数

変数 説明 デフォルト
BUILDING_LAW_LOG_LEVEL ログレベル(debug / info / warn / error) info
BUILDING_LAW_REQUEST_TIMEOUT API リクエストタイムアウト(ミリ秒) 30000
CORS_ORIGINS 許可する CORS オリジン(カンマ区切り) https://claude.ai

技術仕様

項目 値
e-Gov API ベース URL https://laws.e-gov.go.jp/api/2
国交省 通達 PDF https://www.mlit.go.jp/
検索キャッシュ TTL 30 分
法令データキャッシュ TTL 24 時間
通達 PDF キャッシュ TTL 24 時間
リクエストタイムアウト 30 秒(環境変数で変更可能)
Vercel デプロイ 対応(Streamable HTTP transport)
Node.js >= 20.0.0

セキュリティ

  • 読み取り専用: 本サーバーは法令テキストの取得のみを行い、書き込み・変更・削除操作は一切ありません
  • 公開データのみ: e-Gov 法令 API および国土交通省の公開資料から情報を取得します。API キーや認証情報は不要です
  • 入力バリデーション: 全ツールの入力パラメータに Zod スキーマと文字数上限を設定しています
  • SSRF 対策: PDF 取得先を政府ドメイン(mlit.go.jp / e-gov.go.jp)に限定しています
  • エラーサニタイズ: エラーメッセージから内部 URL・ファイルパスを除去して返します
  • 監査ログ: 全ツール呼び出しと SSRF 拒否イベントを構造化 JSONL で記録します
  • キャッシュ制限: インメモリキャッシュにエントリ数上限と TTL 自動失効を設定し、メモリ枯渇を防止しています
  • CORS 制限: Vercel デプロイ時、デフォルトで https://claude.ai のみ許可します
  • npm provenance: パッケージは GitHub Actions から署名付きで公開されています
  • 引用検証: verify_citation ツールで AI が生成した法令引用を条文原文と照合できます

データソース

免責事項

本 MCP サーバーは、e-Gov 法令検索および国土交通省から取得した情報を提供しますが、掲載情報の正確性・完全性を保証するものではありません。

本ツールの利用に伴って発生した不利益や問題について、開発者は一切の責任を負いません。正確な条文の確認には、必ず官報または法令集の原本を参照してください。

謝辞

本プロジェクトは tax-law-mcp(MIT License, Copyright (c) 2026 Kentaro Ajisaka)のアーキテクチャおよびコードを参考に開発しました。

ライセンス

MIT