Skip to content

resolve_abbreviation の仕様 ​

INFO

houki-egov-mcp v0.21.0 の specs/current/resolve_abbreviation/spec.md から自動生成しました(仕様 ID 13 件・2026-10-12)。手で編集しないでください。再生成は node scripts/generate-reference.mjs specs です。

略称から略称辞書のエントリを引く

使いどころ・引数・実測の呼び出し例は、ツールのページにあります。

最後に仕様が変わったのは v0.16.0 の「全角・半角・ダッシュ類の揃え方を houki-abbreviations 0.7.0 に一本化する(T3)」(2026-10-01 承認)です。それまでの経緯は承認の履歴にあります。

利用者と得られる結果 ​

この機能の利用者と、利用者が渡すもの・得られる結果を示します。

  • MCP クライアント(Claude などの LLM、または CLI から呼ぶ人)。abbr を渡して、その略称が略称辞書のどのエントリ(正式名称・e-Gov の法令 ID・分野・種別・本文を持つ MCP)を指すかを受け取る。辞書の内容を確かめるための診断に使う

入力 ​

呼び出すときに渡す値です。

引数必須内容
abbr必須略称。例: "消法"、"所法"、"労基法"、"民"。全角英数字・ダッシュ類・全角空白は半角に揃えて照合する(011)

扱わないこと ​

この機能が意図して扱わないことです。

  • 略称を渡して条文を返すこと(条文は get_law。get_law も略称を受け付ける)
  • 部分一致や似た名前(打ち間違い)から候補を探すこと
  • 文章の中から法令名を探すこと
  • 1 回の呼び出しで複数の略称を引くこと
  • 辞書に無い法令を e-Gov で探すこと(next_actions で search_law を案内するだけ)

処理の流れ ​

呼び出しを受けてから応答を返すまでに、何をどの順で確かめるかを示します。図の中の番号は「できること」の仕様 ID の末尾 3 桁です。

仕様項目 ​

この機能の仕様項目を、仕様 ID ごとに並べています。見出しは仕様項目を 1 文で表したもので、条件・応答の細部・例は「詳細」を開くと読めます。仕様 ID はそれぞれ受入テストと対応していて、テストの無い ID があると各リポジトリの CI が止まります。

SPEC-EGOV-RESOLVE-ABBREVIATION-001 辞書にある略称は、resolved に辞書のエントリを入れて返す ​

詳細

abbr が略称辞書にあるときは、エラーにせず(isError を付けず)、abbr(渡した値)と resolved(辞書のエントリ)を持つ応答を返す。resolved は formal(正式名称)と domain(分野)を持つ。

例: abbr: "消法" は resolved.formal: "消費税法"・resolved.domain: "tax"。abbr: "労基法" は abbr: "労基法" で、resolved は null でない。

SPEC-EGOV-RESOLVE-ABBREVIATION-002 返すエントリは種別と本文を持つ MCP の名前を持つ ​

詳細

SPEC-EGOV-RESOLVE-ABBREVIATION-001 の resolved は、category(種別)と source_mcp_hint(本文を持つ MCP の名前)を持つ。

例: abbr: "消法" は resolved.category: "law"・resolved.source_mcp_hint: "houki-egov"。

SPEC-EGOV-RESOLVE-ABBREVIATION-003 辞書に無い略称は、エラーにせず resolved: null と note を返す ​

詳細

abbr が略称辞書に無いときは、エラー(ABBREVIATION_NOT_FOUND など)を返さず、abbr(渡した値)・resolved: null・note を持つ応答を返す。note は 辞書に該当なし。フル法令名でお試しください。

例: abbr: "存在しない法律" は resolved: null で、note に 辞書に該当なし を含む。

SPEC-EGOV-RESOLVE-ABBREVIATION-004 辞書に無い略称には、search_law を試す案内を付ける ​

詳細

SPEC-EGOV-RESOLVE-ABBREVIATION-003 の応答には next_actions を付け、先頭の要素の action は search_law にする。要素の example は { keyword: <渡した abbr> }、reason は 部分一致で法令を検索できます。

例: abbr: "存在しない法律" の next_actions[0].action は search_law。

SPEC-EGOV-RESOLVE-ABBREVIATION-005 正式名称からも、そのエントリを返す ​

詳細

abbr が略称辞書のエントリの正式名称(formal)と一致するときも、エラーにせず、そのエントリを resolved に入れて返す。resolved.abbr は辞書の略称で、応答の abbr とは違う値になる。

