German Law MCP
Germany-first law MCP server built from template-law-mcp, following the same quality principles used in the Dutch and Swedish law MCP projects:
- deterministic, source-backed outputs
- explicit citation parsing and validation
- test-gated behavior with no speculative legal citations
- practical current-law retrieval (not deep historical versioning by default)
Current status
- Runtime shell is in place.
deadapter is implemented and registered.- Three source lanes are wired:
- statutes:
gesetze-im-internet - case law:
rechtsprechung-im-internet - preparatory works:
dip-bundestag
- statutes:
- German citation validation currently supports:
§ 823 Abs. 1 BGBArt. 1 Abs. 1 GG
- SQLite-backed corpus is supported (
GERMAN_LAW_DB_PATH). - Initial sample legislation remains as fallback when no database is present.
- Advanced helpers are enabled:
- citation formatting (
law.format_citation) - currency checks (
law.check_currency) - legal stance bundles (
law.build_legal_stance) - EU linkage/compliance tools (
law.get_eu_basis,law.search_eu_implementations,law.get_national_implementations,law.get_provision_eu_basis,law.validate_eu_compliance)
- citation formatting (
Quick Start
Use Remotely (No Install Needed)
Connect directly to the hosted version — zero dependencies, nothing to install.
Endpoint: https://german-law-mcp.vercel.app/mcp
| Client | How to Connect |
|---|---|
| Claude.ai | Settings > Connectors > Add Integration > paste URL |
| Claude Code | claude mcp add german-law --transport http https://german-law-mcp.vercel.app/mcp |
| Claude Desktop | Add to config (see below) |
| GitHub Copilot | Add to VS Code settings (see below) |
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"german-law": {
"type": "url",
"url": "https://german-law-mcp.vercel.app/mcp"
}
}
}
GitHub Copilot — add to VS Code settings.json:
{
"github.copilot.chat.mcp.servers": {
"german-law": {
"type": "http",
"url": "https://german-law-mcp.vercel.app/mcp"
}
}
}
Use Locally (npm)
npx @ansvar/german-law-mcp
Claude Desktop — add to claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"german-law": {
"command": "npx",
"args": ["-y", "@ansvar/german-law-mcp"]
}
}
}
Cursor / VS Code:
{
"mcp.servers": {
"german-law": {
"command": "npx",
"args": ["-y", "@ansvar/german-law-mcp"]
}
}
}
Core tools
law.list_countrieslaw.describe_countrylaw.search_documentslaw.search_case_lawlaw.get_preparatory_workslaw.format_citationlaw.check_currencylaw.build_legal_stancelaw.get_eu_basislaw.search_eu_implementationslaw.get_national_implementationslaw.get_provision_eu_basislaw.validate_eu_compliancelaw.get_documentlaw.parse_citationlaw.validate_citationlaw.run_ingestion
100% accuracy roadmap
Execution plan and acceptance gates are documented in:
docs/ACCURACY_PLAN.mddocs/IMPLEMENTATION_STATUS.md
This roadmap is designed to bring German coverage and reliability to production parity with the Dutch and Swedish MCPs.
Current ingestion status (February 14, 2026):
- statutes:
6870/6870TOC coverage (91843provisions) - case law:
5000recent decisions ingested (latest-first practical window) - preparatory works:
89423DIP records (Wahlperiode19+20)
Environment
See .env.example.
LAW_COUNTRIES: comma-separated country filter (example:de)GERMAN_LAW_DB_PATH: override SQLite path (defaultdata/database.db)GERMAN_LAW_INGEST_MAX_LAWS: optional cap used bylaw.run_ingestionGERMAN_LAW_INGEST_MAX_CASES: optional cap for case-law ingestionGERMAN_LAW_INGEST_MAX_PREP_WORKS: optional cap for preparatory-works ingestionGERMAN_LAW_PREP_WAHLPERIODEN: comma-separated DIP Wahlperioden (default20)GERMAN_LAW_DIP_API_KEY: optional DIP API key overrideGERMAN_LAW_INGEST_CASES_STOP_AFTER_EXISTING: optional case sync early-stop thresholdGERMAN_LAW_INGEST_PREP_STOP_AFTER_EXISTING: optional preparatory sync early-stop thresholdGERMAN_LAW_AUTO_UPDATE_*: defaults for auto-update cycle limits
CI/CD & Security
This repository uses GitHub Actions for automated quality and security enforcement:
| Workflow | Schedule | Purpose |
|---|---|---|
| CI | Push / PR | Build, test (Node 20/22), type check |
| CodeQL | Push / PR / Weekly | Semantic code analysis (security-extended queries) |
| Trivy | Push / PR / Daily | Dependency vulnerability scanning (SARIF) |
| Semgrep | Push / PR | SAST — OWASP Top 10, secrets, JS/TS rules |
| Gitleaks | Push / PR | Secret scanning across full git history |
| OSSF Scorecard | Push / Weekly | Repository security hygiene scoring |
| Socket Security | Push / PR | Supply chain attack detection |
| Docker Security | Push / PR / Daily | Container image scanning + SBOM (CycloneDX, SPDX) |
| Data Freshness | Daily | gesetze-im-internet.de update check, auto-issue creation |
| Publish | Tag v* | npm publish (with provenance) + MCP Registry |
| MCPB Bundle | Tag v* | MCPB distribution bundle |
Important Disclaimers
Legal Advice
THIS TOOL IS NOT LEGAL ADVICE
Statute text is sourced from official gesetze-im-internet.de publications. However:
- This is a research tool, not a substitute for professional legal counsel
- Court case coverage is limited -- do not rely solely on this for case law research
- Verify critical citations against primary sources for court filings
- EU cross-references are extracted from German statute text, not EUR-Lex full text
Client Confidentiality
Queries go through the Claude API. For privileged or confidential matters, use on-premise deployment. Lawyers should consider Bundesrechtsanwaltskammer (German Federal Bar Association) confidentiality obligations when using cloud-based AI tools.
Related Projects: Complete Compliance Suite
This server is part of Ansvar's Compliance Suite -- MCP servers that work together for end-to-end compliance coverage:
@ansvar/eu-regulations-mcp
Query 49 EU regulations directly from Claude -- GDPR, AI Act, DORA, NIS2, MiFID II, eIDAS, and more. Full regulatory text with article-level search. npx @ansvar/eu-regulations-mcp
@ansvar/german-law-mcp (This Project)
Query 6,870 German statutes directly from Claude -- BGB, StGB, GG, and more. Full provision text with EU cross-references. npx @ansvar/german-law-mcp
@ansvar/dutch-law-mcp
Query 3,248 Dutch statutes directly from Claude -- BW, Sr, Awb, and more. Full provision text with EU cross-references. npx @ansvar/dutch-law-mcp
@ansvar/swedish-law-mcp
Query 717 Swedish statutes directly from Claude -- DSL, BrB, ABL, MB, and more. Full provision text with EU cross-references. npx @ansvar/swedish-law-mcp
@ansvar/slovenian-law-mcp
Query Slovenian statutes directly from Claude -- ZVOP-2, KZ-1, ZGD-1, and more. Full provision text with EU cross-references. npx @ansvar/slovenian-law-mcp
@ansvar/us-regulations-mcp
Query US federal and state compliance laws -- HIPAA, CCPA, SOX, GLBA, FERPA, and more. npm install @ansvar/us-regulations-mcp
@ansvar/ot-security-mcp
Query IEC 62443, NIST 800-82/53, and MITRE ATT&CK for ICS -- Specialized for OT/ICS environments. npx @ansvar/ot-security-mcp
@ansvar/automotive-cybersecurity-mcp
Query UNECE R155/R156 and ISO 21434 -- Automotive cybersecurity compliance. npx @ansvar/automotive-cybersecurity-mcp
@ansvar/sanctions-mcp
Offline-capable sanctions screening -- OFAC, EU, UN sanctions lists. pip install ansvar-sanctions-mcp
Citation
If you use this MCP server in academic research:
@software{german_law_mcp_2025,
author = {Ansvar Systems AB},
title = {German Law MCP Server: Production-Grade Legal Research Tool},
year = {2025},
url = {https://github.com/Ansvar-Systems/German-law-mcp},
note = {Comprehensive German legal database with 6,870 statutes, 91,843 provisions, and EU cross-references}
}
Legal
- License: Apache-2.0
- Security policy: see
SECURITY.md - Contribution guidelines: see
CONTRIBUTING.md
Data Licenses
- Statutes & Regulations: gesetze-im-internet.de (public domain, German federal government)
- Case Law: rechtsprechung-im-internet.de (public domain)
- Preparatory Works: DIP Bundestag (public domain)
- EU Metadata: EUR-Lex (EU public domain)
About Ansvar Systems
We build AI-accelerated compliance and legal research tools for the European market. This MCP server is part of our growing suite of jurisdiction-specific legal research tools.
ansvar.eu -- Stockholm, Sweden
Architecture and adapter rollout
docs/ARCHITECTURE.mddocs/COUNTRY_CHECKLIST.mddocs/AUTO_UPDATE.md