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
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Word(s) from the French title, all must match, e.g. “protection des donnees” |
type | string | no | Kind of act: loi, rgd (default: both loi and rgd), agd, argd, amin, rmin, or all |
in_force_only | boolean | no | Only acts in force today (default true) |
page | number | no | Page 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
| Field | Type | Description |
|---|---|---|
query | string | null | |
type | string | null | |
in_force_only | boolean | null | |
page | number | null | |
count | number | null | |
results | array | null | |
next_page | number | null | |
source | string | null | |
data_as_of | string | null | |
empty_reason | string | 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.