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

Uploaded Python 3

File details

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

File metadata

  • Download URL: hr_eli_mcp-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 823bb58a22487e673dcdbd63cf344d0ee6bd90137571a52ea12533205ab4f57e
MD5 e7e6f49308b33c29a51b616be5a560ee
BLAKE2b-256 bb8d6b9c3627ec14bc6103aac11c4aca4d10f1f40893bf6ae265801132fbeaaa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hr_eli_mcp-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6b1ffb80a149b3219ca97cb43570543529ef1ab3a5ccaddf3d291415bcace11d
MD5 19b9f292f62ac2028152a2fcd262d399
BLAKE2b-256 a60058a1e2a581cebddcc7a29458630675044a89dace61f8d39928dd88cdece3

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