DSGVO.pro — German Digital-Law Compliance
Search 26 German/EU statutes free — then scan any website against 33 compliance modules.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (9)
- HIGH
- MEDIUMen check-compliance
- MEDIUMen get-scan-status
- LOWen search-law
- LOWen get-article
- LOWen list-laws
- LOWen check-compliance
- LOWen get-scan-status
- LOWen get-scan-result
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"dsgvo-pro": {
"url": "https://dsgvo.pro/api/mcp"
}
}
}Puntos de conexión remotos
https://dsgvo.pro/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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"
]
}Esquema de salida
{
"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.
Esquema de entrada
{
"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"
]
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The website URL to scan (e.g. https://example.com)"
}
},
"required": [
"url"
]
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"scanId": {
"type": "string",
"description": "The scan ID returned by check-compliance"
}
},
"required": [
"scanId"
]
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"scanId": {
"type": "string",
"description": "The scan ID returned by check-compliance"
}
},
"required": [
"scanId"
]
}Esquema de salida
{
"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"
}
}
}Comunidad
Evidencia