Skip to main content
Glama
NectiaAutomation

finlex-mcp-server

README.md
# Finnish Legislation (Finlex) MCP

**Search and read Finnish law with your AI agent.** Find statutes by keyword and get them
as clean, structured text — title, sections (§), dates, and ELI — parsed from Finlex, the
official legal database of Finland's Ministry of Justice.

> Example: *"What does Finland's Data Protection Act say?"* → the agent searches Finlex,
> finds the Tietosuojalaki (2018/1050), and returns the parsed law.

This package is a lightweight, open **bridge** that connects any MCP client (Claude Desktop,
etc.) to the hosted, maintained Finlex MCP server on Apify. The bridge holds no data logic —
it forwards your requests to the hosted service, which does the real work (search + Akoma
Ntoso parsing) and meters usage to your own Apify account.

## Tools

| Tool | What it does |
|------|--------------|
| `search_statutes` | Keyword search over statute titles (returns a ready-to-use reference). |
| `get_statute` | One statute parsed into title, sections (§), dates and ELI (in-force version). |
| `list_statutes` | Browse recently issued statutes by year. |

Languages: Finnish (default) and Swedish. Legislation only (case law added when Finlex
publishes it as open data).

## Setup

### 1. Get access + an Apify API token

This bridge calls a **hosted, paid Actor** on Apify. You need your own Apify account and
API token:

1. Open the Actor on the Apify Store: **https://apify.com/nectia/finlex-mcp**
2. Subscribe / rent the Actor (billed per call — pay only for what you use).
3. Copy your token from **Apify Console → Settings → Integrations → API token**.

### 2. Add it to your MCP client

**Claude Desktop** (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "finlex": {
      "command": "npx",
      "args": ["-y", "finlex-mcp-server"],
      "env": {
        "APIFY_API_TOKEN": "PASTE_YOUR_APIFY_TOKEN_HERE"
      }
    }
  }
}
```

Restart your client. No build step, no other keys.

## How it works

```
Your MCP client  ──stdio──►  finlex-mcp-server (this bridge)  ──HTTPS──►  Hosted Actor on Apify  ──►  Finlex API
```

The bridge authenticates to the hosted Actor with your `APIFY_API_TOKEN` and transparently
proxies the tools. Your token stays on your machine; Apify meters the calls to your account.

## Data & attribution

Data © Ministry of Justice / Finlex, licensed CC BY 4.0. This project is not affiliated with
or endorsed by Finlex or the Ministry of Justice.

## License

MIT © Nectia Automation. The bridge code is open source; the hosted Actor is a commercial
service.