mcpField
H
hu-eli-mcp

hu-eli-mcp

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

关于 hu-eli-mcp

hu-eli-mcp 是面向需要从 Nemzeti Jogszabalytar 官方数据库获取匈牙利法律的用户的 MCP 服务。它根据本地 ELI 标识符解析文件元数据和完整 HTML 正文,并提供链接到官方来源的引文。

主要功能

  1. 01按年份和编号获取法案元数据
  2. 02按类型及 ELI 字段获取其他法律
  3. 03获取文件完整 HTML 正文
  4. 04列出有效的文件类型和发布机构代码
  5. 05返回本地 ELI 和来源引文

适用场景

  1. 01按年份和编号获取已知匈牙利法案
  2. 02使用类型和发布机构代码定位法令
  3. 03获取法律文件的官方正文

MCP 相关

向 MCP 客户端提供使用已知 ELI 字段获取匈牙利法律元数据和全文的工具。它可列出文件类型及发布机构代码,但不支持自由文本搜索。

配置

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

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

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

安装包
pypihu-eli-mcp0.3.3

工具

6

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

参数类型必填说明
yearstring是4 位数的年份,例如 ``"2013"``。
serialstring是该法案在当年的序号,例如 ``"5"``(2013. evi V. torveny 是 2013 年第 5 号法案,即《匈牙利民法典》)。

详细介绍

hu-eli-mcp

一个用于匈牙利官方国家立法数据库 Nemzeti Jogszabalytar(NJT,njt.jog.gov.hu)的 MCP 服务,由 MKIFK 维护。它通过原生 ELI(欧洲立法标识符)解析一项匈牙利法律,并为 AI Agent 提供可验证的引用:ELI 本身、人类可读的引用,以及官方来源链接。

这是 MateMatic 推出的 eu-legal-mcp 系列的一部分——每个欧盟成员国一个连接器,引用格式在所有连接器中保持一致。

关于 ELI。 与荷兰和瑞典不同(它们是本系列较早的连接器,均未发布原生 ELI),匈牙利自 2023 年起已有真正且有文档记录的国家 ELI 实现(njt.jog.gov.hu/eli/urisemak)。因此,eli_uri 是工具解析出的真实 /eli/ URI,而非替代标识符。请参阅 DISCOVERY.md。

工具

工具功能
hu_get_act(year, serial)根据 ELI 获取匈牙利法律(torveny)的元数据,例如年份 2013、序号 5(《民法典》)。无需发行方代码。
hu_get_legislation(doc_type, year, issuer, serial)根据 ELI 获取其他任何法律文件(如法令)的元数据,包括类型、年份、发行方(区分大小写)和序号。
hu_get_text(doc_type, year, serial, issuer=None)获取法律或其他法律文件的完整 HTML 内容。
hu_list_doc_types()有效的 NJT 文件类型代码(例如,TV=法律,R=法令)。
hu_list_issuers()有效的 NJT 发行方代码(例如,Korm=政府)——请注意大小写必须完全一致。
hu_coverage()声明此连接器涵盖的内容、各类别的抓取时间,以及明确说明未涵盖的内容。每个缺口都提供备用方案。

每个响应都包含引用格式约定:

  • eli_uri — 解析出的原生 ELI URI,例如 https://njt.jog.gov.hu/eli/TV/2013/5。
  • human_readable_citation — 根据解析出的标题和副标题生成,例如 “2013. évi V. törvény (a Polgári Törvénykönyvről)”。
  • source_url — 可在浏览器中访问的 njt.jog.gov.hu/jogszabaly/... 文件页面。
不支持自由文本搜索

NJT 没有 REST/JSON API,其搜索和浏览界面是需要会话的 JavaScript 单页应用(SPA),无法在无头环境中使用。必须通过已知的 ELI指定文件——使用 hu_list_doc_types / hu_list_issuers 查找有效代码,然后调用 hu_get_act / hu_get_legislation。无法解析的 ELI(年份、序号或发行方错误,或发行方代码大小写错误)会返回 not_found——NJT 本身会将其重定向到搜索辅助页面,而不是返回 404。

安装

作为 Claude 插件安装(Claude Code 或桌面应用,需要 uv);有关其发送和存储的内容,请参阅 plugin/README.md:

/plugin marketplace add matematicsolutions/hu-eli-mcp
/plugin install hu-eli-mcp@hu-eli-mcp
pip install -e ".[dev]"

在 MCP 客户端中注册(参见 .mcp.json.example):

{
  "mcpServers": {
    "hu-eli-mcp": {
      "command": "hu-eli-mcp",
      "env": {
        "HU_ELI_BASE_URL": "https://njt.jog.gov.hu",
        "HU_ELI_CACHE_DIR": "~/.matematic/cache/hu-eli",
        "HU_ELI_AUDIT_DIR": "~/.matematic/audit"
      }
    }
  }
}
使用 Smart App Control 的 Windows 11

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

python -m pip install hu-eli-mcp
python -m hu_eli_mcp

出于相同原因,pip.exe 也会被阻止,因此请使用 python -m pip 安装,而不是使用 pip install。如果 python 不在 PATH 中,请使用 Windows 启动器:py -3 -m hu_eli_mcp。

{ "mcpServers": { "hu-eli-mcp": { "command": "python", "args": ["-m", "hu_eli_mcp"] } } }

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

设计

  • 仅限公开数据。 只读访问无需密钥的官方 njt.jog.gov.hu;除正在解析的 ELI 路径外,不会发送任何内容。遵守 robots.txt(绝不调用 /search/*)。
  • 审计日志。 每次调用都会向 ~/.matematic/audit/hu-eli-mcp.jsonl 追加一行 JSON(用于记录)。
  • 网络 - 服务会与上述官方来源及本地文件系统通信。首次使用时,还会从此仓库的 GitHub Releases 获取一个小型配置文件(hu-runtime.json.gz,用于更新来源地址)。该请求不包含任何查询内容;我们能看到的唯一使用情况信号,是 GitHub 对该文件的下载计数。设置 HU_ELI_RUNTIME_URL="" 可关闭此功能;Claude 插件默认关闭。没有大模型提供商,也没有其他遥测。自有退避机制和磁盘缓存。
  • 绝不捏造。 ELI、标题和引文均从解析后的文档页面提取。如果 NJT 的标记发生变化,连接器会明确报错,而不会返回过时或编造的数据。

参见 CONSTITUTION.md(4 项原则)和 DISCOVERY.md(来源映射方式,包括 njt.hu → njt.jog.gov.hu 的域名发现过程,以及签发方代码大小写问题)。

测试

pytest tests/test_instructions_drift.py   # offline
pytest tests/test_smoke.py                 # live NJT

许可证

Apache-2.0。提供的匈牙利法律是匈牙利官方公开数据;此连接器不对其主张任何额外权利。

评论

支持 Markdown

第一次接触 MCP?

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

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