Egov Law Mcp

io.github.SHAYOUWORLD由 GitHub 帳號 SHAYOUWORLD 發布v0.1.1更新於 Oct 24, 2026

Search Japanese laws via e-Gov Law Search and fetch article text with source attribution.

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理透過 e-Gov 法令 API 檢索日本法律並取得條文原文,附上出處引用。

可以做什麼
  • 依標題、簡稱、法令編號或法令 ID 檢索現行日本法律,可依類別篩選。
  • 依法令 ID、法令編號或版本 ID 取得特定條文或項。
  • 取得法律的基本中繼資料與純文字預覽。
  • 依基礎法律名稱尋找可能相關的施行令與施行規則。
  • 可將結果固定到某個日期或特定法令版本,並在每筆結果中回傳法令名稱、ID、版本、取得時間與 e-Gov 連結。
適用情境
適合助理需要回答日本法規問題並引用官方原文的情況,或需要查看某個特定日期生效版本的法律時。它是檢索與草擬的參考工具,不能取代法律意見。
執行需求
需要 Node.js 20 或更新版本,以 stdio 方式在本機執行(例如透過 npx)。需要能連線至 laws.e-gov.go.jp。不需帳號、API 金鑰或環境變數;可選用 EGOV_LAW_MCP_INTERVAL_MS 與 EGOV_LAW_MCP_TIMEOUT_MS 調整請求間隔與逾時。
安裝前請注意
結果僅供法規參考,不構成法律意見,重要結論應至 e-Gov 官方頁面核實。請求會送往 e-Gov 法令 API,查詢內容會離開本機。請求限速為至少每秒一次,並在五分鐘內快取;同時執行多個副本會增加總流量。重新發布輸出時須註明 e-Gov 出處,並說明文字是由法令 XML 轉為純文字。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Egov Law Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@codeagentjp/egov-law-mcp

Local stdio MCP server for searching Japanese laws and retrieving article text from e-Gov Law Search through the e-Gov Law API Version 2.

This server does not call an LLM. It only returns source-backed law data and e-Gov URLs so your MCP client (Claude Desktop, Claude Code, Cursor, or any other agent) can cite the original source.

Design choices were informed by reading Digital Agency's open-sourced Lawsy-Custom-BQ (released 2026-04-24 as part of the Gennai government AI OSS release). See the design notes at codeagent.jp.

Why another e-Gov MCP

There is an existing egov-law-mcp on npm by another author. This package differs in four ways:

  1. find_related_laws — looks up enforcement orders (施行令) and regulations (施行規則) for a given base law name or abbreviation. Lawsy-Custom-BQ has the same step server-side; useful because definitions and delegated rules often live outside the parent act.
  2. Source attribution baked into every tool result — every response includes the law name, law ID, article number, the law revision ID (版), the retrieval time, and the canonical e-Gov URL, so the calling LLM cannot drop the citation.
  3. Point-in-time retrieval — every tool accepts asof (YYYY-MM-DD), so you can pin the same version of a law that a benchmark or an earlier answer used.
  4. Single-file .mjs, no build step — bin/egov-law-mcp.mjs runs directly under Node 20+. Easier to audit, smaller install.

Status

MVP. The API surface is intentionally small:

  • search_laws — search current Japanese laws by title, abbreviation, law number, or law ID.
  • get_article — retrieve a specific article (or paragraph) from a law by law ID, law number, or law revision ID.
  • get_law — retrieve basic metadata and a text preview for a law.
  • find_related_laws — find likely related enforcement orders and regulations.

All four accept an optional asof. Since v0.2.0 every request goes to Law API v2 (/api/2/laws and /api/2/law_data/{id}); nothing calls the v1 endpoints any more. See Compatibility with v0.1.x.

Requirements

  • Node.js 20 or later
  • Network access to https://laws.e-gov.go.jp

Install

From npm:

json
{  "mcpServers": {    "egov-law": {      "command": "npx",      "args": ["-y", "@codeagentjp/egov-law-mcp"]    }  }}

From source for development:

bash
git clone https://github.com/SHAYOUWORLD/egov-law-mcp.gitcd egov-law-mcpnode bin/egov-law-mcp.mjs
json
{  "mcpServers": {    "egov-law": {      "command": "node",      "args": ["/absolute/path/to/egov-law-mcp/bin/egov-law-mcp.mjs"]    }  }}

Tools

search_laws

Searches laws that are not repealed (repeal_status=None) with one laws request. Keywords that look like a law ID (322AC0000000049) go to law_id, keywords that look like a law number (平成十五年法律第五十七号, …第五十七号) go to law_num, and everything else goes to law_title, which e-Gov matches against both the title and its abbreviations (個人情報保護法 finds 個人情報の保護に関する法律). With several space-separated words, the longest goes to e-Gov and the rest are checked locally. Up to 500 matches are ranked locally; truncated: true means e-Gov had more and the keyword should be narrowed.

json
{  "keyword": "個人情報保護法",  "category": "all",  "limit": 10,  "asof": "2026-10-29"}

category maps to law_type: acts = Constitution, Act; orders = CabinetOrder, ImperialOrder; rules = MinisterialOrdinance, Rule; all = no filter.

get_article

Retrieves an article from the main provision (本則) with law_data?elm=MainProvision-Article_N[-Paragraph_M]. Provide either lawId or lawNum. article accepts 32, 32_2, 32の2, 第32条の2, or 第三十二条の二; paragraph accepts 2 or 第二項.

json
{  "lawId": "322AC0000000049",  "article": "32",  "paragraph": "2",  "asof": "2026-10-29"}

