Skip to main content

MCP server for the Czech e-Sbirka legal database (e-sbirka.gov.cz) via SPARQL - search and fetch Czech consolidated legislation with national ELI identifiers and verifiable citations.

Project description

cz-eli-mcp

An MCP server for the Czech e-Sbirka legal database (e-sbirka.gov.cz), the official Collection of Laws (Sbirka zakonu), via its open-data SPARQL endpoint. It searches acts and fetches their full consolidated text, with verifiable citations.

Part of the MateMatic eu-legal-mcp production line - after PL, DE, AT, ES, FI, IE, NL, SE, FR, LU and DK. Same citation contract, e-Sbirka source. This is the first connector in the line that talks SPARQL/RDF rather than a REST/XML API.

Scope. This MVP searches acts (by year and/or a citation substring), returns metadata, and assembles the full consolidated text of the latest version. ~92,000 acts, updated daily, licensed CC BY 4.0. Language: Czech. Every response carries a dataset_note.

ELI is national, not data.europa.eu. The act IRI follows the ELI URI template (eli/cz/sb/{year}/{number}) but is minted by the e-Sbirka open-data graph (opendata.eselpoint.gov.cz), not resolvable on data.europa.eu. The readable page is on e-sbirka.gov.cz. Every response carries an eli_note saying so.

Text is assembled, not a single file. e-Sbirka exposes the consolidated text as ordered HTML fragments over SPARQL; cz_get_text reconstructs the plain text from them. There is no single official XML/PDF manifestation.

The tools

Tool What it does
cz_search Find acts by year and/or a citation substring (discovery).
cz_get_act Metadata for an act by year + number, plus the latest consolidated version date.
cz_get_text Full consolidated text of an act, assembled from the latest version's fragments.

Every response carries the contract: eli_uri (the national ELI IRI, e.g. https://opendata.eselpoint.gov.cz/esel-esb/eli/cz/sb/2019/110), human_readable_citation (e.g. 110/2019 Sb.), and source_url (the e-sbirka.gov.cz page).

Install

Run it with no install step (once published to PyPI):

uvx cz-eli-mcp

Or from source:

cd cz-eli-mcp
pip install -e .

Configure (Claude Code / any MCP client)

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

Environment:

  • CZ_ELI_ENDPOINT - default https://opendata.eselpoint.gov.cz/sparql
  • CZ_ELI_CACHE_DIR - default ~/.matematic/cache/cz-eli
  • CZ_ELI_AUDIT_DIR - default ~/.matematic/audit

No API key. The e-Sbirka open-data SPARQL endpoint is keyless.

Governance

  • Public data only - read-only SPARQL against e-Sbirka; no client data leaves the machine.
  • Audit log - every tool call appends one JSON line to ~/.matematic/audit/cz-eli-mcp.jsonl.
  • Vendor-neutral - talks only to opendata.eselpoint.gov.cz; 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 tests/test_parse.py -v   # offline
pytest tests/test_smoke.py -v                                    # hits the live SPARQL endpoint

Licence

Apache-2.0. © Matematic Solutions / Wieslaw Mazur. e-Sbirka data is CC BY 4.0 (Czech Ministry of the Interior); relayed with attribution and a source_url.

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

cz_eli_mcp-0.1.0.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

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

cz_eli_mcp-0.1.0-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file cz_eli_mcp-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for cz_eli_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8f1f20be91788b1108e2ffeff552cc1e8b34889ad4c25e75b6478ed6f30c7234
MD5 19de25bd2bdc626d8794edabea073514
BLAKE2b-256 f51d7528d8a42f24796766cb7b9ae3f519c92fff08abe654c5d3fd07ee3825a4

See more details on using hashes here.

File details

Details for the file cz_eli_mcp-0.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for cz_eli_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f7ea4f144d82c03caf3f99c3b38be7b4af30d1838be38a7e35a5ad3bb472ba7
MD5 2d0ab99be71d9003415539270406c270
BLAKE2b-256 3613a0a199590640110f8d8ed4393fb3616ec29f06ca50f485295fcf5a5bbcb6

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