mcpField
L
lu-eli-mcp

lu-eli-mcp

本地服务
github.com/matematicsolutions法律与政务15 周前更新

关于 lu-eli-mcp

lu-eli-mcp 是通过 Legilux 开放数据检索卢森堡法律的 MCP 服务。它返回基于 ELI 的元数据和 Akoma Ntoso 正文,并提供可解析的引文;但不支持全文搜索。

主要功能

  1. 01按 ELI 获取法律元数据
  2. 02获取现有语言的法律正文
  3. 03返回 Akoma Ntoso XML
  4. 04追踪引用及修订关系
  5. 05声明覆盖范围与缺口

适用场景

  1. 01查看法律日期及生效状态
  2. 02获取指定语言的法律正文
  3. 03追踪被引用、修订或废止的法律

MCP 相关

它向 MCP 客户端提供只读的 Legilux 法律元数据和正文检索。响应包含原生 ELI 标识符、易读引文和来源 URL。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"matematicsolutions-lu-eli": {
"command": "uvx",
"args": [
"lu-eli-mcp"
]
}
}
}
启动命令uvx lu-eli-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypilu-eli-mcp0.3.3

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
elistring是Legilux ELI——完整 URI 或不带前缀的路径(例如 ``eli/etat/leg/loi/2018/08/01/a686/jo``)。

详细介绍

lu-eli-mcp

安装(一条命令)

已发布到 PyPI 和 MCP Registry(io.github.matematicsolutions/lu-eli-mcp)。无需克隆即可运行:

uvx lu-eli-mcp

配置 MCP 客户端(stdio):

{ "mcpServers": { "lu-eli-mcp": { "command": "uvx", "args": ["lu-eli-mcp"] } } }
在启用 Smart App Control 的 Windows 11 上

Smart App Control 会阻止未签名的可执行文件,包括 uvx.exe、pip.exe 以及安装时由 pip 写入的 lu-eli-mcp.exe 启动器。python.org 安装程序提供的 python.exe 和 py.exe 经 Python Software Foundation 签名,因此通过解释器运行模块即可:

python -m pip install lu-eli-mcp
python -m lu_eli_mcp

pip.exe 也会因此被阻止,所以请使用 python -m pip 安装,而不要使用 pip install。如果 python 不在 PATH 中,请使用 Windows 启动器:py -3 -m lu_eli_mcp。

{ "mcpServers": { "lu-eli-mcp": { "command": "python", "args": ["-m", "lu_eli_mcp"] } } }

不要为了绕过此问题而关闭 Smart App Control——若不重新安装 Windows,便无法重新启用它。

从源代码构建:请参阅安装。

一个通过 Legilux 开放数据 (data.legilux.public.lu)查询卢森堡法律的 MCP 服务。它会获取法案元数据和完整的 Akoma Ntoso 文本,并提供可验证的引用。它是 MateMatic 推出的国家法律连接器系列 eu-legal-mcp 的一部分。

Legilux 真正原生支持 ELI:每项法案都通过其 ELI 定位,并以 jolux RDF 格式基于 FRBR 模型(Work / Expression / Manifestation)描述,全文则以 Akoma Ntoso XML 提供。每个响应都包含原生的 eli_uri、human_readable_citation 和可解析的 source_url。

只读。 此服务只查询 Legilux 并写入本地审计日志,绝不会修改官方文本。

工具

工具功能
lu_get_act(eli)根据法案的 ELI 获取元数据(完整 URI 或不带前缀的 eli/... 路径)。返回原生 eli_uri、标题、日期、生效状态、可用语言/版本,以及该法案的 cites/modifies/repeals 链接。
lu_get_text(eli, language, file_format)获取指定 language(默认为 fr)和 file_format(默认为 xml,即 Akoma Ntoso)的逐字文本。
lu_coverage()声明此连接器覆盖的内容、每类内容的采集时间,以及明确说明未覆盖的内容。每项未覆盖内容都附有备用方案。

不支持自由文本搜索:Legilux 未提供 HTTP 搜索端点。请通过 ELI 坐标(来自 legilux.public.lu)查找法案,或沿着 lu_get_act 返回的 cites/modifies/repeals ELI 查找。卢森堡使用多种语言,因此标题和文本可能为法语或德语;languages 字段会显示某项法案提供了哪些语言。

配置

Legilux 无需密钥。配置为可选项:

变量含义
LU_ELI_BASE_URLLegilux 数据主机(默认为 https://data.legilux.public.lu)。
LU_ELI_CACHE_DIR磁盘缓存目录(默认为 ~/.matematic/cache/lu-eli)。
LU_ELI_AUDIT_DIR审计日志目录(默认为 ~/.matematic/audit)。

将 .mcp.json.example 复制到 MCP 客户端配置中。

安装

py -3.13 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"   # Windows
# or: python -m pip install -e ".[dev]"                  # POSIX

测试

pytest tests/test_instructions_drift.py tests/test_parse.py   # offline
pytest tests/test_smoke.py -v                                 # live, hits Legilux

许可证

Apache-2.0。Legilux 内容版权归卢森堡大公国所有;本软件仅负责检索和引用这些内容。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。