To pin an exact version, pass a law revision ID as lawId (for example 322AC0000000049_20260717_508AC0000000060); e-Gov then ignores asof. e-Gov accepts asof from 2017-04-01 onward.

get_law

Retrieves basic metadata and a plain text preview of a law.

json
{  "lawId": "503AC0000000035",  "previewChars": 3000}

find_related_laws

Searches for laws whose names or abbreviations look related to a base law name, including enforcement orders and regulations. It sends one laws?law_title= request with the name minus a trailing 法律 / 法 (and minus 施行令 / 施行規則, so a regulation also finds its parent act).

json
{  "lawName": "個人情報の保護に関する法律",  "limit": 10}

What the results contain

get_article and get_law return lawId, lawNum, lawTitle, lawRevisionId, and asof, plus a source object:

json
{  "name": "e-Gov法令検索",  "api": "法令API Version 2",  "url": "https://laws.e-gov.go.jp/law/322AC0000000049",  "apiUrl": "https://laws.e-gov.go.jp/api/2/law_data/322AC0000000049?elm=MainProvision-Article_32-Paragraph_2&asof=2026-10-29&response_format=json&law_full_text_format=xml",  "lawId": "322AC0000000049",  "lawRevisionId": "322AC0000000049_20260717_508AC0000000060",  "amendmentEnforcementDate": "2026-07-17",  "asof": "2026-10-29",  "attribution": "出典: e-Gov法令検索(https://laws.e-gov.go.jp/)",  "processing": "法令API Version 2 の law_data で取得した法令XMLからタグを除き、平文にした。",  "retrievedAt": "2026-10-29T05:57:09.260Z"}

url opens the current version on e-Gov Law Search. apiUrl reproduces the exact request, and lawRevisionId identifies the version that was returned. search_laws and find_related_laws return source with apiUrl, asof, and retrievedAt at the top level, and each result carries lawRevisionId, abbreviations, and the e-Gov URL.

Compatibility with v0.1.x

v0.1.x called Law API v1 (/api/1/lawlists, /api/1/lawdata, /api/1/articles), which has no point-in-time parameter. v0.2.0 moves every tool to v2. The decision record is docs/adr/0001-law-api-v2-migration.md.

Unchanged:

  • Tool names, required inputs (keyword, article, lawName, and lawId or lawNum), and every existing input name.
  • Every existing output field name (lawId, lawName, lawNo, promulgationDate, score, relationScore, url, text, preview, truncated, source.url, source.apiUrl, source.attribution, source.retrievedAt, …).

Added:

  • asof input on all four tools.
  • Output fields such as lawTitle, lawRevisionId, abbreviations, lawType, articleTitle, articleCaption, elm, matchedCount, and source.lawRevisionId / source.asof / source.processing.

Changed:

  • promulgationDate is now YYYY-MM-DD (v2 format) instead of yyyyMMdd.
  • search_laws no longer downloads the whole law list once per process. Each search is one laws request filtered by e-Gov, so abbreviations now match and results can differ from v0.1.x. cacheFetchedAt is kept and now holds the time that request's data was retrieved.
  • find_related_laws only finds laws that share the base name's stem; v0.1.x could also list unrelated laws whose short names happened to appear inside the base name.
  • get_article called with lawNum now also returns lawId (v1 left it empty). paragraph is checked as a number, and article numbers are converted for elm.
  • Errors from e-Gov include its code, for example e-Gov API returned HTTP 400 (400021: 要素(elm)に合致する要素が法令本文に存在しません。).
  • Requests to e-Gov are paced (see below).

Request pacing and cache

  • At most one request goes to laws.e-gov.go.jp at a time, even when a client calls several tools at once or sends a JSON-RPC batch.
  • Each request starts at least 1 second after the previous one finished. Set EGOV_LAW_MCP_INTERVAL_MS to wait longer; values below 1000 are ignored.
  • Identical requests within 5 minutes are answered from an in-process cache (or share the request already in flight) and do not reach e-Gov. Cached answers keep their original retrievedAt.
  • EGOV_LAW_MCP_TIMEOUT_MS (default 15000) sets the per-request timeout. It starts when the request is sent, not while it waits for its turn.

The pacing applies within one server process; if you run several copies, keep their combined traffic modest.

Data Source and Attribution

This package uses the e-Gov Law API Version 2:

The law body is requested as law XML (law_full_text_format=xml, Base64 inside the JSON response) because the OpenAPI definition marks the JSON form of the body as a trial format that may change.

Tool results include source attribution. When you publish or redistribute output based on this package, include an appropriate e-Gov source attribution, and say that the text was converted from law XML to plain text (source.processing).

Suggested attribution:

出典: e-Gov法令検索(https://laws.e-gov.go.jp/)

Safety Notes

  • This package is a law reference tool, not legal advice. Verify important legal conclusions against the official e-Gov page and, where necessary, consult a qualified professional.
  • It does not execute shell commands.
  • It writes JSON-RPC messages only to stdout and logs only to stderr.
  • It fetches only https://laws.e-gov.go.jp/api/2/laws and https://laws.e-gov.go.jp/api/2/law_data/{id}, and refuses redirects.

Development checks

bash
npm test

Tests launch the stdio server with fetch replaced by local Law API v2 fixtures. They cover each tool's request parameters and output fields, asof and law revision IDs, input validation, e-Gov error codes, request pacing, and the cache. Fixture sources are in test/fixtures/README.md.

Related

License

MIT © codeagent.jp

來源:README.md,提交 ab38c36

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 24, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分