japan-law-util-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@japan-law-util-mcp-serverwhich Japanese laws mention カスタマーハラスメント?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
japan-law-util-mcp-server
An MCP server for e-Gov法令検索's 法令API Version 2, the Digital Agency's API for Japanese national law: find a law, read its articles, search the text of every law, and pin any point in time.
e-Gov法令検索の法令API(Version 2)を使って、日本の法令の検索・条文の閲覧・全文の キーワード検索・施行時点の指定ができる MCP サーバーです。
Unofficial. This project is not affiliated with or endorsed by the Digital Agency (デジタル庁), which operates e-Gov法令検索. It is written against the published API specification.
Tools
Tool | What it does |
| The usage guideline for the whole tool set: how to find a law, how to read it by |
| Find laws by title, law number, type, subject category or promulgation date; paged. |
| Search the text of every law for a keyword or search expression; returns the laws it appears in with the matching sentences. |
| One law's amendment history: enforcement dates, amending laws, revision ids, and whether each revision is in force, not yet in force or repealed. |
| One law's table of contents — parts, chapters, sections, articles with their captions, supplementary provisions and appendices — each with the |
| A law's text as plain text, whole or the one part |
The server follows a skill-style layout. Its MCP instructions are one sentence
saying what the tools are for and to call load_guideline first. Everything that
concerns the tool set as a whole — including the conditions of use — lives in the
guideline, and each tool's description covers only that tool. Agents that load many MCP
servers keep only a short entry per server in their prompt, and read the guideline when
they need it.
Reading a law
A law's text is addressed with the API's elm paths. get_law_outline returns the one
to use for each entry, so the agent never has to build one:
MainProvision-Article_17 本則第十七条
MainProvision-Article_3_2 本則第三条の二
MainProvision-Chapter_4-Section_2 本則第四章第二節
SupplProvision[1]-Article_1 附則第一条
AppdxTable[1] 別表第一The law text arrives as the API's light JSON (json_format=light) and is rendered to
plain text: captions, article and paragraph numbers, items, tables as |-separated
rows, 振り仮名 resolved to the word itself. A whole act is tens of thousands of
characters, so read_law_text returns it in pieces and the fetched law is cached for
ten minutes.
The supplementary provisions of the laws that amended this one are left out unless
include_amendment_supplements is true — an act can carry twenty of them. That choice
decides which SupplProvision[n] each index names, so get_law_outline takes the same
argument and the two have to agree.
Related MCP server: Houki e-Gov MCP Server
Run
Python 3.11 or later.
pip install -e .
japan-law-util-mcp-server --host 127.0.0.1 --port 8000 # Streamable HTTP at /mcp
japan-law-util-mcp-server --transport stdio # for clients that start it themselvesBehind a reverse proxy, accept the public host name as well; otherwise the server's DNS
rebinding protection rejects requests whose Host is not localhost:
japan-law-util-mcp-server --host 127.0.0.1 --port 8000 --allowed-host demo.mcp.gotoai.comWhen bound to a non-loopback address (for example --host 0.0.0.0 on a LAN), that
protection is off; restrict access with a firewall or a proxy.
In Kari
Add a custom extension of type Streamable HTTP with the URL http://<host>:<port>/mcp.
Give it an ASCII name such as japanlaw — the name becomes part of every tool name the
agent sees.
Conditions of use
These are in the guideline the agent reads; they apply to anyone presenting the results:
Credit the source as 「出典:e-Gov法令検索(デジタル庁)」 with the law's URL.
Say so when the text has been summarised, excerpted or rearranged, and do not present the result as if the government had written it.
Where e-Gov法令検索 differs from the 官報, the 官報 prevails; confirm anything that matters against the law's own page.
Avoid excessive repeated access to the API.
e-Gov法令検索's content is published by the Digital Agency under the 公共データ利用規約(第1.0版); its own terms are at https://laws.e-gov.go.jp/terms/ and apply to whoever runs this server.
Coverage
e-Gov法令検索 holds national law only — 憲法・法律・政令・勅令・府令・省令・規則. It does not hold 告示・通達, treaties, local ordinances or case law. Its data starts from the text in force on 2017-04-01, covering acts and cabinet orders in force since 2015-08-01 and ministerial ordinances and rules since 2016-10-01, so amendment history before then is incomplete.
Development
pip install -e ".[dev]"
pytest # offline tests
JAPAN_LAW_LIVE=1 pytest # also the live tests against the real API
ruff check src testsLicense
MIT — see LICENSE.
Available Tools
6 toolsget_law_outlineARead-only
Get one law's table of contents: every part, chapter, section, article (with its caption), supplementary provision and appendix, in order, each with the elm value that reads it with read_law_text. Read this before reading a long law, and pass the elm it gives rather than building one yourself. Call read_law_text with the same include_amendment_supplements, which changes which supplementary provisions each elm names. Paged with offset.
| Name | Required | Description | Default |
|---|---|---|---|
| asof | No | YYYY-MM-DD; the text in force then. | |
| limit | No | ||
| offset | No | ||
| law_id_or_num | Yes | Law id, law number or revision id. | |
| include_amendment_supplements | No | List the amending laws' supplementary provisions too. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: results are ordered, each entry carries an elm handle usable by read_law_text, paging is via offset, and the include_amendment_supplements flag must match on the follow-up read. It omits mention of result volume or the limit cap, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the return contents, then the workflow rule, then the coupling constraint. Sentences are dense but each carries distinct information. The trailing 'Paged with offset' is clipped and slightly out of place after the parameter-coupling guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure needn't be spelled out, and the description covers the essential agent-facing concerns: what the outline contains, why to call it first, how elm values link to read_law_text, the flag-consistency requirement, and offset paging. Minor gaps around asof and limit behavior are acceptable given the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, so the description must add meaning, and it does for the two most consequential parameters: it explains that include_amendment_supplements changes which supplementary provisions each elm names (beyond the schema's terse 'List the amending laws' supplementary provisions too') and that paging is offset-based. asof and limit remain undocumented in the description, so it does not fully compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get one law's table of contents') and enumerates exactly what is returned: parts, chapters, sections, articles with captions, supplementary provisions, appendices, in order, each with an elm value. This clearly distinguishes it from sibling read_law_text (which reads actual text) and the search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use rule ('Read this before reading a long law'), an explicit alternative-avoidance rule ('pass the elm it gives rather than building one yourself'), and a coordination constraint with a sibling ('Call read_law_text with the same include_amendment_supplements'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_law_revisionsARead-only
List one law's amendment history: each revision's enforcement date, the amending law, its revision id and whether that revision is in force now, not yet in force or repealed. Use it to choose the asof date or revision id to read, or to see when a change takes effect.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| law_id_or_num | Yes | Law id or law number, exact match. | |
| current_revision_status | No | Revision states, any of. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint and openWorldHint already establish this as a safe read against external data, so the description only needs to add context. It does disclose the status vocabulary (in force / not yet in force / repealed) and that results are per-revision, but says nothing about ordering, pagination (despite limit/offset), or what happens when the law id is unknown or the law has no amendments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The resource and row contents come first, the intended use second, which matches how an agent would scan for a routing decision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description is not obliged to explain return shapes, and read-only behavior is covered by annotations; what remains needed is the calling decision, which it provides. Minor gaps are ordering and result-set size limits for a potentially long revision list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Coverage is 50%: law_id_or_num has an explicit "exact match" note and current_revision_status says "Revision states, any of". The description never mentions the status filter or how to use limit/offset, though its phrasing about revisions being "in force now, not yet in force or repealed" loosely hints at what the status filter accepts. Adequate but not compensatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"List one law's amendment history" gives a specific verb (list), resource (revisions of a single law) and scope (one law only), and then enumerates exactly what each row contains (enforcement date, amending law, revision id, status). That is enough to separate it from search_laws, read_law_text and get_law_outline, which operate on text rather than revision chains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use it to choose the asof date or revision id to read" states a concrete decision the tool feeds into, and "or to see when a change takes effect" covers the second use case. It stops short of naming the sibling tools it precedes (read_law_text) or excluding cases where another tool is better, so no explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_guidelineARead-only
Usage guideline for the Japanese law tools: how to find a law, read its articles by elm, search the text of every law, pin a point in time, what e-Gov法令検索 covers, and the conditions of use. Read it before your first search.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful context about what the guideline covers and when to read it, but it does not describe the return format or invocation behavior beyond the output schema already provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a clear list of covered topics followed by the call to action 'Read it before your first search.' It is front-loaded and appropriately sized, though the dense topic list could be slightly easier to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter documentation-loading tool with an output schema and clear read-only annotations, the description supplies enough to decide when and why to call it. It names the covered domains and explicitly directs the agent to read it before its first search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter meanings for the description to clarify. The schema also reports 100% description coverage, making the baseline for a no-parameter tool appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a usage guideline for the Japanese law tools and enumerates the topics it covers, such as finding laws, reading articles by elm, searching law text, pinning a point in time, e-Gov coverage, and conditions of use. It is distinguishable from the sibling search/read tools as a meta-documentation resource, though it does not use an explicit verb like 'load' or 'returns'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit timing guidance: 'Read it before your first search.' This tells the agent when to use it relative to the sibling search and read tools. It lacks explicit when-not guidance or named alternatives, but the first-search condition is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_law_textARead-only
Read a law's text as plain text: the whole law, or the one part elm names, such as MainProvision-Article_17, MainProvision-Chapter_4-Section_2, SupplProvision[1]-Article_1 or AppdxTable[1]. The text comes back in pieces of max_chars; continue from next_offset. The law's 目次 is not included — get_law_outline returns it — and the supplementary provisions of amending laws are left out unless include_amendment_supplements is true.
| Name | Required | Description | Default |
|---|---|---|---|
| elm | No | Element path from get_law_outline. | |
| asof | No | YYYY-MM-DD; the text in force then. | |
| offset | No | Character offset to read from. | |
| max_chars | No | ||
| law_id_or_num | Yes | Law id, law number or revision id. | |
| include_amendment_supplements | No | Include the amending laws' supplementary provisions. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real behavior beyond the readOnlyHint/openWorldHint annotations: output is paginated into max_chars chunks resumed via next_offset, the 目次 is deliberately omitted, and amendment supplementary provisions are excluded by default. It does not cover failure behavior (invalid elm, unknown law id) or how asof interacts with missing revisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the capability and followed by exclusions, with no filler. The parenthetical list of elm examples is long but earns its place; the Japanese term 目次 is the only mild readability cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations and an output schema supplied, the description covers the parts an agent most needs: element addressing, pagination continuation, and default exclusions. Remaining gaps are minor (error cases, asof edge behavior) and partly absorbed by schema descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 83%, so the baseline is 3; the description goes further by giving concrete elm path shapes (MainProvision-Article_17, MainProvision-Chapter_4-Section_2, SupplProvision[1]-Article_1, AppdxTable[1]) and by explaining how max_chars and offset compose into a continuation loop. asof is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read a law's text as plain text') and clarifies the two modes: the whole law or a single element. It explicitly separates itself from get_law_outline for the 目次, but says nothing to distinguish it from search_law_text, so sibling differentiation is only partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear routing guidance: use get_law_outline to obtain the 目次, and set include_amendment_supplements=true when amending-law supplementary provisions are wanted. It does not state when to prefer this over search_law_text or load_guideline, so the when-not side is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_lawsARead-only
Find Japanese laws (acts, cabinet orders, ministerial ordinances) by title, law number, type, subject category or promulgation date. Returns one page of laws with each law's law_id, law number, enforcement date, repeal status and e-Gov URL; total_count and next_offset tell whether more pages exist. Use the law_id with the other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| asof | No | YYYY-MM-DD; the revision in force then. | |
| limit | No | ||
| order | No | Sort order of the page. | law_id |
| law_id | No | Law id, e.g. 415AC0000000057. | |
| offset | No | ||
| law_num | No | Law number, e.g. 平成十五年法律第五十七号; partial. | |
| category | No | 分野, any of. | |
| law_type | No | Law types, any of. | |
| law_title | No | Law name, abbreviation or common name; partial match. | |
| law_num_era | No | Era of the law number. | |
| law_num_year | No | Year within the era. | |
| repeal_status | No | Repeal states, any of. | |
| law_title_kana | No | Law name in kana; partial. | |
| promulgation_date_to | No | YYYY-MM-DD. | |
| promulgation_date_from | No | YYYY-MM-DD. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered structurally. The description adds genuine behavioral context by explaining pagination ('one page', 'total_count and next_offset tell whether more pages exist'), but the enumerated return fields largely restate what the output schema already declares.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core capability, followed by return/pagination and chaining guidance in that order of importance. No filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter read-only search tool with an output schema and annotations, the description covers purpose, pagination continuation, and how to hand off law_id. The only real gap is guidance on narrowing an overly broad query or combining filters, which is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 87%, so most parameters (asof, law_id, law_num, order, repeal_status, dates) are already documented in the schema. The description only maps facets at a high level and adds no format, matching, or combination semantics beyond that baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ('Find Japanese laws') and enumerates the facets searchable (title, law number, type, subject category, promulgation date), which is more precise than the bare tool name. It does not explicitly distinguish itself from the sibling search_law_text (full-text search), leaving that inference to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The final sentence ('Use the law_id with the other tools') gives a clear chaining instruction for downstream tools such as get_law_outline or read_law_text. It stops short of stating when to prefer this over search_law_text or list_law_revisions, so no explicit exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_law_textARead-only
Search the text of every Japanese law for a keyword and get the laws it appears in with the matching sentences, each hit marked with 【】. The keyword may be a search expression: space for AND, | for OR, ! to exclude, () to group, or * and ? as wildcards (wildcards cannot be combined with the operators). scan_limit counts hit positions scanned, not laws; lower hits_per_law and raise scan_limit to see more laws.
| Name | Required | Description | Default |
|---|---|---|---|
| asof | No | YYYY-MM-DD; search the text in force then. | |
| offset | No | ||
| keyword | Yes | Keyword or search expression. | |
| category | No | 分野, any of. | |
| law_type | No | Law types, any of. | |
| text_size | No | Characters shown around each hit. | |
| scan_limit | No | ||
| hits_per_law | No | Matching sentences shown per law. | |
| promulgation_date_to | No | YYYY-MM-DD. | |
| promulgation_date_from | No | YYYY-MM-DD. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely non-obvious behavior: scan_limit counts hit positions scanned rather than laws, wildcards cannot be combined with operators, and the hits_per_law/scan_limit tradeoff. It stops short of describing result truncation signaling or pagination behavior via offset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler; the core action and hit markup are front-loaded, then query syntax, then the scan_limit caveat that would otherwise cause the most misuse. Nothing is redundant with the schema prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format needn't be spelled out, and the description still sketches it helpfully. For a 10-parameter full-text search on open-world data, the main pitfalls (query grammar, scan_limit counting, paging via offset) are mostly addressed, though offset/pagination behavior is left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so most parameters are self-documenting, but the description adds real meaning where the schema is silent: the full expression grammar for 'keyword' and the precise semantics of 'scan_limit' with its relationship to 'hits_per_law'. It says nothing extra about asof, category, law_type, offset, or promulgation date filters, relying entirely on the schema there.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('search the text of every Japanese law') plus the return shape (laws containing the keyword with matching sentences, hits marked with 【】). It implicitly distinguishes itself from read_law_text and search_laws by scoping to full-text keyword search, but it never names those siblings, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It covers how to construct the query (AND/OR/not/grouping/wildcards) and gives concrete tuning advice for scan_limit versus hits_per_law isolated from other concerns. However, there is no explicit guidance on when to reach for this tool instead of search_laws (metadata search) or read_law_text, so the agent must infer the division of labor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.0- First observed
get_law_outline - First observed
list_law_revisions - First observed
load_guideline - First observed
read_law_text - First observed
search_law_text - First observed
search_laws
TDQS
Scored across 6 tools
Each tool targets a clearly distinct operation: metadata search, full-text search, revision history, table of contents, article text reading, and usage guidance. The only potentially similar pair, search_laws and search_law_text, is explicitly separated by metadata vs. full-text search behavior.
All tool names follow a consistent snake_case verb_noun pattern such as search_laws, list_law_revisions, get_law_outline, and read_law_text. The minor singular/plural variation between law and laws is natural and does not break predictability.
Six tools is well-scoped for a read-only Japanese law research server. Each tool has a clear role in the workflow and no redundant tools appear to be present.
The surface covers the full research lifecycle: onboarding guidance, law discovery, full-text search, revision history, structural outline, and detailed text reading. It also handles pagination and point-in-time/revision selection, leaving no obvious dead ends for the stated domain.
Maintenance
Related MCP Connectors
Japan Law MCP — Japanese national laws & ordinances via the e-Gov Law API.
Search Japanese statutes via the e-Gov Law API. Free law_search tool.
Search Japanese subsidies and public company data using J-Grants, gBizINFO, and EDINET.
Japan data tools for AI agents: calendar (rokuyo), address, name splitting, corporate number lookup
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables searching and retrieving Japanese legal information from the e-Gov Law API, including law searches by keyword, detailed law data retrieval, and revision history tracking.34,616 npm49MIT
- AlicenseAqualityAmaintenanceEnables LLMs to search and retrieve Japanese laws from the e-Gov API v2, including keyword search, article fetching, table of contents, and revision history.7242 npm2MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying Japanese national laws and ordinances via the e-Gov Law API, allowing AI agents to access legal data through natural language questions.623 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query Japanese public data (laws, corporations, statistics) from official government APIs, returning normalized English metadata with source attribution.1MIT