Skip to main content
Glama

jp-eli-mcp

An MCP server for Japan's official e-Gov law search API (laws.e-gov.go.jp), run by the Digital Agency. It searches, fetches, and cites national legislation - acts, cabinet orders, ministerial ordinances - with a verifiable citation on every response.

Part of the MateMatic eu-legal-mcp production line, extended into Asia. Same citation contract (a stable identifier + a human-readable citation + a source URL) as the 18 EU/EEA connectors, adapted for a jurisdiction with no ELI scheme.

Scope. Discovery is by law title (jp_search_laws) or full-text keyword (jp_search_by_keyword); fetch a specific article (jp_get_article) or the full text (jp_get_full_text, truncated for very large laws such as the Civil Code). Every response carries a dataset_note.

Licence. e-Gov law data is official public information published by the Japanese government as open data (keyless, REST/JSON). This connector relays it with attribution and a source_url.

The tools

Tool

What it does

jp_search_laws

Search laws by (partial) title.

jp_search_by_keyword

Full-text search across all laws, with highlighted snippets.

jp_get_law

Metadata for a law by law_id: title, law number, promulgation date.

jp_get_article

The text of one article of a law, by law_id and article_num.

jp_get_full_text

The full text of a law (truncated at ~300,000 characters).

jp_coverage

Declare what this connector covers, when each family was captured, and - explicitly - what it does NOT cover. Every gap carries a fallback.

Every response carries the contract: eli_uri (Japan has no ELI - this is the durable e-Gov viewer URL, e.g. https://laws.e-gov.go.jp/law/129AC0000000089, see eli_note), human_readable_citation (e.g. 民法(明治二十九年法律第八十九号)), and source_url (the machine-readable API URL).

Related MCP server: e-Gov Law MCP Server

Install

Not yet on PyPI - install from source until the first release ships:

git clone https://github.com/matematicsolutions/jp-eli-mcp
cd jp-eli-mcp
pip install -e .

Once released, this will be uvx jp-eli-mcp.

Configuration via env:

  • JP_ELI_BASE_URL - default https://laws.e-gov.go.jp/api/2

  • JP_ELI_CACHE_DIR - default ~/.matematic/cache/jp-eli

  • JP_ELI_AUDIT_DIR - default ~/.matematic/audit

No API key. e-Gov's law search API is keyless.

Configure (Claude Code / any MCP client)

{
  "mcpServers": {
    "jp-eli-mcp": { "command": "jp-eli-mcp" }
  }
}

Windows 11 with Smart App Control

Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe and the jp-eli-mcp.exe launcher that pip writes at install time. The python.exe and py.exe from the python.org installer are signed by the Python Software Foundation, so running the module through the interpreter works:

python -m pip install jp-eli-mcp
python -m jp_eli_mcp

pip.exe is blocked for the same reason, so install with python -m pip, not pip install. If python is not on PATH, use the Windows launcher: py -3 -m jp_eli_mcp.

{ "mcpServers": { "jp-eli-mcp": { "command": "python", "args": ["-m", "jp_eli_mcp"] } } }

Do not turn Smart App Control off to work around this - it cannot be re-enabled without reinstalling Windows.

Governance

  • Public data only - read-only against e-Gov; no client data leaves the machine.

  • Audit log - every tool call appends one JSON line to ~/.matematic/audit/jp-eli-mcp.jsonl.

  • Vendor-neutral - talks only to laws.e-gov.go.jp; no LLM provider, no telemetry.

  • Verifiable citations - every response is independently checkable via source_url.

See CONSTITUTION.md and DISCOVERY.md.

Tests

pip install -e ".[dev]"
pytest tests/test_instructions_drift.py -v   # offline
pytest tests/test_smoke.py -v                # hits live e-Gov

Licence

Apache-2.0. © Matematic Solutions / Wieslaw Mazur.

Available Tools

6 tools
jp_coverageA
Read-onlyIdempotent

Declare what this connector covers, how it is sourced, and what it does NOT cover.

Call this before telling a user that the law "does not contain" something, and whenever a search comes back empty: the absence may be a gap in this connector rather than in the law. Every gap carries a fallback saying where to look instead.

Returns: Coverage with families, an as-of note, and a non-empty list of known gaps.

Inputs: no named parameters. Returns: What this connector covers, how it is sourced, and what it does not cover.

jp_get_articleA
Read-onlyIdempotent

Fetch the text of one article of a law.

Inputs: law_id (required), article_num (required). Returns: Result of ``jp_get_article`` - the text of one article of a law.

jp_get_full_textA
Read-onlyIdempotent

Fetch the full text of a law by law_id. Large laws are truncated.

Inputs: law_id (required). Returns: Result of ``jp_get_full_text`` - the full text of a law, possibly truncated.

jp_get_lawA
Read-onlyIdempotent

Fetch metadata for a law by its e-Gov law_id (no body text).

Inputs: law_id (required). Returns: Result of ``jp_get_law`` - metadata only, no body text.

jp_search_by_keywordA
Read-onlyIdempotent

Full-text search across all Japanese laws for a keyword.

Inputs: keyword (required), limit, offset. Returns: Result of ``jp_search_by_keyword``.

jp_search_lawsA
Read-onlyIdempotent

Search Japanese laws by (partial) title.

Inputs: law_title (required), limit. Returns: Result of ``jp_search_laws``.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool targets a distinct operation: searching by title vs. full-text, fetching metadata vs. a single article vs. full text, and declaring coverage. No two tools overlap in purpose.

    Naming Consistency5/5

    All tools follow the consistent pattern jp_<verb>_<noun>, with search/get as verbs and clear nouns. jp_coverage is a slight exception but still fits the jp_ prefix and is a declarative tool, so the pattern remains predictable.

    Tool Count5/5

    Six tools is well-scoped for a Japanese law retrieval server: two search methods, three retrieval levels (metadata, article, full text), and an explicit coverage declaration. No excess or deficiency.

    Completeness4/5

    The core workflows—searching and retrieving law text—are covered. The full-text tool truncates large laws, but jp_coverage explicitly discloses gaps and fallbacks, making the surface reasonably complete for read-only legal access.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables intelligent search and retrieval of Japanese legal statutes through the e-Gov API. Supports smart lookup of laws and articles with abbreviation recognition, batch processing, and multi-tier caching for high-performance legal research.
      8
      15
      MIT
    • 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.
      145 npm
      MIT