Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

eu.ansvar/finnish-law-mcp

NPM · @ANSVAR/FINNISH-LAW-MCP · SCANNED AUG 3

Query Finnish statutes from Finlex, EU cross-references, case law, and preparatory works

+17 this week 68 Trust /100

Deprecated

This server is marked deprecated in the MCP registry.

Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security80
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.Partial
  • Runs a script at install time (postinstall) that we could not recognise. It may be perfectly ordinary, but we do not read the published tarball, so we cannot say what it does. View diagnostics → Partial
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability80
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2577 tokens (~151/item across 17 items; 16 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @ansvar/finnish-law-mcp

# add to Claude Code
claude mcp add eu-ansvar-finnish-law-mcp -- npx -y @ansvar/finnish-law-mcp
# add to Codex CLI
codex mcp add eu-ansvar-finnish-law-mcp -- npx -y @ansvar/finnish-law-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "eu-ansvar-finnish-law-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@ansvar/finnish-law-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add eu-ansvar-finnish-law-mcp --command npx --arg -y --arg @ansvar/finnish-law-mcp
# ~/.hermes/config.yaml
mcp_servers:
  eu-ansvar-finnish-law-mcp:
    command: "npx"
    args: ["-y", "@ansvar/finnish-law-mcp"]
// mcp.json
{
  "mcpServers": {
    "eu-ansvar-finnish-law-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@ansvar/finnish-law-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Aug 26 +47
    • Provenance: unverified → fail security
    • Install scripts: unverified → partial security
    • Known CVEs: unverified → partial security
    • The scripts that run when this package is installed changed: postinstall security
    • License: unverified → pass functional
    • Schema quality: unverified → 100 functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Stability: unverified → 0.23 functional
    • Schema quality: unverified → excellent functional
    • Tool coverage: unverified → 100 functional
    • Licence: Apache-2.0 functional
  • 1 Aug 26 −5
    • Malware scan: unverified → pass security
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
  • 31 Jul 26 −8
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −18
    • Malware scan: pass → unverified security
  • 27 Jul 26 51

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@ansvar/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Install scripts 1 script
Hook Tier Command
postinstall unreviewed test -d dist || npm run build || true
Dependencies 96 packages

96 packages in the resolved dependency tree · 96 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 16 exposed · ~2,562 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
about ~35

Server metadata, dataset statistics, freshness, and provenance. Call this to verify data coverage, currency, and content basis before relying on results.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

build_legal_stance ~173

Build a comprehensive set of citations for a legal question. Searches across statutes, case law, and preparatory works simultaneously to aggregate relevant citations. Use this for broad legal research questions. When NOT to use: If you need a specific provision or targeted search, use get_provision or search_legislation instead.

NameTypeReqDescription
as_of_datestringOptional historical date (YYYY-MM-DD) for time-aware retrieval.
document_idstringOptionally limit statute search to one document
include_case_lawbooleanInclude case law results (default: true)
include_preparatory_worksbooleanInclude preparatory works results (default: true)
limitnumberMax results per category
querystringyesLegal question or topic to research

No output schema declared.

No examples provided.

check_currency ~155

Check if a Finnish statute or provision is in force (current or historical). Returns the document's status (in_force, amended, repealed, not_yet_in_force), dates, and warnings. Provide as_of_date for historical evaluation. When NOT to use: If you need the actual text of a provision, use get_provision. This tool only checks status.

NameTypeReqDescription
as_of_datestringOptional historical date (YYYY-MM-DD). Computes in-force status as of that date.
document_idstringyesstatute number (e.g., "1050/2018" or "2018:218")
provision_refstringOptional provision reference to check (e.g., "3:5")

No output schema declared.

No examples provided.

format_citation ~117

Format a Finnish legal citation per standard conventions. Formats: - full: "Laki 1050/2018 3 luku 5 §" - short: "1050/2018 3:5" - pinpoint: "3 luku 5 §" When NOT to use: If you want to check whether a citation exists in the database, use validate_citation instead.

NameTypeReqDescription
citationstringyesCitation string to format
formatstringOutput format (default: "full")

No output schema declared.

No examples provided.

get_eu_basis ~172

Get EU legal basis (directives and regulations) for a Finnish statute. Returns all EU directives and regulations that this statute implements, supplements, or references. Includes reference types, article citations, and whether each EU document is a primary implementation. Essential for understanding which EU law a Finnish statute is based on. When NOT to use: For provision-level EU references, use get_provision_eu_basis. To find Finnish laws implementing EU law, use get_finnish_implementations.

NameTypeReqDescription
include_articlesbooleanInclude specific EU article references (default: false)
reference_typesarrayFilter by reference type (implements, supplements, applies, etc.)
sfs_numberstringyesstatute number (e.g., "1050/2018" or "2018:218")

No output schema declared.

No examples provided.

get_finnish_implementations ~170

Find Finnish statutes implementing a specific EU directive or regulation. Given an EU document ID (e.g., "regulation:2016/679" for GDPR), returns all Finnish statutes that implement, supplement, or reference it. Shows implementation status and which articles are referenced. Essential for finding Finnish law corresponding to EU requirements. When NOT to use: If you have a Finnish statute and want its EU basis, use get_eu_basis (opposite direction).

NameTypeReqDescription
eu_document_idstringyesEU document ID (e.g., "regulation:2016/679", "directive:95/46")
in_force_onlybooleanReturn only in-force statutes (default: false)
primary_onlybooleanReturn only primary implementing statutes (default: false)

No output schema declared.

No examples provided.

get_preparatory_works ~106

Get preparatory works (esityöt) for a Finnish statute. Returns linked government proposals (HE), committee reports, and related documents with summaries. Essential for understanding legislative intent behind statutory provisions. When NOT to use: If you need the statute text itself, use get_provision. Preparatory works explain legislative intent, not current law.

NameTypeReqDescription
document_idstringyesstatute number (e.g., "1050/2018" or "2018:218")

No output schema declared.

No examples provided.

get_provision ~268

Retrieve a specific provision from a Finnish statute. Specify the statute number and either chapter+section or provision_ref directly. Examples: - document_id="1050/2018", chapter="1", section="1" → 1 luku 1 § - document_id="1050/2018", provision_ref="1:1" → same result - document_id="434/2003", section="6" → 6 § (flat lookup) Omit chapter/section/provision_ref to get all provisions in the statute. When NOT to use: If you are searching by keyword and don't know the exact statute/provision, use search_legislation instead.

NameTypeReqDescription
as_of_datestringOptional historical date (YYYY-MM-DD). Returns the provision text valid on that date.
chapterstringChapter number (e.g., "3"). Omit for flat statutes.
document_idstringyesstatute number (e.g., "1050/2018" or "2018:218")
provision_refstringDirect provision reference (e.g., "3:5" for luku 3 § 5)
sectionstringSection number (e.g., "5", "5 a")

No output schema declared.

No examples provided.

get_provision_at_date ~258

Retrieve Finnish statute provision text as it read on a specific date (time-travel query). This tool enables historical legal research by showing how a provision was worded at any point in time, accounting for all amendments since original enactment. Use cases: - "What did Tietosuojalaki 1:3 say in 2019?" - "Show me Rikoslaki 3:1 before the 2019 amendment" - "Was this provision in force on 2020-06-15?" Supports: - Historical versions (any date in the past) - Current version (today's date) - Future provisions (enacted but not yet in force) Returns the complete provision text, validity dates, and optionally the amendment history showing what changed after the queried date.

NameTypeReqDescription
datestringyesISO date (YYYY-MM-DD) to query
include_amendmentsbooleanInclude amendment history after this date (default: false)
provision_refstringyesProvision reference (e.g., "1:3" or "5")
sfsstringyesStatute number (e.g., "1050/2018" for Tietosuojalaki)

No output schema declared.

No examples provided.

get_provision_eu_basis ~147

Get EU legal basis for a specific provision within a Finnish statute. Returns EU directives/regulations that a specific provision implements or references, with article-level precision. For example, DSL 2:1 references GDPR Article 6.1.c. Use this for pinpoint EU compliance checks at the provision level. When NOT to use: For statute-level EU references (not a specific provision), use get_eu_basis instead.

NameTypeReqDescription
provision_refstringyesProvision reference (e.g., "1:1" or "3:5")
sfs_numberstringyesstatute number (e.g., "1050/2018" or "2018:218")

No output schema declared.

No examples provided.

list_sources ~39

List all authoritative data sources used by this server, including provider, license, coverage, and freshness metadata. Call this to understand where the data comes from.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

search_case_law ~166

Search Finnish court decisions (oikeustapaukset). Searches case summaries and keywords. Filter by court (KKO, KHO, hovioikeus, etc.) and date range. When NOT to use: If you need statute text, use search_legislation. Case law searches only cover court decisions.

NameTypeReqDescription
courtstringFilter by court (e.g., "KKO", "KHO", "hovioikeus")
date_fromstringStart date filter (ISO 8601, e.g., "2020-01-01")
date_tostringEnd date filter (ISO 8601)
limitnumberMaximum results
querystringyesSearch query for case law summaries

No output schema declared.

No examples provided.

search_eu_implementations ~185

Search for EU directives and regulations with Finnish implementation information. Search by keyword, type, year range, or community. Returns matching EU documents with counts of Finnish statutes referencing them. Use this for exploratory searches like "data protection" or "privacy" to find relevant EU law. When NOT to use: If you already know the EU document ID, use get_finnish_implementations for direct lookup.

NameTypeReqDescription
communitystringFilter by community
has_finnish_implementationbooleanFilter by Finnish implementation existence
limitnumberMaximum results
querystringKeyword search (title, short name, CELEX, description)
typestringFilter by document type
year_fromnumberFilter by year (from)
year_tonumberFilter by year (to)

No output schema declared.

No examples provided.

search_legislation ~200

Search Finnish statutes and regulations by keyword. Searches provision text using FTS5 with BM25 ranking. Supports boolean operators (AND, OR, NOT), phrase search ("exact phrase"), and prefix matching (term*). Returns matched provisions with snippets, relevance scores, and document metadata. When NOT to use: If you already know the exact statute number and provision, use get_provision instead. If you need a comprehensive multi-source answer, use build_legal_stance.

NameTypeReqDescription
as_of_datestringOptional historical date filter (YYYY-MM-DD). Returns versions valid on that date.
document_idstringFilter to a specific statute by statute number (e.g., "1050/2018" or "2018:218")
limitnumberMaximum results
querystringyesSearch query in Finnish or English. Supports FTS5 syntax.
statusstringFilter by document status

No output schema declared.

No examples provided.

validate_citation ~186

Validate a Finnish legal citation against the database. Parses the citation, checks that the document and provision exist, and returns warnings about status (repealed, amended). This is the zero-hallucination enforcer. Supported formats: - "Laki 1050/2018 1 luku 1 §" - "1050/2018 1:1" - "SFS 2018:218 1 kap. 1 §" (legacy compatibility) - "Prop. 2017/18:105" - "SOU 2017:39" - "NJA 2020 s. 45" When NOT to use: If you want to format a citation string, use format_citation. This tool checks existence in the database.

NameTypeReqDescription
citationstringyesCitation string to validate

No output schema declared.

No examples provided.

validate_eu_compliance ~185

Validate EU compliance status for a Finnish statute or provision. Checks for: - References to repealed EU directives (e.g., Data Protection Directive 95/46/EC) - Missing implementation status - Outdated references Returns compliance status (compliant, partial, unclear, not_applicable) with warnings and recommendations. Note: This is Phase 1 validation. Full compliance checking against EU requirements will be added in future phases. When NOT to use: For basic EU reference lookup, use get_eu_basis. This tool assesses compliance status.

NameTypeReqDescription
eu_document_idstringOptional: check compliance with specific EU document
provision_refstringOptional provision reference (e.g., "1:1")
sfs_numberstringyesstatute number (e.g., "1050/2018" or "2018:218")

No output schema declared.

No examples provided.