德国法律信息查询服务

提供对德国联邦法律信息门户的访问,使AI代理能够回答德国法律问题并提供权威、基于事实的答案。

  • by wolfgangihloff
  • JavaScript
  • 本地部署
  • 23 星标
  • 更新于
在 GitHub 查看 wolfgangihloff/rechtsinformationen-bund-de-mcp

使用说明

法律信息 Bund DE MCP Server

MCP(模型上下文协议)服务器,提供对德国联邦法律信息门户网站(rechtinformationen.bund.de)的访问。 任何人工智能代理都可以使用此服务器解决德国法律问题 提供权威的、基于事实的答案,并从官方来源提供适当的法律引用。

🚀 快速设置

最快的入门方法:

  1. 运行安装脚本:
./quick-setup.sh
  1. 完全重新启动克劳德桌面 (或您的MCP客户)

  2. 测试: “我可以休育儿假多久?”

🎯 此服务器提供什么

AI代理将自动使用此MCP服务器:

  • 德国法律问题 (“如果我错过了就业中心的预约怎么办?”)
  • 法定权利和义务 (“我可以休多长时间的育儿假?”)
  • 法院判决和判例 (“BGH最近关于商标法的决定”)
  • 特定法律查询 (“SGB II第32条怎么说?”)
  • 行政法问题 (“我什么时候需要在行政诉讼中举行听证会?”)

目的: 确保所有德国法律答案都以官方来源为基础,并附有适当的引用。

✨ 特征

核心能力

  • 全文搜索 德国联邦法律和立法
  • 判例法检索 通过德国联邦法院的判决(BGH、BVerfG、BAG、BFH、BSG、BVerwG)
  • 智能搜索 英语到德语的翻译和误解纠正
  • 德语复合词分解 (例如,“提高租金” → “提高租金”)
  • 用户的HTML URL (可点击、可读的文档)
  • 模型无关 -与Claude、Qwen、DeepSeek、LLaMA和其他模型配合使用

最近的改进(2025-10-06)

✅ HTML URL:返回人性化的web链接,而不仅仅是JSON API URL ✅ 复合词处理:分解德语复合词以更好地搜索 ✅ 后备搜索:有效查询从不返回零结果 ✅ 英语翻译:自动将英语法律术语翻译成德语 ✅ 类型强制转换:适用于传递字符串而不是数字的模型

📚 可用工具

服务器提供 6个专用工具 使用智能路由:

1. 🧠 语义搜索(Primary Tool)

智能法律搜索 -对于任何德国法律问题,请先使用此选项

它自动执行的操作:

  • ✓ 翻译英语→ 德语(“员工权利”)→ “Arbeitnehmerrechte”)
  • ✓ Corrects misconceptions(“反对意见”)
  • ✓ 提取法律参考(§模式)
  • ✓ 搜索多个相关术语
  • ✓ 返回立法和判例法

它没有做什么:

  • ✗ 不生成语义相似的术语(代理必须提供变体)
  • ✗ 不自动尝试多个查询短语
  • ✗ 不使用ML嵌入(使用关键字匹配+Fuse.js模糊搜索)

参数:

  • query (必填):德语或英语搜索查询
  • threshold (可选):模糊匹配阈值0.0-1.0(默认值:0.3)
  • limit (可选):最大结果(默认值:10,最大值:100)

返回的URL:

🌐 READ ONLINE (HTML): https://testphase.rechtsinformationen.bund.de/.../regelungstext-1.html
📊 API ACCESS (JSON): https://testphase.rechtsinformationen.bund.de/v1/legislation/...

2. 🇩🇪 二级工具(Secondary Tool)

搜索德国联邦立法(法律、条例)

何时使用:

  • Semantische_rechtssuche后的后续行动
  • 只需要立法结果
  • 搜索特定的法律缩写(BEEG、BGB、SGB)

限制: ⚠️ 日期筛选器可能会排除相关结果

3. ⚖️ 二级工具(Secondary Tool)

搜索德国法院判决

何时使用:

  • Semantische_rechtssuche后的后续行动
  • 需要法院特定的过滤
  • 搜索特定法官或案件类型

