德国联邦法律信息 MCP 服务器
一个MCP(模型上下文协议)服务器,提供访问德国联邦官方法律信息门户(rechtsinformationen.bund.de)的服务。 任何人工智能代理都可以使用此服务器来解答德国法律相关问题 提供权威、基于事实的答案,并附上来自官方来源的恰当法律引用。
🚀 快速设置
开始的最快方式:
- 运行安装脚本:
./quick-setup.sh- 完全重启Claude桌面版 (或您的MCP客户端)
- 使用以下进行测试: “我休育儿假可以休多久?”
🎯 本服务器提供的内容
AI代理将自动使用此MCP服务器进行:
- 德国法律问题 (“如果我错过了就业中心的预约会怎么样?”)
- 法律权利和义务 (“我可以休多久的陪产假/育儿假?”)
- 法院裁决和先例 (“德国联邦最高法院最近关于商标法的裁决”)
- 特定法律查询 (“《社会法典》第二部第32条是怎么规定的?”)
- 行政法问题 (“在行政诉讼中,我什么时候需要进行听证?”)
目的: 确保所有关于德国法律的回答均基于官方来源,并附有适当的引用。
✨ 特点
核心能力
- 全文搜索 跨越德国联邦法律和法规
- 案例法检索 通过德国联邦法院的判决(联邦最高法院BGH、联邦宪法法院BVerfG、联邦劳动法院BAG、联邦财政法院BFH、联邦社会法院BSG、联邦行政法院BVerwG)
- 智能搜索 提供英语到德语的翻译及误解纠正服务
- 德语复合词分解 (例如,“Mieterhönungsantrag” → “Mieterhöhung”)
- 用户使用的HTML网址 (可点击、可阅读的文档)
- 模型无关的 - 与Claude、Qwen、DeepSeek、LLaMA等模型兼容
最近的改进(2025年10月6日)
✅ HTML URL(统一资源定位符)返回人类可读的网页链接,而不仅仅是JSON API URL ✅ 复合词处理分解德语复合词以提高搜索效果 ✅ 备用搜索对于有效查询,从不返回零结果 ✅(对号,表示正确、确认或完成) 英文翻译自动将英文法律术语翻译成德文 ✅ 类型强制转换适用于传递字符串而非数字的模型
📚 可用工具
服务器提供 6种专业工具 带有智能路由功能:
1. 🧠 语义法律搜索(主要工具)
智能法律搜索 - 首先使用这个来解答任何德国法律问题
它自动执行的功能:
- ✓ 将英文翻译成德文(“employee rights” → “Arbeitnehmerrechte”)
- ✓ 纠正误解(“Überprüfungsantrag” → “Widerspruch”)
- ✓ 提取法律引用(§模式)
- ✓ 搜索多个相关术语
- ✓ 同时返回立法和判例法
它不做以下事情:
- ✗ 不生成语义相似的术语(代理必须提供变体)
- ✗ 不会自动尝试多种查询短语
- ✗ 不使用机器学习嵌入(使用关键词匹配 + Fuse.js 模糊搜索)
参数:
query(必填):德语或英语搜索查询threshold(可选):模糊匹配阈值 0.0-1.0(默认:0.3)limit(可选):最大结果数(默认:10,最大:100)
返回的URLs:
🌐 READ ONLINE (HTML): https://testphase.rechtsinformationen.bund.de/.../regelungstext-1.html
📊 API ACCESS (JSON): https://testphase.rechtsinformationen.bund.de/v1/legislation/...2. 🇩🇪 搜索德国法律(辅助工具)
搜索德国联邦法规(法律、条例)
使用时机:
- 语义法律搜索后的跟进
- 仅需立法结果
- 寻找特定法律缩写(BEEG、BGB、SGB)
局限性: ⚠️ 日期过滤器可能会排除相关结果
3. ⚖️ 寻找判例法(辅助工具)
搜索德国法院判决
使用时机:
- 语义法律搜索后的跟进
- 需要针对特定法院进行过滤
- 寻找特定的法官或案件类型
普通法院:
- 联邦最高法院(BGH,Bundesgerichtshof)
- BVerfG(宪法法院)
- 联邦劳工法院(BAG)
- BFH(联邦财政法院)
- BSG(联邦社会法院)
- BVerwG(联邦行政法院)
4. 🔍 搜索所有法律文件(辅助工具)
在所有文档类型中进行全面搜索
使用时机:
- 在其他专用工具之后
- 需要混合结果(立法+判例法)
- 广泛的主题探索
5. 📄 获取文档详情(检索工具)
获取特定文档的全文
使用时机:
- 在搜索结果中找到文档后
- 需要完整的文档文本(搜索仅返回片段)
- 想要HTML或XML格式
6. 🏛️ 从eli获取法律(RETRIEVAL TOOL,检索工具)
通过ELI标识符获取法规
使用时机:
- 从搜索结果中获得具体的ELI(教育水平指数/教育成果指标,具体含义需根据上下文确定)
- 需要立法的确切版本/日期
🤖 模型兼容性
已测试且运行正常
- ✅ Claude 3.5 Sonnet(中文可译为“克劳德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
cd rechtsinformationen
./quick-setup.sh手动安装
npm install
npm run build
npm test # Should show passing testsClaude 桌面配置
macOS: 编辑 ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"rechtsinformationen": {
"command": "node",
"args": ["/absolute/path/to/rechtsinformationen/dist/index.js"]
}
}
}Windows: 编辑 %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"rechtsinformationen": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\rechtsinformationen\\dist\\index.js"]
}
}
}重要提示:
- 使用绝对路径(而非相对路径,如
./dist/index.js) - 配置更改后,完全重启Claude桌面版
- 跑
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(文件名可译为“LibreChat代理配置文件”) 以获取完整的配置详情。
🧪 测试与评估
运行测试
# 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)
- 递归安全性(未达到限制)
- 答案质量(综合+被引用)
看 AGENTIC_EVAL_GUIDE.md 翻译为中文是:“AGENTIC评估指南.md” 或者更自然地表达为:“AGENTIC评估手册.md”(这里的“.md”通常表示该文件是Markdown格式的文档) 用于详细评估框架。
🔧 故障排除
常见问题
1. 未找到搜索结果
# Test API connectivity
npm run test:api
# Check if you have internet connection
curl https://testphase.rechtsinformationen.bund.de/v1/legislation2. 服务器无法启动
# Check Node.js version (needs v18+)
node --version
# Rebuild
npm install && npm run build3. 递归深度超出限制
症状: 代理连续进行了10多次工具调用,未停歇
解决方案:
- 设定
recursionLimit: 5在代理配置中 - 添加明确的停止指令
- 将“semantische_rechtssuche”作为主要工具使用
4. 输出中缺少引用
症状: 代理未包含URL,尽管MCP响应中包含它们
解决方案:
- 这是一个模型行为问题,不是服务器问题
- 加强说明:“必须包含所有网址”
- 考虑采用配备专用引用代理的代理架构
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沟通: 本地工作室(无HTTP端口) 数据流: 每个查询的实时API调用 URLs(统一资源定位符): 同时返回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 2021年修正案”时,会遗漏2020年6月颁布的《第七项社会法典第四部修正法》(自2021年1月1日起生效)。
解决办法: 不使用日期筛选器进行搜索,手动检查有效日期。
2. 修正法发现
问题: 修正案法律的索引做得不好,可能无法显示它们修改了哪些条款。
解决办法:
- 搜索“BGBl \[年份\]”以查找联邦法律公报条目
- 查找“Artikelgesetz”(文章法)或修正案法律名称
- 搜索生效日期,例如“2021-01-01 生效”
3. 历史版本
问题: 仅可通过ELI标识符轻松访问的当前版本。
变通方法: 查找《联邦法律公报》中的具体日期引用。
4. 模型行为
未出现的引文: 尽管在MCP(多候选问题/多选择问题等,具体根据上下文确定)响应中有明确的指导,但一些模型却忽略了引用说明。这是模型的局限性,而非服务器问题。
解决方案: 使用带有明确引用要求的代理配置,或考虑采用多代理架构。
🚀 最新修复(2025-10-06)
重大改进
✅ 用户HTML网址
- 返回可点击的HTML链接,而不是JSON API URL
- 用户现在可以在浏览器中阅读法律条文
- 提供了HTML和JSON的URL
✅ 表示“正确”或“完成”。 德语复合词处理
- 分解“Mieterhöhungsantrag” → “Mieterhöhung”
- 去除后缀:-antrag(申请)、-verfahren(程序)、-klage(诉讼)、-gesetz(法律)、-verordnung(条例)
- 对常见法律术语的特殊处理
✅(对号,表示正确、确认或同意) 备用搜索
- 对于有效的查询,从不返回零结果
- 如果未找到法律参考,则使用原始查询进行搜索
- 当未找到任何结果时,提供有用的建议
✅ 类型强制转换(或类型转换)
- 处理传递“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🤝 贡献
欢迎贡献!待改进之处:
- 更多复合词模式 - 扩展德语单词分解
- 更好的概念映射 - 添加常见的法律误解
- 英文翻译覆盖率 - 更多法律术语翻译
- 历史版本访问 - 更好地处理法律修订
- 文献检索 - 添加
/v1/literature端点支持
📄 许可证
麻省理工学院(MIT)
🔗 相关文档
- CLAUDE.md(文件名,可译为“克劳德文档”或根据上下文保持原样) - Claude Code的详细指南
- AGENTIC_EVAL_GUIDE.md 翻译为中文是:“AGENTIC评估指南.md” - 代理评估框架
- LIBRECHAT_AGENT_CONFIG.md 翻译为中文是:“LIBRECHAT代理配置文件.md” - LibreChat 配置
- 推荐型号.md - 模型对比与建议
- 已应用的修复.md - 详细的变更日志
______________________________________________________________________
最后更新时间: 2025年10月6日 版本: 1.1.0 状态: 已准备好投入生产的测试阶段API
