Skip to main content

MCP server for the Finnish Finlex open-data API (opendata.finlex.fi) — fetch consolidated statutes (Akoma Ntoso) with ELI identifiers and verifiable citations.

Project description

fi-eli-mcp

An MCP server for the Finnish Finlex open-data API (opendata.finlex.fi). It fetches consolidated Finnish statutes as Akoma Ntoso 3.0 XML, with verifiable ELI identifiers and Finnish citations.

Part of the MateMatic eu-legal-mcp production line - after PL, DE, AT and ES. Same citation contract, Finlex source.

Scope. This MVP covers Finnish statutes (saadokset). Discovery is by year (fi_list_acts) or by year + number; the open-data API is path-based, not keyword search. Finland is bilingual, so titles may be Finnish or Swedish. Every response carries a dataset_note.

Licence. Finnish legislation in Finlex is official public information published as open data (keyless). This connector relays it with attribution and a source_url.

The tools

Tool What it does
fi_list_acts List the statutes of a year (discovery).
fi_get_act Metadata for a statute by year + number.
fi_get_text Full Akoma Ntoso text of a statute by year + number.

Every response carries the contract: eli_uri (a full ELI URL, e.g. http://data.finlex.fi/eli/sd/2018/1050/alkup), human_readable_citation (e.g. Tietosuojalaki (1050/2018)), and source_url.

Install

cd fi-eli-mcp
pip install -e .

Configure (Claude Code / any MCP client)

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

Environment:

  • FI_ELI_BASE_URL - default https://opendata.finlex.fi/finlex/avoindata/v1
  • FI_ELI_CACHE_DIR - default ~/.matematic/cache/fi-eli
  • FI_ELI_AUDIT_DIR - default ~/.matematic/audit

No API key. Finlex open data is keyless.

Governance

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

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

fi_eli_mcp-0.1.0.tar.gz (40.3 kB view details)

Uploaded Source

Built Distribution

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

fi_eli_mcp-0.1.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fi_eli_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ece756b755a42cb3ccd7ae28e677edfa0a6bfc0a14b406e14e3b4c2c62ab03b5
MD5 828de595dbc26622a28f3533285dbae2
BLAKE2b-256 d3deac60d1fe46c05d7ba5a5f31b99cc2ee4e0baa51256a489c218d664e72c83

See more details on using hashes here.

Provenance

The following attestation bundles were made for fi_eli_mcp-0.1.0.tar.gz:

Publisher: release.yml on matematicsolutions/fi-eli-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

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

File hashes

Hashes for fi_eli_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46464d9d19ad36b5409788aca68cfa616c2e7116973f0797a96e0d05df7130b0
MD5 c98ac25d7386869c294c60aa86b48a48
BLAKE2b-256 885f584bc71079044c7547d56de4ea4781b07ded553a00efe5e0202b19489c4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fi_eli_mcp-0.1.0-py3-none-any.whl:

Publisher: release.yml on matematicsolutions/fi-eli-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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