Skip to main content

MCP server over the legalize-dev law-as-git corpus - national legislation for 32 jurisdictions (21 EU) as version-controlled Markdown with ELI-style citations and verifiable provenance.

Project description

legalize-mcp

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). MIT-licensed source corpus; 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 RODO/GDPR-safe and self-hostable: nothing leaves the user's machine except read-only GETs to GitHub.

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.

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"] }
  }
}

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 (AI Act art. 12).

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 under the MIT License. This connector does not redistribute the corpus; it reads it on demand.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

legalize_mcp-0.1.1.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

legalize_mcp-0.1.1-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file legalize_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: legalize_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for legalize_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 08fdafde3e93fe242592ff28a081c2f7f33e67b26278bab438a3c27e372eb38b
MD5 7f4f11405eaa3c913f6c3a63a810595b
BLAKE2b-256 3a00259c6948605c037e2b9355fd08ad8bc4c6d88d50415aa662fc7117a6108d

See more details on using hashes here.

File details

Details for the file legalize_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: legalize_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for legalize_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 39a0794f3c44f105b65f1303d954a891764a537fc7d0e4c66ea51e0f07352c70
MD5 db9404c98af8847818e2bf6479adf6a2
BLAKE2b-256 2b1b10d73b7b14b9b3d32cf32867690e343d95a2dfd83e6fdaf298ca647444db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page