Skip to content

get_law_file ​

INFO

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

法令本文を 1 つのファイル(xml / json / html / rtf / docx)で取る道を返す。既定では認証なしで開ける URL だけを返し、save: true のときだけファイルを取得してサーバー側の保存先(既定は XDG_CACHE_HOME か ~/.cache の下の houki-egov-mcp/files/。環境変数 HOUKI_EGOV_FILES_DIR で変更)に書いて絶対パスを返す。条文を読むだけなら get_law / get_law_range のほうが小さく済む(民法の xml は 1.6 MB、docx は 182 KB)。人が Word や ブラウザーで開く版が要るとき(docx / html / rtf)と、法令 XML をそのまま処理したいとき(xml / json)のためのツール。

利用者と得られる結果 ​

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

  • MCP クライアント(Claude などの LLM、または CLI から呼ぶ人)。law_name と file_type を渡して、法令本文 1 つ分のファイル(xml / json / html / rtf / docx)を取る URL を受け取る。save: true を付けたときは、サーバーが保存したファイルの絶対パスと、そのファイルの法令履歴 ID を受け取る
  • MCP サーバーを起動する人。環境変数 HOUKI_EGOV_FILES_DIR で保存先のディレクトリを決める

引数 ​

呼び出すときに渡す値です。動いているサーバーの tools/list から写しています。

引数型必須既定値説明
law_namestring (minLength 1)必須法令名または略称。例: "民法", "消法"
file_type"xml" | "json" | "html" | "rtf" | "docx"必須ファイル種別。xml = 法令標準 XML、json = e-Gov の JSON、html、rtf、docx(Word)
atstring任意時点指定。YYYY-MM-DD 形式。その時点以前で最新の履歴の本文ファイルになる(e-Gov の asof)
saveboolean任意falsetrue でファイルを取得してディスクに保存し、応答の saved.path に絶対パスを返す(デフォルト: false)。保存すると e-Gov のファイル名から法令履歴 ID(saved.law_revision_id)が分かる

条文を読むなら get_law / get_law_range

xml / json は法令全体で、民法は 1.6 MB あります。条文を読むだけなら get_law(1 条)か get_law_range(章・節)のほうが小さく済みます。このツールは、人が Word やブラウザーで開く版(docx / html / rtf)が要るときと、法令標準 XML をそのまま処理したいときのものです。

呼び出し例 ​

実際に呼び出したときの引数と応答です。版と日付は実測したときのものです。

呼び出し例 — 「民法の全文を Word で」(URL だけ)
  • 実測: v0.20.0(2026-10-05)
  • 確かめた版: v0.20.1(2026-10-10)
  • ローカル DB: 不要

引数

jsonc
{ "law_name": "民法", "file_type": "docx" }

返る JSON

jsonc
{
  "meta": {
    "law_id": "129AC0000000089",
    "title": "民法",
    "law_num": "明治二十九年法律第八十九号",
    "retrieved_at": "2026-10-04T20:20:03.161Z",
    "url": "https://laws.e-gov.go.jp/law/129AC0000000089",
    "at": null
  },
  "file_type": "docx",
  "content_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
  "url": "https://laws.e-gov.go.jp/api/2/law_file/docx/129AC0000000089",     // 認証なしで開ける
  "note": "民法 の本文を docx で取る URL です。認証なしで開けます(現時点で最新の履歴)。ファイルをディスクに置くには save: true を付けてください(~/.cache/houki-egov-mcp/files 以下に保存します)。"
}

save を付けないと e-Gov には法令名の解決(/laws)しか問い合わせません。at を付けると URL に ?asof=YYYY-MM-DD が付き、その時点以前で最新の履歴の本文になります。

呼び出し例 — 「2020 年 4 月 1 日時点の国旗国歌法を HTML で保存」
  • 実測: v0.20.0(2026-10-05)
  • 確かめた版: v0.20.1(2026-10-10)
  • ローカル DB: 不要

引数

jsonc
{ "law_name": "国旗及び国歌に関する法律", "file_type": "html", "at": "2020-04-01", "save": true }

返る JSON(抜粋)

jsonc
{
  "meta": { "law_id": "411AC0000000127", "title": "国旗及び国歌に関する法律", "at": "2020-04-01", "…": "…" },
  "file_type": "html",
  "content_type": "text/html",
  "url": "https://laws.e-gov.go.jp/api/2/law_file/html/411AC0000000127?asof=2020-04-01",
  "saved": {
    "path": "~/.cache/houki-egov-mcp/files/411AC0000000127_19990813_000000000000000/411AC0000000127_19990813_000000000000000.html",
    "bytes": 38537,
    "file_name": "411AC0000000127_19990813_000000000000000.html",   // e-Gov の Content-Disposition のまま
    "law_revision_id": "411AC0000000127_19990813_000000000000000"    // ファイル名から分かる「どの履歴の本文か」
  },
  "note": "411AC0000000127_19990813_000000000000000.html(37.6 KB)を … に保存しました。"
}

保存すると e-Gov のファイル名から法令履歴 ID が取れます(URL だけのときは分かりません)。実測では民法の docx が 182 KB、消費税法の rtf が 1.8 MB でした。1 ファイル 50 MB(52,428,800 バイト)を超えるときは保存せず、FILE_TOO_LARGE(retryable: false、detail.bytes に大きさ)を返します。Content-Length で分かるときは本文を読みません(v0.16.0 から。v0.15.x では INVALID_ARGUMENT でした)。

扱わないこと ​

このツールが意図して扱わないことです。

  • ファイルの中身(バイト列や base64)を応答に入れること
  • 保存先のパスやファイル名を引数で決めること(決めるのはサーバーを起動する人の環境変数だけ)
  • 条・項を選んで一部だけのファイルを取ること(ファイルは法令全体。一部を読むのは get_law / get_law_range)
  • save なしで、その URL がどの法令履歴の本文を返すかを知らせること(saved.law_revision_id は保存したときだけ)
  • 添付ファイル(別表・様式の図)を取ること(list_attachments / get_attachment)

処理の流れ ​

仕様書の「処理の流れ」の節を、図も含めてそのまま写しています。図が大きいので畳んでいます。

処理の流れの図(仕様書の写し)

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

仕様項目の一覧 ​

このツールの仕様項目 23 件の見出しです。仕様項目は受入テストと 1 対 1 で対応していて、条件と例は仕様書ページで読めます。

仕様項目の見出し(23 件)
仕様 ID仕様項目
001save を付けないときは、ファイルを取らずに URL を返す
002時点(at)は URL の asof になる
003save: true でファイルを取得し、法令履歴 ID の名前で保存する。法令履歴 ID が分からないときは null を返す
004Content-Disposition のファイル名の読み方。filename* があればそれを使う
005保存するファイル名にはディレクトリの部分を残さない
006xml では条文を読む get_law を案内する
007file_type は 5 種のどれかでなければならない
008save なしでは、e-Gov への問い合わせは法令名の解決だけ
009json でも get_law を案内し、html・rtf では案内しない
010save なしの note は、どの時点の履歴かと保存先のディレクトリを書く
011保存したときの note
012特定できない法令と管轄外の資料はエラーにする
013file_type の検査は、法令の特定より先に行う
014ファイルの取得に失敗したときの code
015429・5xx・ネットワークの失敗は取り直してから返す
016環境変数が無いときの保存先
017同じファイルを保存すると上書きする
018law_name が空文字・空白だけのときは略称辞書と e-Gov に問い合わせずに INVALID_ARGUMENT を返す
019at は YYYY-MM-DD の形だけを受け付け、形に合わない値と暦に無い日付は INVALID_ARGUMENT
020法令名の検索が通信の失敗で終わったときは LAW_NOT_FOUND ではなく SOURCE_* を返す
021上限(50 MB)を超えるファイルは FILE_TOO_LARGE で断り、Content-Length で分かるときは本文を読まない
022law_name の全角英数字・ダッシュ類・全角空白は半角に揃えてから略称辞書と照合する
023法令名が完全一致しないときは、URL を返さず候補を付けた LAW_NOT_FOUND を返す

関連ページ ​

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

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