Skip to main content
Glama
japan-law-util-mcp-server

japan-law-util-mcp-server

by gotoai

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

load_guideline

The usage guideline for the whole tool set: how to find a law, how to read it by elm, the keyword search expressions, how to pin a point in time, what e-Gov法令検索 covers, and the conditions of use. It takes no arguments and always returns the whole guideline.

search_laws

Find laws by title, law number, type, subject category or promulgation date; paged.

search_law_text

Search the text of every law for a keyword or search expression; returns the laws it appears in with the matching sentences.

list_law_revisions

One law's amendment history: enforcement dates, amending laws, revision ids, and whether each revision is in force, not yet in force or repealed.

get_law_outline

One law's table of contents — parts, chapters, sections, articles with their captions, supplementary provisions and appendices — each with the elm that reads it.

read_law_text

A law's text as plain text, whole or the one part elm names, in pieces with next_offset to continue.

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 themselves

Behind 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.com

When 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 tests

License

MIT — see LICENSE.

Available Tools

6 tools
get_law_outlineA
Read-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.

NameRequiredDescriptionDefault
asofNoYYYY-MM-DD; the text in force then.
limitNo
offsetNo
law_id_or_numYesLaw id, law number or revision id.
include_amendment_supplementsNoList the amending laws' supplementary provisions too.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_revisionsA
Read-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.

NameRequiredDescriptionDefault
limitNo
offsetNo
law_id_or_numYesLaw id or law number, exact match.
current_revision_statusNoRevision states, any of.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_guidelineA
Read-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.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_textA
Read-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.

NameRequiredDescriptionDefault
elmNoElement path from get_law_outline.
asofNoYYYY-MM-DD; the text in force then.
offsetNoCharacter offset to read from.
max_charsNo
law_id_or_numYesLaw id, law number or revision id.
include_amendment_supplementsNoInclude the amending laws' supplementary provisions.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_lawsA
Read-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.

NameRequiredDescriptionDefault
asofNoYYYY-MM-DD; the revision in force then.
limitNo
orderNoSort order of the page.law_id
law_idNoLaw id, e.g. 415AC0000000057.
offsetNo
law_numNoLaw number, e.g. 平成十五年法律第五十七号; partial.
categoryNo分野, any of.
law_typeNoLaw types, any of.
law_titleNoLaw name, abbreviation or common name; partial match.
law_num_eraNoEra of the law number.
law_num_yearNoYear within the era.
repeal_statusNoRepeal states, any of.
law_title_kanaNoLaw name in kana; partial.
promulgation_date_toNoYYYY-MM-DD.
promulgation_date_fromNoYYYY-MM-DD.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_textA
Read-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.

NameRequiredDescriptionDefault
asofNoYYYY-MM-DD; search the text in force then.
offsetNo
keywordYesKeyword or search expression.
categoryNo分野, any of.
law_typeNoLaw types, any of.
text_sizeNoCharacters shown around each hit.
scan_limitNo
hits_per_lawNoMatching sentences shown per law.
promulgation_date_toNoYYYY-MM-DD.
promulgation_date_fromNoYYYY-MM-DD.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

  1. 6 tool updatesv0.1.0
    • First observedget_law_outline
    • First observedlist_law_revisions
    • First observedload_guideline
    • First observedread_law_text
    • First observedsearch_law_text
    • First observedsearch_laws

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying Japanese national laws and ordinances via the e-Gov Law API, allowing AI agents to access legal data through natural language questions.
    623 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to query Japanese public data (laws, corporations, statistics) from official government APIs, returning normalized English metadata with source attribution.
    1
    MIT