building-standards-act-mcp 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/lib/best-match.d.ts +14 -0
- package/dist/lib/best-match.js +33 -0
- package/dist/lib/best-match.js.map +1 -0
- package/dist/lib/law-resolver.js +6 -5
- package/dist/lib/law-resolver.js.map +1 -1
- package/dist/tools/get-kokuji.js +2 -1
- package/dist/tools/get-kokuji.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -533,6 +533,9 @@ e-Gov API は告示を収録していないため、`get_kokuji` は国土交通
|
|
|
533
533
|
- 略称マップに含まれない法令も、正式名称を指定すれば取得可能です
|
|
534
534
|
- `check_law_updates` ツールで法令の改正状況を確認できます(e-Gov API のリビジョン履歴を参照)
|
|
535
535
|
|
|
536
|
+
> **注意**: 自治体条例(都道府県・市区町村の条例)は e-Gov API の収録対象外のため取得できません。対象は国の法律・政令・省令・告示のみです。
|
|
537
|
+
> 例: 東京都建築安全条例、横浜市建築基準条例などは取得不可
|
|
538
|
+
|
|
536
539
|
## 環境変数
|
|
537
540
|
|
|
538
541
|
| 変数 | 説明 | デフォルト |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { EgovLawEntry } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Find the best matching law from e-Gov API search results.
|
|
4
|
+
*
|
|
5
|
+
* e-Gov API returns partial-match results sorted by law number (chronological),
|
|
6
|
+
* NOT by relevance. Without this function, laws with long names containing
|
|
7
|
+
* common phrases (e.g. バリアフリー法) get misresolved to unrelated older laws.
|
|
8
|
+
*
|
|
9
|
+
* Priority:
|
|
10
|
+
* 1. Exact title match (handles バリアフリー法, 建築物省エネ法, etc.)
|
|
11
|
+
* 2. Shortest title containing the search name (handles 消防法 vs 消防法施行令)
|
|
12
|
+
* 3. First result (fallback)
|
|
13
|
+
*/
|
|
14
|
+
export declare function findBestMatch(laws: EgovLawEntry[], searchName: string): EgovLawEntry;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract the display title from an e-Gov law entry.
|
|
3
|
+
*/
|
|
4
|
+
function getLawTitle(law) {
|
|
5
|
+
return (law.revision_info?.law_title ?? law.current_revision_info?.law_title ?? "");
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Find the best matching law from e-Gov API search results.
|
|
9
|
+
*
|
|
10
|
+
* e-Gov API returns partial-match results sorted by law number (chronological),
|
|
11
|
+
* NOT by relevance. Without this function, laws with long names containing
|
|
12
|
+
* common phrases (e.g. バリアフリー法) get misresolved to unrelated older laws.
|
|
13
|
+
*
|
|
14
|
+
* Priority:
|
|
15
|
+
* 1. Exact title match (handles バリアフリー法, 建築物省エネ法, etc.)
|
|
16
|
+
* 2. Shortest title containing the search name (handles 消防法 vs 消防法施行令)
|
|
17
|
+
* 3. First result (fallback)
|
|
18
|
+
*/
|
|
19
|
+
export function findBestMatch(laws, searchName) {
|
|
20
|
+
// 1. Exact match — most reliable
|
|
21
|
+
const exact = laws.find((law) => getLawTitle(law) === searchName);
|
|
22
|
+
if (exact)
|
|
23
|
+
return exact;
|
|
24
|
+
// 2. Shortest containing match — prefer most specific law
|
|
25
|
+
const containing = laws
|
|
26
|
+
.filter((law) => getLawTitle(law).includes(searchName))
|
|
27
|
+
.sort((a, b) => getLawTitle(a).length - getLawTitle(b).length);
|
|
28
|
+
if (containing.length > 0)
|
|
29
|
+
return containing[0];
|
|
30
|
+
// 3. Fallback to first result
|
|
31
|
+
return laws[0];
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=best-match.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"best-match.js","sourceRoot":"","sources":["../../src/lib/best-match.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,SAAS,WAAW,CAAC,GAAiB;IACpC,OAAO,CACL,GAAG,CAAC,aAAa,EAAE,SAAS,IAAI,GAAG,CAAC,qBAAqB,EAAE,SAAS,IAAI,EAAE,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAoB,EACpB,UAAkB;IAElB,iCAAiC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC;IAClE,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,0DAA0D;IAC1D,MAAM,UAAU,GAAG,IAAI;SACpB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACtD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAEhD,8BAA8B;IAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC"}
|
package/dist/lib/law-resolver.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { findBestMatch } from "./best-match.js";
|
|
1
2
|
import { LawRegistry } from "./law-registry.js";
|
|
2
3
|
import { searchLaws } from "./egov-client.js";
|
|
3
4
|
const registry = new LawRegistry();
|
|
@@ -18,13 +19,13 @@ export async function resolveLawId(lawName) {
|
|
|
18
19
|
const result = await searchLaws(searchName);
|
|
19
20
|
if (result.count === 0)
|
|
20
21
|
return null;
|
|
21
|
-
const
|
|
22
|
+
const best = findBestMatch(result.laws, searchName);
|
|
22
23
|
return {
|
|
23
|
-
law_id:
|
|
24
|
-
title:
|
|
25
|
-
|
|
24
|
+
law_id: best.law_info.law_id,
|
|
25
|
+
title: best.revision_info?.law_title ??
|
|
26
|
+
best.current_revision_info?.law_title ??
|
|
26
27
|
searchName,
|
|
27
|
-
law_num:
|
|
28
|
+
law_num: best.law_info.law_num,
|
|
28
29
|
source: alias ? "alias" : "egov_search",
|
|
29
30
|
};
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"law-resolver.js","sourceRoot":"","sources":["../../src/lib/law-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAe;IAEf,oDAAoD;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,EAAE,KAAK,IAAI,OAAO,CAAC;IAE3C,sCAAsC;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,
|
|
1
|
+
{"version":3,"file":"law-resolver.js","sourceRoot":"","sources":["../../src/lib/law-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAe;IAEf,oDAAoD;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,EAAE,KAAK,IAAI,OAAO,CAAC;IAE3C,sCAAsC;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,KAAK,EACH,IAAI,CAAC,aAAa,EAAE,SAAS;gBAC7B,IAAI,CAAC,qBAAqB,EAAE,SAAS;gBACrC,UAAU;YACZ,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC9B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;SACxC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/tools/get-kokuji.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { findBestMatch } from "../lib/best-match.js";
|
|
2
3
|
import { KokujiRegistry } from "../lib/kokuji-registry.js";
|
|
3
4
|
import { findKokujiPdfUrl } from "../lib/mlit-client.js";
|
|
4
5
|
import { extractTextFromPdf } from "../lib/pdf-extractor.js";
|
|
@@ -49,7 +50,7 @@ async function fetchViaEgov(name) {
|
|
|
49
50
|
if (searchResult.count === 0) {
|
|
50
51
|
return null;
|
|
51
52
|
}
|
|
52
|
-
const firstLaw = searchResult.laws
|
|
53
|
+
const firstLaw = findBestMatch(searchResult.laws, name);
|
|
53
54
|
const title = firstLaw.revision_info?.law_title ??
|
|
54
55
|
firstLaw.current_revision_info?.law_title ??
|
|
55
56
|
name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-kokuji.js","sourceRoot":"","sources":["../../src/tools/get-kokuji.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;AAEtC,MAAM,MAAM,GAAG;IACb,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,kCAAkC,CAAC;CAChD,CAAC;AAQF;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CACzB,KAAa,EACb,UAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,GAAG,mCAAmC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK;gBACd,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CACzB,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,YAAY,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"get-kokuji.js","sourceRoot":"","sources":["../../src/tools/get-kokuji.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "building-standards-act-mcp",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "MCP server for Japanese building regulations — fetches law text from e-Gov API v2 to prevent AI hallucination in building permit reviews",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
33
33
|
"jszip": "^3.10.1",
|
|
34
|
-
"
|
|
34
|
+
"pdfjs-dist": "^5.4.296",
|
|
35
35
|
"zod": "^3.23.8"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|