普通法院:

  • 联邦法院
  • BVerfG(宪法法院)
  • BAG(联邦劳工法院)
  • 联邦财政法院
  • BSG(联邦社会法院)
  • 联邦行政法院

4. 🔍 查找所有法律文件(二级工具)

跨所有文档类型的全面搜索

何时使用:

  • 其他专用工具之后
  • 需要混合结果(立法+判例法)
  • 广泛的主题探索

5. 📄 获取文件详情(RETRIEVAL TOOL)

获取特定文档的全文

何时使用:

  • 在搜索结果中找到文档后
  • 需要完整的文档文本(搜索仅返回片段)
  • 需要HTML或XML格式

6. 🏛️ law_per_eli_retrieve (撤回工具)

通过ELI标识符获取立法

何时使用:

  • 从搜索结果中获取特定的ELI
  • 需要确切的立法版本/日期

🤖 模型兼容性

测试和工作

  • ✅ 克劳德3.5十四行诗 -优秀的工具选择,恰当的引用
  • ✅ Qwen 2.5-72B -最佳开源选项,良好的德国支持
  • ✅ DeepSeek-R1 -推理能力强,需要递归限制
  • ✅ LLaMA 3.3-70B -可靠,适合直接查询
  • ✅ GLM-4.6 -使用类型强制修复

推荐的代理配置(LibreChat)

为了获得任何模型的最佳效果:

{
  "name": "German Legal Research Assistant",
  "description": "Searches official German legal database",
  "model": "qwen2.5:72b",
  "tools": [
    "mcp__rechtsinformationen__semantische_rechtssuche",
    "mcp__rechtsinformationen__deutsche_gesetze_suchen",
    "mcp__rechtsinformationen__rechtsprechung_suchen"
  ],
  "recursionLimit": 5,
  "temperature": 0.3,
  "instructions": "CRITICAL: Always use semantische_rechtssuche FIRST. If search returns results, STOP immediately and generate answer. Maximum 2-3 tool calls total. MUST include ALL URLs in 'Quellen:' or 'Sources:' section."
}

关键设置:

  • recursionLimit: 5 -防止无休止的搜索
  • temperature: 0.3 -法律查询更具确定性
  • 停止条件-找到结果后立即生成答案

📦 安装

快速设置

git clone <repo-url>
cd rechtsinformationen
./quick-setup.sh

手动安装

npm install
npm run build
npm test  # Should show passing tests

Claude桌面配置

macOS: 编辑 ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "rechtsinformationen": {
      "command": "node",
      "args": ["/absolute/path/to/rechtsinformationen/dist/index.js"]
    }
  }
}

窗户: 编辑 %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "rechtsinformationen": {
      "command": "node",
      "args": ["C:\\absolute\\path\\to\\rechtsinformationen\\dist\\index.js"]
    }
  }
}

重要提示:

  • 使用绝对路径(而不是相对路径) ./dist/index.js)
  • 配置更改后完全重新启动Claude Desktop
  • 跑 npm run check-config 验证设置

LibreChat代理配置

为了获得LibreChat和Ollama型号(Qwen、DeepSeek、LLaMA)的最佳性能:

{
  "name": "German Legal Research Assistant",
  "model": "qwen2.5:72b",
  "provider": "ollama",
  "recursionLimit": 5,
  "temperature": 0.3,
  "instructions": "CRITICAL RULES:\n- MAXIMUM 2-3 tool calls per query\n- STOP searching after finding 3+ relevant documents\n- ALWAYS include URLs in 'Quellen' section\n- Use semantische_rechtssuche first\n\nCitation Format (MANDATORY):\n## Quellen\n1. [Law name] - [URL]\n2. [Law name] - [URL]",
  "tools": [
    "semantische_rechtssuche_mcp_rechtsinformationen",
    "deutsche_gesetze_suchen_mcp_rechtsinformationen",
    "rechtsprechung_suchen_mcp_rechtsinformationen"
  ]
}

关键设置:

  • 递归限制:5 -防止无休止的搜索(某些型号的典型问题)
  • 温度:0.3 -法律研究的准确性高于创造性
  • 停止指令 -强制代理在找到结果后合成答案
  • 引文要求 -响应中必须包含URL

