Skip to main content
Glama

legalize-mcp

Unofficial. Not affiliated with, or endorsed by, the legalize-dev project. An official legalize-dev MCP server is in development against the legalize.dev API; this one reads the public git corpus instead.

One MCP server, 32 jurisdictions (21 EU). A read-only Model Context Protocol server over the legalize-dev corpus — national legislation stored as law-as-git: one law per Markdown file, every reform a Git commit, each with an 8-field ELI-style frontmatter (Legalize Format Spec v0.2). This connector is Apache-2.0.

Built by Matematic Solutions as part of the eu-legal-mcp line. Unlike the single-country *-eli-mcp connectors, this one serves many jurisdictions from a single server, because the underlying corpus is already normalised to one format.

Why this exists

Every response carries the citation contract the rest of the line uses:

  • source_url — the official government source from the law's own frontmatter (e.g. boe.es, riigiteataja.ee, legifrance.gouv.fr). Never invented.

  • github_url — the verifiable legalize-dev copy actually read.

  • human_readable_citation — "<title> (<identifier>)".

It is self-hostable, with a narrow data path: nothing leaves the user's machine except read-only GETs to GitHub.

Related MCP server: lawyer-mcp

Jurisdictions

EU: at be cz de ee es eu fi fr gr ie it lt lu lv nl pl pt ro se sk · Other: ad ar ch cl co kr li no uk us uy

Call legalize_list_countries for the live list (add eu_only=true to filter).

Tools

Tool

Keyless?

Purpose

legalize_list_countries

✅

List jurisdictions (code, name, EU flag, repo).

legalize_search_laws

needs GITHUB_TOKEN

Keyword search inside a country's laws → law_id + snippet.

legalize_get_meta

✅

Frontmatter only (cheap citation check).

legalize_get_law

✅

Full metadata + text by law_id; pass sha= for a historical version.

legalize_list_reforms

✅

Reform timeline (commits) for a law; SHAs feed legalize_get_law.

legalize_coverage

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

law_id is the Markdown filename stem (e.g. BOE-A-1978-31229 for the Spanish Constitution, a numeric id for Estonia). Get it from legalize_search_laws or an official citation — there is no fuzzy title lookup.

Install

uvx legalize-mcp           # run directly
# or
pip install legalize-mcp

Claude Code (.mcp.json):

{
  "mcpServers": {
    "legalize": { "command": "uvx", "args": ["legalize-mcp"] }
  }
}

Windows 11 with Smart App Control

Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe and the legalize-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 legalize-mcp
python -m legalize_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 legalize_mcp.

{ "mcpServers": { "legalize-mcp": { "command": "python", "args": ["-m", "legalize_mcp"] } } }

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

GITHUB_TOKEN (or GH_TOKEN) is optional — required only for legalize_search_laws, and it lifts the GitHub rate limit on legalize_list_reforms.

Configuration

Env var

Default

Purpose

GITHUB_TOKEN / GH_TOKEN

—

Enables code search; lifts rate limits.

LEGALIZE_AUDIT_DIR

~/.matematic/audit

JSONL audit log location (record-keeping).

Governance

Every tool call appends one line to ~/.matematic/audit/legalize-mcp.jsonl (input hash, duration, status — no payloads). All tools are read-only and idempotent. See CONSTITUTION.md.

Development

python -m venv .venv && .venv/Scripts/python -m pip install -e ".[dev]"
.venv/Scripts/python -m pytest -q          # offline unit tests
.venv/Scripts/python -m ruff check src tests

Attribution

Legislative data © the respective national authorities (see each law's source). Corpus normalisation by the legalize-dev project.

Licence of the corpus is per country, not MIT. The MIT licence covers legalize-dev's pipeline and tooling. Each country repository carries terms inherited from its own official source - legalize-es follows the BOE reuse conditions, which make citing the source mandatory; legalize-at is CC BY 4.0; others differ. Check the country repository before you rely on, quote or redistribute a text. Treating the corpus as MIT would skip an attribution obligation you actually have.

Correction supplied by Enrique Lop (legalize-dev) in issue #18, 2026-08-24. This connector does not redistribute the corpus; it reads it on demand.

Available Tools

5 tools
legalize_get_lawA
Read-onlyIdempotent

Fetch a law's metadata and full text by id (optionally at a historical commit).

Inputs: law_id (required), country (required), sha. Returns: A law's metadata plus its full Markdown body.

legalize_get_metaA
Read-onlyIdempotent

Fetch only a law's frontmatter metadata (no body) - cheap for citation checks.

Inputs: law_id (required), country (required). Returns: Frontmatter metadata for a single law (Legalize Format Spec v0.2 + extensions).

legalize_list_countriesB
Read-onlyIdempotent

List the jurisdictions available in the legalize-dev corpus.

Inputs: eu_only. Returns: result

legalize_list_reformsA
Read-onlyIdempotent

List the reform history (commits) of a law - the legislative timeline.

Inputs: law_id (required), country (required), limit. Returns: result

legalize_search_lawsA
Read-onlyIdempotent

Search a jurisdiction's laws by keyword (GitHub code search; requires a token).

Inputs: query (required), country (required), limit. Returns: result

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 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: retrieving full law text, retrieving metadata only, listing available countries, listing reform history, and searching laws. No ambiguity.

    Naming Consistency5/5

    All tools follow the consistent pattern of 'legalize_' prefix followed by verb_noun (e.g., get_law, list_countries, search_laws). Perfectly uniform.

    Tool Count5/5

    With 5 tools, the server covers core operations for a legal document retrieval system without being sparse or bloated. Well-scoped.

    Completeness5/5

    The server provides full retrieval (by ID), metadata-only retrieval, jurisdiction listing, reform timeline, and keyword search. For a read-only legal database, this is complete.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers