Skip to main content

MCP server for the Croatian Narodne novine official gazette (narodne-novine.nn.hr) - fetch Croatian legislation with European ELI identifiers and verifiable citations.

Project description

hr-eli-mcp

An MCP server for the Croatian Narodne novine official gazette (narodne-novine.nn.hr). It fetches Croatian legislation with European ELI identifiers and verifiable citations.

Part of the MateMatic eu-legal-mcp production line - after PL, DE, AT, ES, FI, IE, NL, SE, FR, LU, DK and CZ. Same citation contract, Narodne novine source. Croatia is ELI-native on the European ELI ontology (data.europa.eu/eli), with JSON-LD metadata per document.

Scope. This MVP lists the documents of a gazette issue, returns per-document metadata from JSON-LD, and fetches the official HTML text. Documents are addressed by year + issue + document number; the gazette is path-based, not keyword search. Coverage 1990-present. Language: Croatian. Every response carries a dataset_note.

Licence. Narodne novine is the official public gazette of Croatia. This connector relays it read-only with attribution and a source_url.

The tools

Tool What it does
hr_list_issue List the documents of a gazette issue by year + issue (discovery).
hr_get_act Metadata for a document by year + issue + doc number.
hr_get_text Full official HTML text of a document.

Every response carries the contract: eli_uri (the European ELI URL, e.g. https://narodne-novine.nn.hr/eli/sluzbeni/2018/42/805), human_readable_citation (title + NN 42/2018), and source_url.

Install

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

uvx hr-eli-mcp

Or from source:

cd hr-eli-mcp
pip install -e .

Configure (Claude Code / any MCP client)

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

Environment:

  • HR_ELI_BASE_URL - default https://narodne-novine.nn.hr
  • HR_ELI_CACHE_DIR - default ~/.matematic/cache/hr-eli
  • HR_ELI_AUDIT_DIR - default ~/.matematic/audit

No API key. Narodne novine open data is keyless.

Governance

  • Public data only - read-only against Narodne novine; no client data leaves the machine.
  • Audit log - every tool call appends one JSON line to ~/.matematic/audit/hr-eli-mcp.jsonl.
  • Vendor-neutral - talks only to narodne-novine.nn.hr; 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 live Narodne novine

Licence

Apache-2.0. © Matematic Solutions / Wieslaw Mazur.

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

hr_eli_mcp-0.1.0.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

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

hr_eli_mcp-0.1.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hr_eli_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 80f7b816d5a401da6211c2ddafa238bd47d5ab569b9906b77297974f418a71d8
MD5 61b7c1dc60eeae390acf4a1f1861267a
BLAKE2b-256 ab8a873d819077948b1ec740207a34f3d8d35a57c5119823ba4f36cfc59d066d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for hr_eli_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52fe25a2e4babe0234b602c2d69c40b2ea820b29ce2048e72ceceed901398c4c
MD5 936f7e3ef16db50aaf60283f73402c6e
BLAKE2b-256 549198a2b7e827c6107783a17a2a25a9ee0441fb679815befde2a30c28dbb8da

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