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.1.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.1-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cz_eli_mcp-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 005dba06a4c4bdbf373f79bd9a8296725333874788eb015cfa229cad3925a040
MD5 405750539a9035765c1cf3c49f1bbb58
BLAKE2b-256 5379bc47410ebff462dd41042c168b38f70dba358a7cb9613ec10d833cacc58f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cz_eli_mcp-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b78e1d7801d052e5fba124574cc906bb2934770ec93527a9d1352bfef75a3925
MD5 6c7451e58932e6b935a15631ae6551a4
BLAKE2b-256 be551d4a915daf1e8f7cfa7fb667ba2b68177640c29db6e9e3c12a9363bb17de

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