← Back to search

io.github.matematicsolutions/legalize-mcp

matematicsolutions Scanned 20d ago

Legislation for 32 jurisdictions (21 EU) as law-as-git, keyless, with ELI-style citations.

C
69.1 / 100

Versions

0.1.1latest
first seen Jul 8, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 6

legalize_list_countries
annotations: none low

List the jurisdictions available in the legalize-dev corpus. Args: eu_only: if true, restrict to EU member states. Returns: A list of ``CountryInfo`` (code, name, eu, repo).

eu_only bool
legalize_search_laws
annotations: none low

Search a jurisdiction's laws by keyword (GitHub code search; requires a token). Args: country: ISO-3166 alpha-2 code (e.g. ``"ee"``, ``"es"``). query: keyword(s) to find inside the law texts. limit: max hits (1-100, default 10). Returns: A list of ``SearchHit`` (country, law_id, path, github_url, snippet).

limit int query str country str
legalize_get_law
annotations: none low

Fetch a law's metadata and full text by id (optionally at a historical commit). Args: country: ISO-3166 alpha-2 code (e.g. ``"es"``). law_id: the filename stem (e.g. ``"BOE-A-1978-31229"``). sha: optional commit SHA for a historical version (from ``legalize_list_reforms``). Returns: ``LawText`` with the citation contract, frontmatter metadata and the full Markdown body.

sha string law_id str country str
legalize_get_meta
annotations: none low

Fetch only a law's frontmatter metadata (no body) - cheap for citation checks. Args: country: ISO-3166 alpha-2 code. law_id: the filename stem. Returns: ``LawMeta`` with the citation contract and frontmatter fields.

law_id str country str
legalize_coverage
annotations: none low

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.

legalize_list_reforms
annotations: none low

List the reform history (commits) of a law - the legislative timeline. Args: country: ISO-3166 alpha-2 code. law_id: the filename stem. limit: max reforms, newest first (1-100, default 20). Returns: A list of ``Reform`` (sha, date, message, github_url). Pass a ``sha`` back to ``legalize_get_law`` to read the law as it stood at that reform.

limit int law_id str country str

Permissions 3

network medium
Server uses network capabilities via: httpx
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 40

low
Tool 'legalize_list_countries' has no annotations annotation_checker · 100%
low
Tool 'legalize_search_laws' has no annotations annotation_checker · 100%
low
Tool 'legalize_get_law' has no annotations annotation_checker · 100%
low
Tool 'legalize_get_meta' has no annotations annotation_checker · 100%
low
Tool 'legalize_coverage' has no annotations annotation_checker · 100%
low
Tool 'legalize_list_reforms' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: fastmcp@3.4,<4 (GHSA-5h2m-4q8j-pqpj) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (GHSA-c2jp-c369-7pvx) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (GHSA-m8x7-r2rg-vh5g) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (GHSA-mxxr-jv3v-6pgc) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (GHSA-rcfx-77hg-w2wv) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (GHSA-rj5c-58rq-j5g5) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (GHSA-rww4-4w9c-7733) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (GHSA-vv7q-7jx5-f767) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (PYSEC-2026-1364) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (PYSEC-2026-1365) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (PYSEC-2026-2474) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (PYSEC-2026-2475) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (PYSEC-2026-2476) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.4,<4 (PYSEC-2026-338) dependency_analyzer · 95%
medium
Vulnerable dependency: httpx@0.27,<1 (GHSA-h8pj-cxx2-jfg2) dependency_analyzer · 95%
medium
Vulnerable dependency: httpx@0.27,<1 (PYSEC-2022-183) dependency_analyzer · 95%
medium
Vulnerable dependency: anyio@4.3 (GHSA-5p39-cfhj-2xmp) dependency_analyzer · 95%
medium
Vulnerable dependency: anyio@4.3 (GHSA-82r6-8w77-94w6) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: legalize_list_countries manifest_parser · 90%
info
Tool: legalize_search_laws manifest_parser · 90%
info
Tool: legalize_get_law manifest_parser · 90%
info
Tool: legalize_get_meta manifest_parser · 90%
info
Tool: legalize_coverage manifest_parser · 90%
info
Tool: legalize_list_reforms manifest_parser · 90%
info
Required env vars (3) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 80%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'legalize_coverage': Cross-tool sequencing directive poisoning · 85%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%