例: abbr: "消費税法" は abbr: "消費税法"・resolved.abbr: "消法"・resolved.formal: "消費税法"。abbr: "所得税法" は resolved.abbr: "所法"、abbr: "労働基準法" は resolved.abbr: "労基法"。

SPEC-EGOV-RESOLVE-ABBREVIATION-006 別名からも、そのエントリを返す ​

詳細

abbr が略称辞書のエントリの別名(aliases の要素)と一致するときも、エラーにせず、そのエントリを resolved に入れて返す。

例: abbr: "消費税" と abbr: "インボイス" は、どちらも resolved.abbr: "消法"・resolved.formal: "消費税法"。

SPEC-EGOV-RESOLVE-ABBREVIATION-007 前後の空白を除いてから辞書と照合する ​

詳細

abbr の前後にある空白(半角スペース・全角スペース・タブ・改行)を除いてから辞書と照合する。

例: abbr: " 消法 "・abbr: " 消法 "(前後が全角スペース)・abbr: "\t消法\n" は、どれも resolved.abbr: "消法"・resolved.formal: "消費税法"。

SPEC-EGOV-RESOLVE-ABBREVIATION-008 応答の abbr は渡した値のまま返す ​

詳細

応答の abbr には、前後の空白を除く前の、渡した値をそのまま入れる。辞書にあるときも無いときも同じ。

例: abbr: " 消法 " は応答の abbr が " 消法 "(resolved.abbr は "消法")。abbr: " 存在しない法律 " は応答の abbr が " 存在しない法律 " で、resolved: null。

SPEC-EGOV-RESOLVE-ABBREVIATION-009 resolved は略称辞書のエントリをそのまま返す ​

詳細

resolved には、略称辞書(@shuji-bonji/houki-abbreviations)の resolveAbbreviation が返すエントリを、フィールドを足したり除いたりせずにそのまま入れる。SPEC-EGOV-RESOLVE-ABBREVIATION-001・002 のフィールドのほか、エントリが持っていれば abbr・law_id・law_num・law_type・aliases・note も付く。どのフィールドを持つかは辞書のパッケージの版で決まる。

例: abbr: "消法" の resolved は、resolveAbbreviation("消法") の戻り値と同じ内容(深く比べて等しい)。辞書 0.4.1 では abbr: "消法"・formal: "消費税法"・law_id: "363AC0000000108"・law_num: "昭和六十三年法律第百八号"・law_type: "Act"・domain: "tax"・category: "law"・source_mcp_hint: "houki-egov"・aliases(先頭は 消費税、インボイス を含む 10 件)・note を持つ。

SPEC-EGOV-RESOLVE-ABBREVIATION-010 abbr が空文字・空白だけのときは略称辞書を引かずに INVALID_ARGUMENT を返す ​

詳細

空文字は inputSchema の minLength: 1 の検査(SPEC-EGOV-COMMON-ERRORS-025)で止まり、INVALID_ARGUMENT(tool: "resolve_abbreviation"、detail.issues: [{ path: "abbr", message: "空文字は指定できません" }])を返す。空白(半角スペース・全角スペース・タブ・改行)だけのときは、ツールの処理が略称辞書を引く前に、SPEC-EGOV-COMMON-ERRORS-026 の形の INVALID_ARGUMENT(tool: "resolve_abbreviation"、error: "abbr が空です"、detail.issues: [{ path: "abbr", message: "空白だけは指定できません" }]、hint に略称・正式名称・別名を渡すよう書く)を返す。

例: abbr: "" は code: "INVALID_ARGUMENT"・detail.issues[0].message: "空文字は指定できません"。abbr: " "(全角スペース)と abbr: " \n" は code: "INVALID_ARGUMENT"・error: "abbr が空です"。どれも略称辞書は引かない。

v0.15.4 では abbr: "" に resolved: null と example: { keyword: "" } の search_law の案内(SPEC-EGOV-RESOLVE-ABBREVIATION-003・004 の形)を返していたが、空の abbr は辞書に無い略称ではなく引数の誤りなので、003・004 の対象から外れる。

SPEC-EGOV-RESOLVE-ABBREVIATION-011 abbr の全角英数字・ダッシュ類・全角空白は半角に揃えてから辞書と照合する ​

詳細

