building-standards-act-mcp 1.9.2 → 1.10.0
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 +10 -3
- package/dist/lib/text-find.d.ts +5 -0
- package/dist/lib/text-find.js +31 -0
- package/dist/lib/text-find.js.map +1 -0
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.js +1 -1
- package/dist/lib/version.js.map +1 -1
- package/dist/server.js +2 -2
- package/dist/tools/get-law.js +42 -6
- package/dist/tools/get-law.js.map +1 -1
- package/dist/tools/get-laws-batch.js +3 -2
- package/dist/tools/get-laws-batch.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -138,13 +138,13 @@ npm run build
|
|
|
138
138
|
|
|
139
139
|
| ツール | 説明 |
|
|
140
140
|
| ------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
141
|
-
| `get_law` | 条番号を指定して条文を取得する。`format=text` は本文と参照一覧(`references`)を合わせて `max_chars`(既定 100,000
|
|
141
|
+
| `get_law` | 条番号を指定して条文を取得する。`format=text` は本文と参照一覧(`references`)を合わせて `max_chars`(既定 100,000)で制限。長い条の項・表の行は `find` で探し、返った `matches` と `offset` を使う。続きは `next_offset` を指定(続きは `find` を外す) |
|
|
142
142
|
| `get_full_law` | 法令の全文を取得する。`max_chars`(既定 100,000)で区切り、続きは `offset` で取る |
|
|
143
143
|
| `search_law` | 法令名(タイトル)で建築関連法令を検索する。略称マップと e-Gov API の両方を検索。条文本文の検索は `search_articles` |
|
|
144
144
|
| `search_articles` | 条文本文をキーワードで全文検索する(e-Gov `/keyword`)。半角スペース区切りで AND 検索。AND・OR・NOT は演算子ではなく検索語として扱われる。全角スペースは半角に直して送る。法令名で絞り込み可。条番号は `get_law` で確定する |
|
|
145
145
|
| `get_kokuji` | 建築基準法が技術基準を委任している告示の全文を取得する(省エネ告示は国交省 PDF から直接取得) |
|
|
146
146
|
| `check_law_updates` | 法令の改正状況を e-Gov API で確認する。`since`(既定は 12 か月前)より後の改正だけを「改正あり」にする |
|
|
147
|
-
| `get_laws_batch` | 複数条文を一括取得(最大20件)。`max_chars_per_item`(最大 30,000、既定 8,000)で切り詰め、`max_total_chars
|
|
147
|
+
| `get_laws_batch` | 複数条文を一括取得(最大20件)。`max_chars_per_item`(最大 30,000、既定 8,000)で切り詰め、`max_total_chars`(最大 100,000、既定 40,000)を超える後続本文は省略。上限を超える指定は入力エラー。長い条(例: 建築基準法施行規則 第1条の3)は `get_law` で個別に取得 |
|
|
148
148
|
| `verify_citation` | AIの回答に含まれる法令引用を検証する(条文存在確認・テキスト照合、最大10件) |
|
|
149
149
|
| `suggest_related` | 指定した条文の関連法令・委任先・同法令内参照を自動抽出して提案する |
|
|
150
150
|
| `analyze_article` | 条文の構造解析メタデータ(項数・号数・参照統計・プレビュー)をJSON形式で返す |
|
|
@@ -161,9 +161,16 @@ npm run build
|
|
|
161
161
|
| `format` | 出力形式(`text` または `structured`、省略時は `text`) | `structured` |
|
|
162
162
|
| `max_chars` | 本文と参照一覧(`references`)を合わせた最大文字数(1,000〜500,000、既定 100,000)。`format=text` のみ | `8000` |
|
|
163
163
|
| `offset` | 本文内の開始位置(既定 0)。`format=text` のみ。続きは `next_offset` を指定 | `8000` |
|
|
164
|
+
| `find` | この条の本文から探す語(1〜100文字)。空白を無視し、全角・半角を区別せずに検索。一致を含む行から表示。`format=text` のみ適用 | `非常用の昇降機` |
|
|
164
165
|
|
|
165
166
|
`offset` は見出し・参照・出典を含まない本文内の文字位置です。`get_laws_batch` の `next_offset` をそのまま指定できます。
|
|
166
167
|
|
|
168
|
+
長い条の中の項・表の行を探すときは `find` に語を渡し、`offset` を自分で推測しないでください。検索語は `search_articles` と同じ空白正規化を通した後、本文とともにコードポイントごとに NFKC 正規化し、すべての空白(全角スペースを含む)を除いて照合します。`matches` は本文全体での一致開始位置の先頭20件、`matches_total` は一致の総件数です。位置は正規化前の元本文の UTF-16 文字位置で返します。
|
|
169
|
+
|
|
170
|
+
`find` と `offset` を併用すると、`offset` 以上の最初の一致を選びます。たとえば `offset=matches[1]` で2件目へ移動できます。該当する一致が後ろにない場合は最初の一致に戻ります。返る `offset` は選択した一致を含む行の先頭です。一致の終端が行頭から `max_chars` の余裕を除いた範囲に収まらない場合は、一致位置から表示します。ページ末尾は従来どおり改行を優先するため、改行や大量の空白をまたぐ一致は複数ページに分かれることがあります。続きは `find` を外し、返った `next_offset` をそのまま渡してください。
|
|
171
|
+
|
|
172
|
+
一致がないときは「この条に『検索語』は見つかりませんでした。」と本文全体の文字数を返し、本文は返しません。`article.text` は空文字列、`matches` は空配列、`matches_total` は0、`next_offset` は `null` です。`format=structured` では `find`・`max_chars`・`offset` を適用しません。
|
|
173
|
+
|
|
167
174
|
参照一覧はページ内の本文に現れる参照に絞ったうえで、本文と参照のJSONの長さの合計が `max_chars` に収まる順序どおりの先頭部分だけを表示し、表示が0件なら `article` の `references` キーを省略します。参照を省略した場合は `references_total` と `references_truncated: true`、表示件数の案内を返し、関連法令の一覧は `suggest_related` でも確認できます。
|
|
168
175
|
|
|
169
176
|
#### `get_full_law`
|
|
@@ -214,7 +221,7 @@ npm run build
|
|
|
214
221
|
| ---------- | ---------------------------------------------------------------------- | --- |
|
|
215
222
|
| `requests` | 取得対象の配列。各要素に `law_name`, `article_number`, `format` を指定 | — |
|
|
216
223
|
| `max_chars_per_item` | 条文ごとの最大文字数(1,000〜30,000、既定 8,000)。構造化形式はJSONの長さを基準に項単位で切り詰め | `8000` |
|
|
217
|
-
| `max_total_chars` | 応答全体のJSONの最大文字数(10,000〜
|
|
224
|
+
| `max_total_chars` | 応答全体のJSONの最大文字数(10,000〜100,000、既定 40,000)。超過する後続本文は省略。100,000を超える指定は入力エラー | `40000` |
|
|
218
225
|
|
|
219
226
|
切り詰めたテキストの続きは、案内された `offset` を `get_law` に指定して取得します。本文を省略した結果は `omitted: true` と省略一覧で示します。取得の成功・失敗件数は本文の省略によって変わりません。
|
|
220
227
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { normalizeKeyword } from "./egov-client.js";
|
|
2
|
+
function normalizeCharacter(character) {
|
|
3
|
+
return character.normalize("NFKC").replace(/\s/g, "");
|
|
4
|
+
}
|
|
5
|
+
/** Find normalized matches in the original text's UTF-16 coordinates. */
|
|
6
|
+
export function findAllMatches(text, query) {
|
|
7
|
+
const needle = Array.from(normalizeKeyword(query), normalizeCharacter).join("");
|
|
8
|
+
if (needle.length === 0)
|
|
9
|
+
return [];
|
|
10
|
+
let normalized = "";
|
|
11
|
+
const starts = [];
|
|
12
|
+
const ends = [];
|
|
13
|
+
let offset = 0;
|
|
14
|
+
for (const character of text) {
|
|
15
|
+
const value = normalizeCharacter(character);
|
|
16
|
+
normalized += value;
|
|
17
|
+
for (let i = 0; i < value.length; i++) {
|
|
18
|
+
starts.push(offset);
|
|
19
|
+
ends.push(offset + character.length);
|
|
20
|
+
}
|
|
21
|
+
offset += character.length;
|
|
22
|
+
}
|
|
23
|
+
const matches = [];
|
|
24
|
+
let position = normalized.indexOf(needle);
|
|
25
|
+
while (position !== -1) {
|
|
26
|
+
matches.push({ start: starts[position], end: ends[position + needle.length - 1] });
|
|
27
|
+
position = normalized.indexOf(needle, position + needle.length);
|
|
28
|
+
}
|
|
29
|
+
return matches;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=text-find.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-find.js","sourceRoot":"","sources":["../../src/lib/text-find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAa;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC5C,UAAU,IAAI,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,MAAM,OAAO,GAAqC,EAAE,CAAC;IACrD,IAAI,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACnF,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Must match package.json `version`; a unit test enforces this. */
|
|
2
|
-
export declare const SERVER_VERSION = "1.
|
|
2
|
+
export declare const SERVER_VERSION = "1.10.0";
|
package/dist/lib/version.js
CHANGED
package/dist/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -15,7 +15,7 @@ const SERVER_NAME = "building-standards-act-mcp";
|
|
|
15
15
|
const INSTRUCTIONS = `あなたは建築確認申請の法規照合アシスタントです。
|
|
16
16
|
|
|
17
17
|
## 利用可能なツール
|
|
18
|
-
- get_law: 条番号を指定して条文を取得(例: 建築基準法 第20条、附則、別表第一)。format=text は本文と参照一覧(references)を合わせて max_chars(既定100,000)で制限し、本文の続きは offset で取得。参照の省略時は references_total と references_truncated
|
|
18
|
+
- get_law: 条番号を指定して条文を取得(例: 建築基準法 第20条、附則、別表第一)。format=text は本文と参照一覧(references)を合わせて max_chars(既定100,000)で制限し、本文の続きは offset で取得。参照の省略時は references_total と references_truncated で通知。長い条の中の項・表の行を探すときは find に語を渡し、返った matches と offset を使う。offset を自分で推測しない。続きを読むときは find を外し、next_offset をそのまま渡す。
|
|
19
19
|
- 別表: 「別表第一」「別表第二」等で数値基準を含む別表を取得可能
|
|
20
20
|
- 改正附則: 「附則(令和○年政令第○号)」で特定改正の経過措置を取得可能。法令番号は check_law_updates で確認
|
|
21
21
|
- get_full_law: 法令全文を取得(例: 建築基準法施行令)
|
|
@@ -24,7 +24,7 @@ const INSTRUCTIONS = `あなたは建築確認申請の法規照合アシスタ
|
|
|
24
24
|
- get_kokuji: 告示の全文を国土交通省の告示データベース(PDF)から動的に取得する。正式名称またはキーワードで指定可能(例: 耐火構造の構造方法を定める件)。
|
|
25
25
|
※ 国交省データベースに未収録の告示は取得できません。取得失敗時は類似告示を提案します
|
|
26
26
|
- check_law_updates: 法令の改正状況を確認する(法令名指定で単体チェック、グループ指定でバッチチェック、show_historyで改正履歴表示)
|
|
27
|
-
- get_laws_batch: 複数の法令・条文を一括取得する(最大20件、e-Govから条単位取得)。max_chars_per_item(1,000〜30,000、既定8,000)と max_total_chars
|
|
27
|
+
- get_laws_batch: 複数の法令・条文を一括取得する(最大20件、e-Govから条単位取得)。max_chars_per_item(1,000〜30,000、既定8,000)と max_total_chars(10,000〜100,000、既定40,000)で応答量を制限。上限を超える指定は入力エラー。長い条(例: 建築基準法施行規則 第1条の3)は get_law で個別に取得
|
|
28
28
|
- verify_citation: AIの回答に含まれる法令引用を検証する(条文存在確認・テキスト照合、最大10件)
|
|
29
29
|
- suggest_related: 指定した条文の関連法令・委任先・同法令内参照を自動抽出して提案する
|
|
30
30
|
- analyze_article: 条文の構造解析メタデータ(項数・号数・参照統計・プレビュー)をJSON形式で返す
|
package/dist/tools/get-law.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { resolveLawId } from "../lib/law-resolver.js";
|
|
3
3
|
import { fetchParsedArticle } from "../lib/article-fetcher.js";
|
|
4
|
+
import { findAllMatches } from "../lib/text-find.js";
|
|
4
5
|
import { LawNotFoundError, ArticleNotFoundError } from "../lib/errors.js";
|
|
5
6
|
import { DEFAULT_MAX_CHARS, paginateAtLineBoundary, TOOL_ANNOTATIONS, wrapToolHandler, } from "../lib/tool-helpers.js";
|
|
6
7
|
import { parsedArticleSchema, structuredArticleSchema, } from "../lib/article-schemas.js";
|
|
8
|
+
const MAX_LISTED_MATCHES = 20;
|
|
9
|
+
const FIND_LINE_MARGIN = 100;
|
|
7
10
|
const schema = {
|
|
8
11
|
law_name: z
|
|
9
12
|
.string()
|
|
@@ -30,6 +33,12 @@ const schema = {
|
|
|
30
33
|
.min(0)
|
|
31
34
|
.default(0)
|
|
32
35
|
.describe("本文の取得開始位置(0から始まる文字位置)。続きは案内された offset を指定。format=text のみ適用。"),
|
|
36
|
+
find: z
|
|
37
|
+
.string()
|
|
38
|
+
.min(1)
|
|
39
|
+
.max(100)
|
|
40
|
+
.optional()
|
|
41
|
+
.describe("この条の本文から探す語。指定すると最初の一致を含む行から本文を返し、一致位置の一覧を matches に入れる。空白は無視し、全角・半角の違いは区別しない。長い条の中の項・表の行を探すときに使い、offset を推測しない。format=text のみ適用。続きは find を外して next_offset を指定。"),
|
|
33
42
|
};
|
|
34
43
|
const outputSchema = {
|
|
35
44
|
law_title: z.string(),
|
|
@@ -41,6 +50,9 @@ const outputSchema = {
|
|
|
41
50
|
offset: z.number().optional(),
|
|
42
51
|
next_offset: z.number().nullable().optional(),
|
|
43
52
|
truncated: z.boolean().optional(),
|
|
53
|
+
find: z.string().optional(),
|
|
54
|
+
matches: z.array(z.number()).optional(),
|
|
55
|
+
matches_total: z.number().optional(),
|
|
44
56
|
references_total: z.number().optional(),
|
|
45
57
|
references_truncated: z.boolean().optional(),
|
|
46
58
|
note: z.string().optional(),
|
|
@@ -54,11 +66,11 @@ const outputSchema = {
|
|
|
54
66
|
export function registerGetLawTool(server) {
|
|
55
67
|
server.registerTool("get_law", {
|
|
56
68
|
title: "条文取得",
|
|
57
|
-
description: "条番号を指定して法令の条文を取得する。附則・別表にも対応。略称・正式名称のいずれでも指定可能。format=structured で条→項→号の階層構造をJSON
|
|
69
|
+
description: "条番号を指定して法令の条文を取得する。附則・別表にも対応。略称・正式名称のいずれでも指定可能。format=structured で条→項→号の階層構造をJSON形式で取得可能。長い条の中の項・表の行は find で探し、offset を推測しない。",
|
|
58
70
|
inputSchema: schema,
|
|
59
71
|
annotations: TOOL_ANNOTATIONS,
|
|
60
72
|
outputSchema,
|
|
61
|
-
}, wrapToolHandler("get_law", async ({ law_name, article_number, format, max_chars = DEFAULT_MAX_CHARS, offset = 0, }) => {
|
|
73
|
+
}, wrapToolHandler("get_law", async ({ law_name, article_number, format, max_chars = DEFAULT_MAX_CHARS, offset = 0, find, }) => {
|
|
62
74
|
const resolved = await resolveLawId(law_name);
|
|
63
75
|
if (!resolved) {
|
|
64
76
|
throw new LawNotFoundError(law_name);
|
|
@@ -99,8 +111,23 @@ export function registerGetLawTool(server) {
|
|
|
99
111
|
throw new ArticleNotFoundError(article_number, resolved.title);
|
|
100
112
|
}
|
|
101
113
|
const { references: articleReferences, ...articleWithoutReferences } = article;
|
|
102
|
-
const
|
|
103
|
-
const
|
|
114
|
+
const matches = find === undefined ? undefined : findAllMatches(article.text, find);
|
|
115
|
+
const match = matches?.find((item) => item.start >= offset) ?? matches?.[0];
|
|
116
|
+
const noMatch = matches?.length === 0;
|
|
117
|
+
let pageStart = offset;
|
|
118
|
+
if (match) {
|
|
119
|
+
const lineStart = article.text.lastIndexOf("\n", match.start - 1) + 1;
|
|
120
|
+
pageStart = match.end - lineStart > max_chars - FIND_LINE_MARGIN ? match.start : lineStart;
|
|
121
|
+
}
|
|
122
|
+
const page = noMatch
|
|
123
|
+
? { text: "", total_chars: article.text.length, offset, next_offset: null }
|
|
124
|
+
: paginateAtLineBoundary(article.text, pageStart, max_chars);
|
|
125
|
+
const findInfo = matches === undefined ? {} : {
|
|
126
|
+
find,
|
|
127
|
+
matches: matches.slice(0, MAX_LISTED_MATCHES).map((item) => item.start),
|
|
128
|
+
matches_total: matches.length,
|
|
129
|
+
};
|
|
130
|
+
const pageReferences = noMatch ? undefined : page.offset > 0 || page.next_offset !== null
|
|
104
131
|
? articleReferences?.filter((ref) => page.text.includes(ref.raw_text))
|
|
105
132
|
: articleReferences;
|
|
106
133
|
let references = pageReferences;
|
|
@@ -118,14 +145,22 @@ export function registerGetLawTool(server) {
|
|
|
118
145
|
}
|
|
119
146
|
const referencesTotal = pageReferences?.length ?? 0;
|
|
120
147
|
const referencesTruncated = (references?.length ?? 0) < referencesTotal;
|
|
121
|
-
const lines = [
|
|
148
|
+
const lines = noMatch ? [
|
|
149
|
+
`【${resolved.title}】${article.article_title}`,
|
|
150
|
+
`この条に『${find}』は見つかりませんでした。(本文全体 ${page.total_chars} 文字。空白を無視し、全角・半角を区別せずに探しました)`,
|
|
151
|
+
] : [
|
|
122
152
|
`【${resolved.title}】${article.article_title}`,
|
|
123
153
|
article.article_caption ? article.article_caption : "",
|
|
124
154
|
"",
|
|
155
|
+
...(matches === undefined ? [] : [
|
|
156
|
+
`(『${find}』の一致 ${matches.length} 件。offset=${page.offset} から表示。一致位置: ${findInfo.matches?.join(", ")})`,
|
|
157
|
+
]),
|
|
125
158
|
page.text,
|
|
126
159
|
].filter((line) => line !== undefined);
|
|
127
160
|
if (page.next_offset !== null) {
|
|
128
|
-
lines.push(
|
|
161
|
+
lines.push(find === undefined
|
|
162
|
+
? `(続きがあります。offset=${page.next_offset} を指定して続きを取得してください。本文全体 ${page.total_chars} 文字)`
|
|
163
|
+
: `(続きがあります。find を外し offset=${page.next_offset} を指定して続きを取得してください。本文全体 ${page.total_chars} 文字)`);
|
|
129
164
|
}
|
|
130
165
|
if (references && references.length > 0) {
|
|
131
166
|
const refLabels = {
|
|
@@ -165,6 +200,7 @@ export function registerGetLawTool(server) {
|
|
|
165
200
|
offset: page.offset,
|
|
166
201
|
next_offset: page.next_offset,
|
|
167
202
|
truncated: page.next_offset !== null,
|
|
203
|
+
...findInfo,
|
|
168
204
|
...(referencesTruncated ? {
|
|
169
205
|
references_total: referencesTotal,
|
|
170
206
|
references_truncated: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-law.js","sourceRoot":"","sources":["../../src/tools/get-law.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,GAAG;IACb,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,gCAAgC,CAAC;IAC7C,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,sCAAsC,CACvC;IACH,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;SAC5B,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,uDAAuD,CACxD;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,KAAK,CAAC;SACV,GAAG,CAAC,OAAO,CAAC;SACZ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,6DAA6D,CAAC;
|
|
1
|
+
{"version":3,"file":"get-law.js","sourceRoot":"","sources":["../../src/tools/get-law.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { structuredArticleSchema } from "../lib/article-schemas.js";
|
|
|
7
7
|
const MAX_REQUESTS = 20;
|
|
8
8
|
const DEFAULT_MAX_CHARS_PER_ITEM = 8_000;
|
|
9
9
|
const DEFAULT_MAX_TOTAL_CHARS = 40_000;
|
|
10
|
+
const MAX_TOTAL_CHARS_LIMIT = 100_000;
|
|
10
11
|
const schema = {
|
|
11
12
|
requests: z
|
|
12
13
|
.array(z.object({
|
|
@@ -33,9 +34,9 @@ const schema = {
|
|
|
33
34
|
.number()
|
|
34
35
|
.int()
|
|
35
36
|
.min(10_000)
|
|
36
|
-
.max(
|
|
37
|
+
.max(MAX_TOTAL_CHARS_LIMIT)
|
|
37
38
|
.default(DEFAULT_MAX_TOTAL_CHARS)
|
|
38
|
-
.describe("応答全体のJSONの最大文字数(10,000〜
|
|
39
|
+
.describe("応答全体のJSONの最大文字数(10,000〜100,000)。省略時は40,000文字。超過分の本文は省略。"),
|
|
39
40
|
};
|
|
40
41
|
const outputSchema = {
|
|
41
42
|
total: z.number(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-laws-batch.js","sourceRoot":"","sources":["../../src/tools/get-laws-batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAOpE,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,uBAAuB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"get-laws-batch.js","sourceRoot":"","sources":["../../src/tools/get-laws-batch.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.
|
|
3
|
+
"version": "1.10.0",
|
|
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
|
"repository": {
|
|
6
6
|
"type": "git",
|