看 LIBRECHAT_AGENT_CONFIG.md 有关完整的配置详细信息。

🧪 测试与评估

运行测试

# Run golden test cases
npm test

# Test API connectivity
npm run test:api

# Verify complete setup
npm run verify

代理评估

要评估不同模型的代理性能:

# Analyze LibreChat conversation exports
node tests/eval-simple.js tests/your-conversation.json

跟踪的指标:

  • 工具调用效率(目标:≤3次调用)
  • 文件准确性(发现正确的ECLI/ELI)
  • 引文完整性(来源中的URL)
  • 递归安全(无限制点击)
  • 答案质量(综合+引用)

看 代理_价值_ GIDE.md 详细的评估框架。

🔧 故障排除

常见问题

1.没有搜索结果

# Test API connectivity
npm run test:api

# Check if you have internet connection
curl https://testphase.rechtsinformationen.bund.de/v1/legislation

2.服务器无法启动

# Check Node.js version (needs v18+)
node --version

# Rebuild
npm install && npm run build

3.递归限制命中

症状: Agent不间断地进行10多次工具调用

解决方案:

  • 集 recursionLimit: 5 在代理配置中
  • 添加明确的STOP指令
  • 使用语义搜索作为主要工具

4.输出中缺少引用

症状: 尽管MCP响应包含URL,但代理不包含URL

解决方案:

  • 这是一个模型行为问题,而不是服务器问题
  • 加强说明:“必须包括所有网址”
  • 考虑使用专用引用代理的代理架构

5.架构验证错误

症状: “收到的工具输入与预期架构不匹配”

解决方案: ✅ 已修复-服务器现在处理字符串→数字类型强制

📖 使用示例

简单查询

User: "Wie lange kann ich in Elternzeit gehen?"

Agent: Uses semantische_rechtssuche("Elternzeit Dauer")
→ Finds BEEG § 15
→ Answer: Up to 3 years per child

Sources:
1. https://testphase.rechtsinformationen.bund.de/.../regelungstext-1.html

复合词查询

User: "Was passiert bei einem Mieterhöhungsantrag?"

Agent: Uses semantische_rechtssuche("Mieterhöhungsantrag")
→ Decomposes to "Mieterhöhung"
→ Finds § 558 BGB
→ Answer: Rent increase procedures

Sources:
1. https://testphase.rechtsinformationen.bund.de/.../regelungstext-1.html

英语查询

User: "What are employee rights during company restructuring?"

Agent: Uses semantische_rechtssuche(translates to "Arbeitnehmerrechte Betriebsumstrukturierung")
→ Finds KSchG, BetrVG
→ Answer: Dismissal protection and works council participation

Sources:
1. https://testphase.rechtsinformationen.bund.de/.../regelungstext-1.html

🏗️ 建筑

运作原理

User Query
    ↓
AI Agent (Claude/Qwen/etc)
    ↓
MCP Server (this project)
    ↓
rechtsinformationen.bund.de API
    ↓
German Federal Legal Database

沟通: 本地stdio(无HTTP端口) 数据流: 针对每个查询的实时API调用 网址: 返回HTML(用户)和JSON(开发人员)

智能搜索功能

1.英文翻译

"employee rights" → "Arbeitnehmerrechte"
"data protection" → "Datenschutz"
"dismissal" → "Kündigung"

2.误解纠正

"Überprüfungsantrag" → ["Widerspruch", "Rücknahme", "Widerruf"]
"§ 535 BGB Mieterhöhung" → "§ 558 BGB" (correct law)

3.复合词分解

"Mieterhöhungsantrag" → "Mieterhöhung" (309 results)
"Kündigungsschutzantrag" → "Kündigungsschutz"
"Sozialhilfeantrag" → "Sozialhilfe"

4.法律参考资料提取

Detects: § 44 SGB X, Art. 3 GG, § 558 Abs. 2 BGB
Validates: Law abbreviations (BEEG, BGB, SGB, etc.)

📊 API来源

