lu_law_search

Pack: luxembourg-law · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/lu_law_search for the schema, then POST the same URL with its arguments for the data.

Search Luxembourg national legislation (Legilux, Service central de legislation) by words from the French title, e.g. “protection des donnees” or “Commission nationale pour la protection”. By default only laws (loi) and grand-ducal regulations (rgd) in force are returned; type picks another kind (agd grand-ducal decree, amin ministerial decree, rmin ministerial regulation, or “all”), and in_force_only=false adds repealed acts. Returns id (usable in lu_law_get), title, type, date, entry-into-force date, status, Memorial A number and year, whether a consolidated version exists, and a link; 25 per page, newest first, use page to continue. Titles are in French; use that language for the search. National law only, no EU law.

Parameters

NameTypeRequiredDescription
querystringyesWord(s) from the French title, all must match, e.g. “protection des donnees”
typestringnoKind of act: loi, rgd (default: both loi and rgd), agd, argd, amin, rmin, or all
in_force_onlybooleannoOnly acts in force today (default true)
pagenumbernoPage number, 1-based (default 1)

Example call

Arguments

{
  "query": "protection des données"
}

curl

curl -X POST https://gateway.pipeworx.io/luxembourg-law/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"lu_law_search","arguments":{"query":"protection des données"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('lu_law_search', {
  "query": "protection des données"
});

Response shape

FieldTypeDescription
querystring | null
typestring | null
in_force_onlyboolean | null
pagenumber | null
countnumber | null
resultsarray | null
next_pagenumber | null
sourcestring | null
data_as_ofstring | null
empty_reasonstring | null
Full JSON Schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": [
        "string",
        "null"
      ]
    },
    "type": {
      "type": [
        "string",
        "null"
      ]
    },
    "in_force_only": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "page": {
      "type": [
        "number",
        "null"
      ]
    },
    "count": {
      "type": [
        "number",
        "null"
      ]
    },
    "results": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "in_force_from": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "gazette": {
            "type": [
              "string",
              "null"
            ]
          },
          "has_consolidated_text": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "next_page": {
      "type": [
        "number",
        "null"
      ]
    },
    "source": {
      "type": [
        "string",
        "null"
      ]
    },
    "data_as_of": {
      "type": [
        "string",
        "null"
      ]
    },
    "empty_reason": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "additionalProperties": true
}

Connect

Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://pipeworx.io/mcp"
    }
  }
}
Connect to just the luxembourg-law pack
{
  "mcpServers": {
    "luxembourg-law": {
      "url": "https://gateway.pipeworx.io/luxembourg-law/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build November 15, 2026