关于 hu-eli-mcp
hu-eli-mcp 是面向需要从 Nemzeti Jogszabalytar 官方数据库获取匈牙利法律的用户的 MCP 服务。它根据本地 ELI 标识符解析文件元数据和完整 HTML 正文,并提供链接到官方来源的引文。
主要功能
- 01按年份和编号获取法案元数据
- 02按类型及 ELI 字段获取其他法律
- 03获取文件完整 HTML 正文
- 04列出有效的文件类型和发布机构代码
- 05返回本地 ELI 和来源引文
适用场景
- 01按年份和编号获取已知匈牙利法案
- 02使用类型和发布机构代码定位法令
- 03获取法律文件的官方正文
MCP 相关
向 MCP 客户端提供使用已知 ELI 字段获取匈牙利法律元数据和全文的工具。它可列出文件类型及发布机构代码,但不支持自由文本搜索。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| year | string | 是 | 4 位数的年份,例如 ``"2013"``。 |
| serial | string | 是 | 该法案在当年的序号,例如 ``"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。提供的匈牙利法律是匈牙利官方公开数据;此连接器不对其主张任何额外权利。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。