Skip to main content
Glama
kheidkamp

legal-research-mcp

by kheidkamp

法律研究 MCP 0.2-dev - 免渲染

面向计划中的 legal-tax-de v2.3.0 研究层的即用型只读研究 MCP。

0.2-dev 新增内容

0.2-dev 保留了保守的 0.1 修订历史契约,并新增了一项针对性检索能力:

  • get_official_document_text:从严格 HTTPS 主机白名单中打开已识别的德国官方 PDF/HTML 文档,搜索定位符/查询条件,并返回带内容哈希的页面感知证据。

这弥补了 Copilot Studio 中观察到的 D1 缺口:智能体能够识别 Bundesrat-Drucksache 5/26,但无法打开 Art. 30 Nr. 1 来验证具体的修订命令。

Related MCP server: de-eli-mcp

工具

search_primary_sources

对小型已验证法规库(KStG、EStG、AO、GewStG)进行受控发现。仅发现。

get_norm

从 gesetze-im-internet.de 检索当前官方合并版本条文,并返回结构/证据元数据。

trace_norm_amendments

安全的修订历史连通性实现。可能暴露整部法规的修订标题作为发现线索,但在条文级链式解析器实现之前,刻意保持 部分/未知 状态。

get_official_document_text

打开已识别的官方文档并提取精确段落。

接受的输入:

  • url 或 document_id 之一;

  • locator 和/或 query;

  • 可选 max_passages 和 context_chars。

支持的文档 ID 快捷方式:

  • BR-Drs. 5/26 -> 联邦参议院文件服务器 PDF;

  • BT-Drs. 21/3343 -> 联邦议院文件服务器 PDF;

  • BGBl. 2026 I Nr. 33 -> 官方 recht.bund.de 公布页面。

示例修订验证目标:

get_official_document_text(
  document_id="BR-Drs. 5/26",
  locator="Artikel 30",
  query="§ 8b Absatz 6 Satz 2"
)

成功的规范化查询匹配返回 coverage_status=complete 和 full_checked 段落证据。仅定位符的结果属于导航证据,不得视为所请求修订措辞的证明。

SSRF / 下载安全

get_official_document_text 受到刻意约束:

  • 仅 HTTPS;

  • 精确官方主机白名单;

  • 每个重定向跳转均重新验证;

  • 拒绝凭据和非标准端口;

  • 下载大小上限为 20 MB;

  • 仅 PDF 文本提取,不执行 JavaScript/浏览器;

  • 仅只读请求。

当前白名单家族包括官方联邦参议院/联邦议院文件服务器、recht.bund.de、gesetze-im-internet.de、联邦参议院/联邦议院网站主机以及联邦财政部网站。

Render 部署

使用随附的 render.yaml 蓝图。服务保持如下配置:

  • Web 服务;

  • Docker 运行时;

  • 免费套餐;

  • 法兰克福区域;

  • /health 健康检查;

  • 动态绑定 Render 的 PORT;

  • MCP 端点为 /mcp;

  • 从 RENDER_EXTERNAL_HOSTNAME 显式进行主机白名单。

详细步骤:docs/render-free-deploy.md。

本地设置

python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
python -m pytest -q
uvicorn app:app --reload --port 8080

本地端点:

  • 健康检查:http://localhost:8080/health

  • MCP:http://localhost:8080/mcp

尚未实现

  • 历史法规版本解析器;

  • 完整的条文级修订链解析器;

  • 自动发现每份联邦法律公报/联邦参议院/联邦议院文档;

  • 判例法检索;

  • 全面的联邦财政部指导检索;

  • 生产环境认证。

开发环境安全边界

Render 免费部署在开发测试中刻意保持无认证状态。请勿发布 Copilot 智能体,且不要通过该端点发送机密客户/案件事实。

免费 Render Web 服务可能因不活动而休眠,并非生产目标。

0.1 -> 0.2 升级

  1. 用此包替换仓库文件,并提交/推送到 Render 部署的分支。

  2. 等待 Render 部署变为 Live。

  3. 验证 /health 返回版本 0.2.0-dev。

  4. 在 Copilot Studio 中,打开现有的 Legal Research DE MCP 服务器配置,并验证 get_official_document_text 已暴露/启用。

  5. 运行 D1 修订检索测试并检查 Activity Trace。

详细的升级/测试顺序请参阅 docs/render-free-deploy.md。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for accessing and searching German federal law documents from gesetze-im-internet.de. Provides tools to retrieve specific paragraphs, perform full-text searches, and list available laws.
    10
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Searches and retrieves German federal legislation from NeuRIS, the official legal information portal, providing verifiable ELI identifiers and German citations.
    15
    248 PyPI
    4
    Apache 2.0
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides LLM-friendly access to German federal legislation via the NeuRIS API, enabling tool-based retrieval of laws, norms, and statutory text.
    18 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only access to current German federal law, supporting legislation search, provision retrieval, and citation handling.
    Apache 2.0