building-standards-act-mcp
v1.3.1
Published
MCP server for Japanese building regulations — fetches law text from e-Gov API v2 to prevent AI hallucination in building permit reviews
Downloads
1,976
Maintainers
Readme
building-standards-act-mcp
建築確認申請に必要な法令・告示を e-Gov 法令 API からリアルタイム取得する MCP サーバー。
AI の建築法規回答に含まれるハルシネーションを、条文原文との照合によって防ぐ。
特徴
- 法令取得 — e-Gov 法令 API v2 から条文を Markdown 形式で取得
- 法令検索 — キーワードで法令を横断検索
- 法令全文取得 — 法令全体のテキストを取得
- 告示取得 — 建築基準法が技術基準を委任している告示を国土交通省の告示データベース(PDF)から取得
- 検索ファースト — e-Gov API 検索による動的な法令解決。プリセットに限らず、e-Gov 収録の全法令を取得可能
- 略称マップ — 建築基準法・消防法・都市計画法ほか 112 法令の略称を登録済み。「建基法」「都計法」「消防法」等の略称で指定可能
- キャッシュ — 検索 30 分・法令データ 24 時間の TTL キャッシュ(永続化オプションあり)
- API 耐障害性 — 自動リトライ(exponential backoff)+ サーキットブレーカー
- 運用可視化 — 構造化 JSON ログ + 使用量メトリクス(
get_metricsツール)
Web で使う(Vercel デプロイ)
Vercel にデプロイすると、ChatGPT・Claude.ai・Gemini CLI からすぐに使えます。環境変数の設定は不要です(e-Gov API は公開 API)。
カスタム GPT でのセットアップ(ChatGPT Plus/Pro/Team/Enterprise)
- 上の「Deploy with Vercel」ボタンでデプロイ(ワンクリック)
- chatgpt.com/create にアクセス
- 「Configure」タブで名前を入力(例:
建築法規アシスタント) - Instructions に以下を貼り付け:
建築確認申請の法規に関する質問に回答してください。 回答には必ず条文番号を引用し、get_law で原文と照合してください。 - 「Add Action」→「Import from URL」をクリック
- URL に
https://your-app.vercel.app/api/openapi.json(your-app をデプロイ先に置換)を入力 - 「Save」→ 公開設定を選択
Claude.ai でのセットアップ(Free/Pro/Max/Team/Enterprise)
注意: Custom Connectors はベータ版のため、接続が不安定な場合があります。安定してご利用いただくには npx(ローカル)でのセットアップもご検討ください。
- 上の「Deploy with Vercel」ボタンでデプロイ(ワンクリック)
- claude.ai → プロフィールアイコン → Settings → Connectors
- 「Add custom connector」をクリック
- URL に
https://your-app.vercel.app/api/mcp(your-app をデプロイ先に置換)を入力 - チャットで「+」→「Connectors」→ building-standards-act を有効化
- 「建築基準法第20条を教えて」と質問
Gemini CLI でのセットアップ(開発者向け)
- 上の「Deploy with Vercel」ボタンでデプロイ(ワンクリック)
~/.gemini/settings.jsonに以下を追加:{ "mcpServers": { "building-standards-act": { "httpUrl": "https://your-app.vercel.app/api/mcp" } } }geminiコマンドで「建築基準法第20条を取得して」と質問
Vercel Free tier の制限事項
- 関数の実行時間が 10 秒 に制限されます(Pro プランでは 60 秒)
get_kokuji(告示取得)は PDF ダウンロード + パースが重いため、タイムアウトする場合がありますBUILDING_LAW_REQUEST_TIMEOUT=8000を設定してタイムアウトを短縮できます
ローカルで使う(stdio)
npx(推奨)
インストール不要で実行できます。
npx -y building-standards-act-mcpClaude Desktop
claude_desktop_config.json に以下を追加してください。
{
"mcpServers": {
"building-standards-act": {
"command": "npx",
"args": ["-y", "building-standards-act-mcp"]
}
}
}Claude Code
claude mcp add building-standards-act -- npx -y building-standards-act-mcpWindows + VS Code 拡張機能の場合
VS Code 拡張機能では npx 経由の起動が Connection closed エラーになる場合があります。
プロジェクトルートに .mcp.json を作成してください。
Step 1: グローバルインストール
npm install -g building-standards-act-mcpStep 2: パスの確認
where node # → node.exe のフルパス(例: C:\Program Files\nodejs\node.exe)
npm root -g # → グローバル node_modules のパスStep 3: .mcp.json を作成
取得したパスで置き換えてください(パス区切りは / を使用):
{
"mcpServers": {
"building-standards-act": {
"command": "<where node の出力>",
"args": ["<npm root -g の出力>/building-standards-act-mcp/dist/index.js"]
}
}
}注意:
.mcp.jsonにはマシン固有のパスが含まれるため、.gitignoreに追加してください。
ローカル(ソースから)
git clone https://github.com/Sora-bluesky/building-standards-act-mcp.git
cd building-standards-act-mcp
npm install
npm run build{
"mcpServers": {
"building-standards-act": {
"command": "node",
"args": ["/path/to/building-standards-act-mcp/dist/index.js"]
}
}
}MCP ツール
| ツール | 説明 |
| ------------------- | --------------------------------------------------------------------------------------------- |
| get_law | 条番号を指定して法令の条文を取得する。略称・正式名称のいずれでも指定可能 |
| get_full_law | 法令の全文を取得する。条番号を指定せず法令全体のテキストを返す |
| search_law | キーワードで建築関連法令を横断検索する。略称マップと e-Gov API の両方を検索 |
| get_kokuji | 建築基準法が技術基準を委任している告示の全文を取得する(省エネ告示は国交省 PDF から直接取得) |
| check_law_updates | 法令の改正状況を e-Gov API で確認する(単体/バッチ/改正履歴表示に対応) |
| get_laws_batch | 複数の法令・条文を一括取得する(最大20件、同一法令は1回のAPI呼び出しで効率処理) |
| verify_citation | AIの回答に含まれる法令引用を検証する(条文存在確認・テキスト照合、最大10件) |
| suggest_related | 指定した条文の関連法令・委任先・同法令内参照を自動抽出して提案する |
| analyze_article | 条文の構造解析メタデータ(項数・号数・参照統計・プレビュー)をJSON形式で返す |
| get_metrics | サーバーの使用量メトリクスを返す(ツール呼び出し回数・APIリクエスト数・キャッシュヒット率) |
パラメータ
get_law
| パラメータ | 説明 | 例 |
| ---------------- | ------------------------------------------------------- | ---------------------------- |
| law_name | 法令名(正式名称または略称) | 建築基準法, 建基法 |
| article_number | 条文番号(附則・別表にも対応) | 第20条, 附則, 別表第一 |
| format | 出力形式(text または structured、省略時は text) | structured |
get_full_law
| パラメータ | 説明 | 例 |
| ---------- | ---------------------------- | ---------------------------- |
| law_name | 法令名(正式名称または略称) | 建築基準法施行令, 建基令 |
search_law
| パラメータ | 説明 | 例 |
| ---------- | -------------- | ---------------------- |
| keyword | 検索キーワード | 耐火構造, 用途変更 |
get_kokuji
| パラメータ | 説明 | 例 |
| ------------- | ------ | ------------------------------ |
| kokuji_name | 告示名 | 耐火構造の構造方法を定める件 |
check_law_updates
| パラメータ | 説明 | 例 |
| -------------- | ------------------------------------------ | ------------ |
| law_name | 法令名または略称(単体チェック) | 建築基準法 |
| group | 章グループ(バッチチェック、省略時は全章) | 1章 |
| 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 | 条文番号 | 第20条 |
analyze_article
| パラメータ | 説明 | 例 |
| ---------------- | ---------------------------- | ------------ |
| law_name | 法令名(正式名称または略称) | 建築基準法 |
| article_number | 条文番号 | 第20条 |
get_metrics
パラメータなし。サーバー起動後の稼働時間・ツール呼び出し回数・API リクエスト数・キャッシュヒット率を返す。
使用例
条文取得
建築基準法第20条を取得して
→ get_law(law_name="建築基準法", article_number="20")略称使用
建基法第6条の2を取得して
→ get_law(law_name="建基法", article_number="第6条の2")法令検索
耐火構造に関する法令を検索して
→ search_law(keyword="耐火構造")全文取得
建築基準法施行令の全文を取得して
→ get_full_law(law_name="建築基準法施行令")告示取得
耐火構造の構造方法を定める件を取得して
→ get_kokuji(kokuji_name="耐火構造の構造方法を定める件")附則取得
建築基準法の附則を取得して
→ get_law(law_name="建築基準法", article_number="附則")
建築基準法施行令の附則第1条を取得して
→ get_law(law_name="建築基準法施行令", article_number="附則第1条")別表取得
建築基準法の別表第一を取得して
→ get_law(law_name="建築基準法", article_number="別表第一")ハルシネーション防止ワークフロー
AI が建築法規について回答する際、条文の引用ミスや存在しない条文の捏造(ハルシネーション)が発生することがあります。本ツールは 4 段階の防止メカニズム でこれを解決します。
基本ワークフロー(自動実行)
ユーザーの質問
↓
1. AI が仮回答を作成
↓
2. get_law / get_kokuji で引用した条文・告示の原文を取得
↓
3. 原文と仮回答を照合 → 誤りがあれば修正
↓
4. 2〜3 を収束するまで繰り返す(最大 4 ラウンド)
↓
照合済みの条文番号・告示番号を引用元として明示した最終回答このワークフローは MCP サーバーの システムプロンプト に組み込まれており、AI が自動的に実行します。
追加の検証ツール
基本ワークフローに加えて、以下の専用ツールを使用することでさらに精度を高められます。
| ツール | 用途 | 使い方 |
| ----------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| verify_citation | AI の回答に含まれる 法令引用を自動検証 する | 回答テキストから条文番号・法令名を自動抽出し、e-Gov API から原文を取得して照合。不一致があれば指摘し、正しい条文を提示する(最大 10 件同時検証) |
| suggest_related | 指定条文の 関連法令を自動提案 する | 条文間の参照(委任先・同法令内参照)を解析し、見落としがちな関連規定を提示。施行令への委任や別の章への参照を漏れなく把握できる |
| analyze_article | 条文の 構造を解析 する | 項数・号数・参照先の統計情報をメタデータとして返す。複雑な条文の全体像を把握し、読み落としを防ぐ |
| get_laws_batch | 複数条文を一括取得 する | 関連する複数の条文をまとめて取得し、条文間の整合性を確認する(最大 20 件) |
使用例:引用検証
「建築基準法第20条で木造建築物の構造計算が必要な条件を教えて」
→ AI が回答を作成
→ verify_citation で回答内の引用を自動検証
→ 「第20条第1項第四号の引用が正確であることを確認しました」
または
→ 「第20条第1項第三号の記載に誤りがあります。正しくは…」対応法令一覧(112 法令 + e-Gov 全法令)
以下の 112 法令は略称マップに登録済みです。略称マップに含まれない法令も、正式名称を指定すれば e-Gov API 検索で動的に取得できます。
総則(4 法令)
| 法令名 | 略称 | | ------------------ | -------------------- | | 建築基準法 | 建基法, 基準法 | | 建築基準法施行令 | 建基令, 基準法施行令 | | 建築基準法施行規則 | 建基規則 | | 民法 | — |
手続関連規定(6 法令)
| 法令名 | 略称 | | ---------------- | ------------ | | 建築士法 | 士法 | | 建築士法施行令 | 士法施行令 | | 建築士法施行規則 | 士法施行規則 | | 建設業法 | — | | 建設業法施行令 | — | | 建設業法施行規則 | — |
集団規定・街づくり(13 法令)
| 法令名 | 略称 | | -------------------------------------------------- | ---------------------- | | 都市計画法 | 都計法 | | 都市計画法施行令 | 都計令 | | 都市再開発法 | 再開発法 | | 景観法 | — | | 密集市街地における防災街区の整備の促進に関する法律 | 密集法 | | 都市の低炭素化の促進に関する法律 | 低炭素法 | | 屋外広告物法 | — | | 文化財保護法 | — | | 土地区画整理法 | 区画整理法 | | 都市緑地法 | — | | 生産緑地法 | — | | 国土利用計画法 | 国土利用計画法, 国土法 | | 都市計画法施行規則 | 都計規則 |
防火・耐火規定(4 法令)
| 法令名 | 略称 | | ------------------------ | ---------- | | 消防法 | — | | 消防法施行令 | 消防令 | | 消防法施行規則 | 消防規則 | | 危険物の規制に関する規則 | 危険物規則 |
構造規定(7 法令)
| 法令名 | 略称 | | ------------------------------------------ | ---------------------- | | 地震防災対策特別措置法 | 地震防災特措法 | | 津波防災地域づくりに関する法律 | 津波防災法 | | 特定都市河川浸水被害対策法 | 特定都市河川法 | | 住宅地区改良法 | — | | 建築物における衛生的環境の確保に関する法律 | 建築物衛生法, ビル管法 | | 建築物の耐震改修の促進に関する法律施行令 | 耐震改修促進法施行令 | | 建築物の耐震改修の促進に関する法律施行規則 | 耐震改修促進法施行規則 |
建築材料(3 法令)
| 法令名 | 略称 | | ---------------- | ---------------------- | | 産業標準化法 | JIS法, 産業標準化法 | | 製造物責任法 | PL法, 製造物責任法 | | 石綿障害予防規則 | 石綿則, アスベスト規則 |
設備関連規定(5 法令)
| 法令名 | 略称 | | -------------------------- | ---------------- | | 浄化槽法 | — | | 電気工事士法 | — | | 電気用品安全法 | 電安法 | | 浄化槽法施行令 | — | | 環境省関係浄化槽法施行規則 | 浄化槽法施行規則 |
その他(5 法令)
| 法令名 | 略称 | | ---------------------------------------------- | ------------------ | | 特定住宅瑕疵担保責任の履行の確保等に関する法律 | 住宅瑕疵担保履行法 | | 不動産登記法 | 不登法 | | 借地借家法 | — | | 不動産の鑑定評価に関する法律 | 不動産鑑定法 | | 住宅宿泊事業法 | 民泊新法 |
建築基準関係規定・建築関連法令(52 法令)
| 法令名 | 略称 | | ------------------------------------------------------------ | -------------------- | | 旅館業法 | — | | 食品衛生法 | — | | 風俗営業等の規制及び業務の適正化等に関する法律 | 風営法, 風適法 | | 興行場法 | — | | 公衆浴場法 | — | | 医療法 | — | | 児童福祉法 | — | | 社会福祉法 | — | | 老人福祉法 | — | | 学校教育法 | — | | 駐車場法 | — | | 火薬類取締法 | — | | 高圧ガス保安法 | — | | 液化石油ガスの保安の確保及び取引の適正化に関する法律 | 液石法, LPガス法 | | ガス事業法 | — | | 電気事業法 | — | | 宅地造成及び特定盛土等規制法 | 盛土規制法, 宅造法 | | 宅地建物取引業法 | 宅建業法 | | 道路法 | — | | 土地収用法 | — | | 農地法 | — | | 森林法 | — | | 河川法 | — | | 港湾法 | — | | 地すべり等防止法 | — | | 急傾斜地の崩壊による災害の防止に関する法律 | 急傾斜地法 | | 土砂災害警戒区域等における土砂災害防止対策の推進に関する法律 | 土砂災害防止法 | | 危険物の規制に関する政令 | 危険物政令 | | 水道法 | — | | 下水道法 | — | | 廃棄物の処理及び清掃に関する法律 | 廃棄物処理法, 廃掃法 | | 土壌汚染対策法 | — | | 労働安全衛生法 | 安衛法, 労安法 | | 建設工事に係る資材の再資源化等に関する法律 | 建設リサイクル法 | | 大気汚染防止法 | — | | 水質汚濁防止法 | — | | 騒音規制法 | — | | 振動規制法 | — | | 悪臭防止法 | — | | 高齢者、障害者等の移動等の円滑化の促進に関する法律 | バリアフリー法 | | 高齢者、障害者等の移動等の円滑化の促進に関する法律施行令 | バリアフリー法施行令 | | 道路交通法 | 道交法 | | 都市公園法 | — | | 自然公園法 | — | | 古都における歴史的風土の保存に関する特別措置法 | 古都保存法 | | 空家等対策の推進に関する特別措置法 | 空家対策特措法 | | 介護保険法 | — | | 障害者の日常生活及び社会生活を総合的に支援するための法律 | 障害者総合支援法 | | 墓地、埋葬等に関する法律 | 墓地埋葬法 | | 高齢者の居住の安定確保に関する法律 | 高齢者住まい法 | | 労働安全衛生法施行令 | 安衛令 | | 宅地造成及び特定盛土等規制法施行令 | 盛土規制法施行令 |
省エネ・住宅関連法(14 法令)
| 法令名 | 略称 | | ------------------------------------------------------------------ | ---------------------- | | 建築物のエネルギー消費性能の向上等に関する法律 | 建築物省エネ法 | | 建築物のエネルギー消費性能の向上等に関する法律施行令 | 建築物省エネ法施行令 | | 建築物エネルギー消費性能基準等を定める省令 | 省エネ基準省令 | | エネルギーの使用の合理化及び非化石エネルギーへの転換等に関する法律 | 省エネ法 | | 住宅の品質確保の促進等に関する法律 | 品確法, 住宅品質確保法 | | 長期優良住宅の普及の促進に関する法律 | 長期優良住宅法 | | マンションの管理の適正化の推進に関する法律 | マンション管理適正化法 | | マンションの建替え等の円滑化に関する法律 | マンション建替え法 | | 建物の区分所有等に関する法律 | 区分所有法 | | 住宅の品質確保の促進等に関する法律施行令 | 品確法施行令 | | 住宅の品質確保の促進等に関する法律施行規則 | 品確法施行規則 | | 長期優良住宅の普及の促進に関する法律施行令 | 長期優良住宅法施行令 | | 長期優良住宅の普及の促進に関する法律施行規則 | 長期優良住宅法施行規則 | | 建築物のエネルギー消費性能の向上等に関する法律施行規則 | 建築物省エネ法施行規則 |
既存建築物関連(3 法令)
| 法令名 | 略称 | | ------------------------------------------ | ---------------- | | 建築物の耐震改修の促進に関する法律 | 耐震改修促進法 | | 被災市街地復興特別措置法 | 被災市街地復興法 | | 被災区分所有建物の再建等に関する特別措置法 | 被災マンション法 |
対応告示(9 件)
e-Gov API は告示を収録していないため、get_kokuji は国土交通省の告示・通達データベース(Excel → PDF)から取得します。省エネ関連の告示第265号・第266号は国交省 PDF から直接取得します。見つからない場合は e-Gov API のキーワード検索にフォールバックします。
| 告示名 | 分野 | | -------------------------------------------------------------------------------------------- | ------------------------ | | 耐火構造の構造方法を定める件 | 防火・耐火 | | 準耐火構造の構造方法を定める件 | 防火・耐火 | | 防火構造の構造方法を定める件 | 防火・耐火 | | 不燃材料を定める件 | 防火・耐火 | | 採光に有効な部分の面積の算定方法を定める件 | 採光 | | 避難安全検証法に関する算出方法等を定める件 | 避難 | | 許容応力度計算等の方法を定める件 | 構造 | | 建築物エネルギー消費性能基準等を定める省令における算出方法等に係る事項 | 省エネ(UA値) | | 住宅部分の外壁、窓等を通しての熱の損失の防止に関する基準及び一次エネルギー消費量に関する基準 | 省エネ(断熱等性能等級) |
法令解決の仕組み
- 法令名(正式名称または略称)を受け取ると、e-Gov API のキーワード検索で
law_idを動的に解決します - 略称マップに登録済みの法令は、略称から正式名称に展開した上で検索します
- 略称マップに含まれない法令も、正式名称を指定すれば取得可能です
check_law_updatesツールで法令の改正状況を確認できます(e-Gov API のリビジョン履歴を参照)
注意: 自治体条例(都道府県・市区町村の条例)は e-Gov API の収録対象外のため取得できません。対象は国の法律・政令・省令・告示のみです。 例: 東京都建築安全条例、横浜市建築基準条例などは取得不可
環境変数
| 変数 | 説明 | デフォルト |
| ------------------------------ | ------------------------------------------------- | -------------------------------------- |
| BUILDING_LAW_CACHE | キャッシュモード(memory / file) | memory |
| BUILDING_LAW_CACHE_DIR | ファイルキャッシュの保存先ディレクトリ | ~/.cache/building-standards-act-mcp/ |
| BUILDING_LAW_LOG_LEVEL | ログレベル(debug / info / warn / error) | info |
| BUILDING_LAW_REQUEST_TIMEOUT | API リクエストタイムアウト(ミリ秒) | 30000 |
永続キャッシュの有効化
{
"mcpServers": {
"building-standards-act": {
"command": "npx",
"args": ["-y", "building-standards-act-mcp"],
"env": {
"BUILDING_LAW_CACHE": "file"
}
}
}
}技術仕様
| 項目 | 値 |
| ---------------------------- | -------------------------------- |
| e-Gov API ベース URL | https://laws.e-gov.go.jp/api/2 |
| MLIT 告示データベース | https://www.mlit.go.jp/notice/ |
| 検索キャッシュ TTL | 30 分 |
| 法令データキャッシュ TTL | 24 時間 |
| MLIT Excel キャッシュ TTL | 6 時間 |
| 告示 PDF テキストキャッシュ | 24 時間 |
| リビジョン履歴キャッシュ TTL | 1 時間 |
| リクエストタイムアウト | 30 秒(環境変数で変更可能) |
| Vercel デプロイ | 対応(MCP-over-HTTP + REST API) |
| Node.js | >= 20.0.0 |
データソース
- 法令: e-Gov 法令検索(デジタル庁)
- 告示: 国土交通省 告示・通達データベース(国土交通省)
免責事項
本 MCP サーバーは、e-Gov 法令検索および国土交通省告示・通達データベースから取得した情報を提供しますが、掲載情報の正確性・完全性を保証するものではありません。
本ツールの利用に伴って発生した不利益や問題について、開発者は一切の責任を負いません。正確な条文の確認には、必ず官報または法令集の原本を参照してください。
国土交通省は掲載されている情報の正確性については万全を期すよう努力しておりますが、本ページのデータの利用に伴って発生した不利益や問題について、責任を負うものではありません。 — 国土交通省 告示・通達データベース
謝辞
本プロジェクトは tax-law-mcp(MIT License, Copyright (c) 2026 Kentaro Ajisaka)のアーキテクチャおよびコードを参考に開発しました。
ライセンス
MIT