abbr は、houki-abbreviations の resolveAbbreviation(name, { normalize: true }) の規則(全角英数字を半角に、ダッシュ類 - ‐ ‑ – — ― − を - に、全角チルダを ~ に、全角空白を半角空白にし、前後の空白を除く。大文字と小文字は区別する)で揃えてから、略称・正式名称・別名と照合する。応答の abbr は渡した値のまま(SPEC-EGOV-RESOLVE-ABBREVIATION-008)。

例: abbr: "PL法" は resolved.formal: "製造物責任法" で、応答の abbr は "PL法"(v0.15.4 では resolved: null だった)。abbr: "pl法" は大文字小文字が違うので resolved: null のまま。abbr: "消 法"(内側が全角空白)は 消 法 として引くので resolved: null。

SPEC-EGOV-RESOLVE-ABBREVIATION-012 houki-egov の管轄のエントリには in_scope: true を付ける ​

詳細

解決したエントリの source_mcp_hint が houki-egov のとき、応答に in_scope: true を付ける。hint は付けない。

例: abbr: "消法" の応答は resolved.source_mcp_hint: "houki-egov"、in_scope: true で、hint は無い。

SPEC-EGOV-RESOLVE-ABBREVIATION-013 管轄外のエントリには in_scope: false と管轄先を書いた hint を付ける ​

詳細

解決したエントリの source_mcp_hint が houki-egov でないとき(通達など)は、resolved にエントリを入れたうえで in_scope: false を付け、hint を このエントリは <source_mcp_hint> の管轄です。<source_mcp_hint>-mcp で取得してください。 にする。エラー(OUT_OF_SCOPE)にはしない。houki-nta-mcp の SPEC-NTA-RESOLVE-ABBREVIATION-003 と同じ形である。

例: abbr: "消基通" の応答は resolved.formal: "消費税法基本通達"、resolved.source_mcp_hint: "houki-nta"、in_scope: false、hint: "このエントリは houki-nta の管轄です。houki-nta-mcp で取得してください。"(v0.15.4 では in_scope と hint が無かった)。

実装する人に向けた情報 ​

ここから下は、この機能を実装する人と、仕様の変更を追う人に向けた節です。使い方を知りたいだけなら、読まなくて構いません。

検討中のこと ​

仕様を書き起こしたときに見つかった項目のうち、扱いを Issue で検討しているものです。ここに挙げたことは、今後の版で変わることがあります。開くと、元の仕様書の記述をそのまま読めます。

仕様書の「未決」の節

初版起こしで見つけた、意図か不具合かを人が決める項目です。決まったら「できること」に ID を振るか、specs/changes/ の差分にします。

意図か不具合かの判断が要る項目は houki-egov-mcp の Issue に移し、ここには題と Issue の番号だけを残します。今の振る舞いのままでよくテストが無いだけの項目は、受入テストを書いてから「できること」に ID を振ります。

  1. 正式名称・別名からも引ける。 → SPEC-EGOV-RESOLVE-ABBREVIATION-005・SPEC-EGOV-RESOLVE-ABBREVIATION-006
  2. 前後の空白を除いて引き、応答の abbr は渡した値のまま返す。 → SPEC-EGOV-RESOLVE-ABBREVIATION-007・SPEC-EGOV-RESOLVE-ABBREVIATION-008
  3. resolved のそのほかのフィールド。 → SPEC-EGOV-RESOLVE-ABBREVIATION-009

承認の履歴 ​

この機能の仕様が、いつ、どの変更で承認されたかを新しい順に並べています。各リポジトリの npx spec-ids history resolve_abbreviation と同じ内容です。変更の名前から、変更の理由と前後の振る舞いを書いた文書(GitHub)を開けます。

承認の履歴(5 件)
承認日版変更仕様 PR
2026-10-01v0.16.0全角・半角・ダッシュ類の揃え方を houki-abbreviations 0.7.0 に一本化する(T3)#86
2026-10-01v0.16.0引数の検査を inputSchema に書き、丸めずに INVALID_ARGUMENT にする(T1)#84
2026-09-28v0.15.2テストが無いだけの振る舞いに仕様 ID を振る#76
2026-09-28v0.15.2「未決」のうち判断が要る 85 件を Issue に移す#68
2026-09-28—初版#50

関連ページ ​

このページの元になった文書と、あわせて読むページです。

本サイトの内容は調査の出発点であり、法的助言ではありません。個別の事案は資格を持つ専門家に相談してください。免責事項と利用範囲