DSGVO.pro — German Digital-Law Compliance
Search 26 German/EU statutes free — then scan any website against 33 compliance modules.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (9)
- HIGH
- MEDIUMin check-compliance
- MEDIUMin get-scan-status
- LOWin search-law
- LOWin get-article
- LOWin list-laws
- LOWin check-compliance
- LOWin get-scan-status
- LOWin get-scan-result
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"dsgvo-pro": {
"url": "https://dsgvo.pro/api/mcp"
}
}
}Remote-Endpunkte
https://dsgvo.pro/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (6)
🟢search-law(query, law)
Search across all 26 German/EU statutes (DSGVO, KI-VO, BDSG, TDDDG, DDG, BFSG, UWG, BGB, PAngV, VSBG, UrhG, VerpackG, VerpackDG, ElektroG, JuSchG, GewO, MaBV, GEG, BRAO, FinVermV, HwO, IfSG, KosmetikVO, HWG, HOAI, MiLoG). Accepts paragraph references ("356a", "§ 312k", "Art. 42") for direct lookup AND free-text keywords ("Cookie", "Widerrufsbutton", "Einwilligung"). Returns matching articles/paragraphs with excerpts. Covers data protection, telecom & digital-services law, AI regulation, accessibility, unfair-competition (UWG), consumer and sector-specific law.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query text"
},
"law": {
"type": "string",
"enum": [
"dsgvo",
"ki-vo",
"bdsg",
"tdddg",
"ddg",
"bfsg",
"uwg",
"bgb",
"pangv",
"vsbg",
"urhg",
"verpackg",
"verpackdg",
"elektrog",
"juschg",
"gewo",
"mabv",
"geg",
"brao",
"finvermv",
"hwo",
"ifsg",
"kosmkv",
"hwg",
"hoai",
"milog"
],
"description": "Optional: limit search to a specific law"
}
},
"required": [
"query"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"description": "Matching articles/paragraphs, max 20",
"items": {
"type": "object",
"properties": {
"law": {
"type": "string",
"description": "Law identifier, e.g. \"bgb\""
},
"num": {
"type": "number",
"description": "Article/paragraph number"
},
"suffix": {
"type": "string",
"description": "Letter suffix, e.g. \"a\" in §356a"
},
"title": {
"type": "string"
},
"excerpt": {
"type": "string",
"description": "Text excerpt around the match"
}
}
}
},
"totalMatches": {
"type": "number",
"description": "Total hits before the 20-item cap"
}
}
}🟢get-article(law, article)
Get the full German text of a specific article or paragraph from a law. Returns full text and metadata.
Eingabe-Schema
{
"type": "object",
"properties": {
"law": {
"type": "string",
"enum": [
"dsgvo",
"ki-vo",
"bdsg",
"tdddg",
"ddg",
"bfsg",
"uwg",
"bgb",
"pangv",
"vsbg",
"urhg",
"verpackg",
"verpackdg",
"elektrog",
"juschg",
"gewo",
"mabv",
"geg",
"brao",
"finvermv",
"hwo",
"ifsg",
"kosmkv",
"hwg",
"hoai",
"milog"
],
"description": "The law identifier"
},
"article": {
"type": [
"string",
"number"
],
"description": "The article or paragraph number. Letter suffixes are supported and required for norms like \"356a\" (§356a BGB Widerrufsbutton), \"312k\", \"312j\"."
}
},
"required": [
"law",
"article"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"law": {
"type": "string"
},
"lawName": {
"type": "string",
"description": "Full German name of the statute"
},
"num": {
"type": "string",
"description": "Article/paragraph incl. suffix, e.g. \"356a\""
},
"unit": {
"type": "string",
"description": "\"Artikel\" (EU regulations) or \"Paragraf\" (German statutes)"
},
"title": {
"type": "string"
},
"metadata": {
"type": "object",
"properties": {
"chapter": {
"type": [
"string",
"number",
"null"
]
},
"chapterTitle": {
"type": [
"string",
"null"
]
},
"scannerRelevant": {
"type": [
"array",
"null"
],
"description": "Scanner module ids this norm feeds, e.g. [\"widerruf_button\"]",
"items": {
"type": "string"
}
}
}
},
"text": {
"type": "string",
"description": "Full German text of the norm"
},
"error": {
"type": "string",
"description": "Set instead of the fields above when the norm was not found"
}
}
}🟢list-laws
List all available German/EU digital-law statutes with article/paragraph counts.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"laws": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identifier to pass to search-law / get-article"
},
"name": {
"type": "string",
"description": "Short name, e.g. \"BDSG\""
},
"fullName": {
"type": "string"
},
"articleCount": {
"type": "number"
},
"unit": {
"type": "string",
"description": "\"Artikel\" or \"Paragraf\""
}
}
}
}
}
}🟢check-compliance(url)
🔑 Requires API key (Bearer header in MCP client config). Free tier: 3 scans/month — get a key at https://dsgvo.pro/api-keys. Start a compliance scan against up to 33 German digital law modules. Standard tier covers 20 modules across DSGVO, TDDDG, DDG, BFSG, UWG, BGB, PAngV including Schrems II hosting-location verification with SCC declaration audit, §312k BGB Kündigungsbutton, BFSG accessibility (active 28.06.2025). Pro/Agency tier (13 exclusive modules): §356a BGB Widerrufsbutton (active 19.06.2026 — currently the only EU compliance-scanner with this check), KI-VO transparency and data-processing requirements (Article 13/14 + Article 50 AI Act), advanced security audit (Art. 32 DSGVO — TLS protocol, mixed content, CMS-version CVE detection), tech-stack staleness (CMS/framework versions vs NVD CVE database), plus 8 industry-specific compliance modules — lawyer (BORA/BRAO), real-estate broker (§34c GewO + MaBV + §87 GEG energy-pass disclosure in listings), physician (BOÄ + HWG + Art. 9 GDPR sensitive-data), financial intermediary (§34d/f/h/i GewO + FinVermV), gastronomy (LMIV allergen labeling + PAngV + IfSG hygiene), cosmetics studio (KosmetikVO + HWG before/after imagery), construction (§34c GewO Bauträger-Erlaubnis + HwO + MiLoG/SOKA), hotel (BMG registration + PAngV tourist-tax inclusive pricing + GEG). Industry detection runs from page content — only triggers relevant checks. ⚠️ IMPORTANT: This tool returns only a scanId — NOT the results. The scan takes 60–120 seconds. After calling this, wait 60–90 seconds, then call get-scan-result with the scanId. Use get-scan-status to check progress without waiting for completion.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The website URL to scan (e.g. https://example.com)"
}
},
"required": [
"url"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"scanId": {
"type": "string",
"description": "Pass this to get-scan-status / get-scan-result"
},
"url": {
"type": "string",
"description": "Normalized URL that is being scanned"
},
"status": {
"type": "string",
"description": "\"pending\" right after the scan is queued"
},
"message": {
"type": "string"
},
"nextStep": {
"type": "string"
},
"hint": {
"type": "string"
},
"error": {
"type": "string",
"description": "Set instead of scanId when the scan could not be started"
},
"details": {
"type": "string"
}
}
}🟢get-scan-status(scanId)
Lightweight progress check for an in-progress compliance scan. Returns current status (pending/crawling/scanning/completed/failed) and how many modules have finished (20 Standard or up to 33 with Pro/Agency tier including Hosting-Standort (Schrems II) (Art. 13 lit. f DSGVO), Widerrufsbutton (§356a BGB), KI-Transparenz (Art. 50 KI-VO), Tech-Stack-Aktualität (Art. 32 DSGVO), Anwaltsspezifische Prüfung (BORA / BRAO), Maklerspezifische Prüfung (§34c GewO + MaBV + GEG), Arztspezifische Prüfung (BOÄ + HWG + Art. 9 DSGVO), Finanzvermittler-Prüfung (§34d/f/h/i GewO + FinVermV), Gastronomie-Prüfung (LMIV + PAngV + IfSG), Kosmetik-Prüfung (KosmetikVO + HWG + UWG), Bau-/Sanierung-Prüfung (§34c GewO + HwO + MiLoG), Hotel-/Beherbergung-Prüfung (BMG + PAngV + GEG + DSGVO)). Use this to poll progress. When status is 'completed', call get-scan-result for the full report.
Eingabe-Schema
{
"type": "object",
"properties": {
"scanId": {
"type": "string",
"description": "The scan ID returned by check-compliance"
}
},
"required": [
"scanId"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"scanId": {
"type": "string"
},
"url": {
"type": "string"
},
"status": {
"type": "string",
"description": "initializing | pending | crawling | scanning | completed | failed"
},
"modulesCompleted": {
"type": "number"
},
"modulesRunning": {
"type": "number"
},
"modulesTotal": {
"type": "number"
},
"startedAt": {
"type": "string",
"description": "ISO timestamp"
},
"ready": {
"type": "boolean",
"description": "true once the scan is completed or failed"
},
"message": {
"type": "string"
},
"error": {
"type": "string"
}
}
}🟢get-scan-result(scanId)
Get the full compliance report for a completed scan. Returns score (0–100), financial risk in EUR, per-module results, and all violations with law references, fine estimates, and fix instructions. ⚠️ Only call after the scan is complete — check status first with get-scan-status. If called while scan is still running, returns current progress instead of an error.
Eingabe-Schema
{
"type": "object",
"properties": {
"scanId": {
"type": "string",
"description": "The scan ID returned by check-compliance"
}
},
"required": [
"scanId"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"scanId": {
"type": "string"
},
"url": {
"type": "string"
},
"status": {
"type": "string",
"description": "initializing | pending | crawling | scanning | completed | failed"
},
"score": {
"type": "number",
"description": "Compliance score 0–100 (completed scans only)"
},
"riskLevel": {
"type": "string"
},
"modules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"module": {
"type": "string"
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"violationsCount": {
"type": "number"
},
"status": {
"type": "string"
}
}
}
},
"violations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"module": {
"type": "string"
},
"title": {
"type": "string"
},
"severity": {
"type": "string"
},
"law": {
"type": "string",
"description": "Law and paragraph, e.g. \"BGB §356a\""
},
"bussgeldrahmen": {
"type": [
"object",
"null"
],
"properties": {
"amountEur": {
"type": "number"
},
"paragraph": {
"type": "string"
},
"currency": {
"type": "string"
}
}
},
"noBussgeldReason": {
"type": [
"string",
"null"
],
"description": "Why no fine range applies, when bussgeldrahmen is null"
},
"fixSummary": {
"type": "string"
},
"fixSteps": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"modulesCompleted": {
"type": "number"
},
"modulesTotal": {
"type": "number"
},
"startedAt": {
"type": "string",
"description": "ISO timestamp"
},
"completedAt": {
"type": "string",
"description": "ISO timestamp"
},
"scanReportUrl": {
"type": "string",
"description": "Human-readable report on dsgvo.pro"
},
"message": {
"type": "string"
},
"error": {
"type": "string"
}
}
}Community
Nachweis