基本URL: https://testphase.rechtsinformationen.bund.de/v1 文档: https://docs.rechtsinformationen.bund.de 标准: ELI(欧洲立法标识符)、ECLI(欧洲判例法标识符) 状态: 试用服务-可能会有所变化

新闻报道:

  • ✅ 现行联邦立法
  • ✅ 联邦法院判决(2010-2024)
  • ✅ 法律的历史版本
  • ⚠️ 修订法律(部分覆盖)
  • ❌ 立法材料(不含)

⚠️ 已知限制

1.日期筛选问题

问题: 当一年颁布的法律在另一年生效时,时间过滤器可能会排除相关结果。

例子: 使用日期过滤器2021搜索“§44 SGB XÄnderung 2021”时,未找到7。SGB-IV-从2020年6月起生效(2021年1月1日生效)。

解决方法: 无日期过滤器搜索,手动查看生效日期。

2.修正案发现

问题: 修正案的索引很差,可能无法显示它们修改了哪些段落。

解决方法:

  • 搜索“BGBl[年份]”以查找《联邦法律公报》条目
  • 查找“Artikelgesetz”或修正案名称
  • 搜索生效日期,如“2021-01-01 Inkraftreten”

3.历史版本

问题: 只有当前版本可以通过ELI标识符轻松访问。

解决方法: 搜索《联邦法律公报》参考文献以了解具体日期。

4.模型行为

未出现的引文: 尽管MCP回应中有明确的指导,但一些模型忽略了引用说明。这是一个模型限制,而不是服务器问题。

解决方案: 使用具有明确引用要求的代理配置或考虑多代理架构。

🚀 最近修复(2025-10-06)

主要改进

✅ 用户的HTML URL

  • 返回可点击的HTML链接,而不是JSON API URL
  • 用户现在可以在浏览器中阅读法律
  • 提供HTML和JSON URL

✅ 德语复合词处理

  • Decomposes “提高租金申请” → “提高租金”
  • Removes suffixes: -请求,程序,诉讼,法律,法规
  • 常见法律术语的特殊处理

✅ 后备搜索

  • 有效查询从不返回零结果
  • 如果未找到法律参考,则使用原始查询进行搜索
  • 未找到任何内容时提供有用的建议

✅ 类型强制

  • 处理传递“10”(字符串)而不是10(数字)的模型
  • 模式验证现在适用于GLM-4.6和类似的模型

✅ 模型不可知说明

  • 删除了Claude特定语言
  • 适用于任何AI模型
  • 明确的指令

📝 发展

构建命令

npm run build       # Compile TypeScript
npm run dev         # Development mode with tsx
npm start           # Run production build
npm test            # Run test suite

助手命令

npm run claude-config  # Generate config for Claude Desktop
npm run check-config   # Show config file path
npm run verify         # Complete verification
npm run setup          # Install + build + test

项目结构

src/
├── index.ts                 # Main MCP server
tests/
├── golden_case_tests.json   # Test cases
├── test-golden.js           # Test runner
├── eval-simple.js           # Agent evaluation
debug/
├── test-*.js                # API debugging tools

🌟 使用此MCP构建

此服务器支持的现实世界工具和技能:

项目 描述
德语-recht-mit-claude 克劳德代码在引用之前获取实时法定文本的技能——防止产生幻觉或转述法律引用。作为a建造 /widerruf Widerrufsrecht检查员和一般法律研究技能。

关于数据完整性的说明: 相对于gesetze-im-internet.de,此API的Neuris数据集尚不完整。对于生产用例,请考虑验证覆盖范围并返回 法律-在-internet.de 在需要的地方。

用这个MCP做了什么?打开一个PR添加到这里。

🤝 贡献

欢迎投稿!需要改进的地方:

  1. 更多复合词模式 -展开德语单词分解
  2. 更好的概念映射 -添加常见的法律误解
  3. 英语翻译覆盖范围 -更多法律术语翻译
  4. 历史版本访问 -更好地处理法律修正案
  5. 文献检索 -添加 /v1/literature 端点支持

📄 许可证

麻省理工学院

🔗 相关文档


最后更新时间: 2025-10-06 版本: 1.1.0 状态: API测试阶段生产就绪