MCP 服务器

DSGVO.pro — German Digital-Law Compliance

pro.dsgvo/dsgvo-pro
法律与合规 安全 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Searches German and EU digital-law provisions and scans websites for compliance issues across privacy, accessibility, consumer, and related laws.

check-compliance
Start Website Compliance Scan
🔑 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.
可访问外部资源
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The website URL to scan (e.g. https://example.com)'}}}
输出模式
{'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Normalized URL that is being scanned'}, 'hint': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Set instead of scanId when the scan could not be started'}, 'scanId': {'type': 'string', 'description': 'Pass this to get-scan-status / get-scan-result'}, 'status': {'type': 'string', 'description': '"pending" right after the scan is queued'}, 'details': {'type': 'string'}, 'message': {'type': 'string'}, 'nextStep': {'type': 'string'}}}
get-article
Get Law Article
Get the full German text of a specific article or paragraph from a law. Returns full text and metadata.
只读 幂等
输入模式
{'type': 'object', 'required': ['law', 'article'], 'properties': {'law': {'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'], 'type': 'string', '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".'}}}
输出模式
{'type': 'object', 'properties': {'law': {'type': 'string'}, 'num': {'type': 'string', 'description': 'Article/paragraph incl. suffix, e.g. "356a"'}, 'text': {'type': 'string', 'description': 'Full German text of the norm'}, 'unit': {'type': 'string', 'description': '"Artikel" (EU regulations) or "Paragraf" (German statutes)'}, 'error': {'type': 'string', 'description': 'Set instead of the fields above when the norm was not found'}, 'title': {'type': 'string'}, 'lawName': {'type': 'string', 'description': 'Full German name of the statute'}, 'metadata': {'type': 'object', 'properties': {'chapter': {'type': ['string', 'number', 'null']}, 'chapterTitle': {'type': ['string', 'null']}, 'scannerRelevant': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Scanner module ids this norm feeds, e.g. ["widerruf_button"]'}}}}}
get-scan-result
Get Scan Report
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.
只读 幂等
输入模式
{'type': 'object', 'required': ['scanId'], 'properties': {'scanId': {'type': 'string', 'description': 'The scan ID returned by check-compliance'}}}
输出模式
{'type': 'object', 'properties': {'url': {'type': 'string'}, 'error': {'type': 'string'}, 'score': {'type': 'number', 'description': 'Compliance score 0–100 (completed scans only)'}, 'scanId': {'type': 'string'}, 'status': {'type': 'string', 'description': 'initializing | pending | crawling | scanning | completed | failed'}, 'message': {'type': 'string'}, 'modules': {'type': 'array', 'items': {'type': 'object', 'properties': {'score': {'type': 'number'}, 'module': {'type': 'string'}, 'status': {'type': 'string'}, 'maxScore': {'type': 'number'}, 'violationsCount': {'type': 'number'}}}}, 'riskLevel': {'type': 'string'}, 'startedAt': {'type': 'string', 'description': 'ISO timestamp'}, 'violations': {'type': 'array', 'items': {'type': 'object', 'properties': {'law': {'type': 'string', 'description': 'Law and paragraph, e.g. "BGB §356a"'}, 'title': {'type': 'string'}, 'module': {'type': 'string'}, 'fixSteps': {'type': 'array', 'items': {'type': 'string'}}, 'severity': {'type': 'string'}, 'fixSummary': {'type': 'string'}, 'bussgeldrahmen': {'type': ['object', 'null'], 'properties': {'currency': {'type': 'string'}, 'amountEur': {'type': 'number'}, 'paragraph': {'type': 'string'}}}, 'noBussgeldReason': {'type': ['string', 'null'], 'description': 'Why no fine range applies, when bussgeldrahmen is null'}}}}, 'completedAt': {'type': 'string', 'description': 'ISO timestamp'}, 'modulesTotal': {'type': 'number'}, 'scanReportUrl': {'type': 'string', 'description': 'Human-readable report on dsgvo.pro'}, 'modulesCompleted': {'type': 'number'}}}
get-scan-status
Check Scan Progress
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.
只读 幂等
输入模式
{'type': 'object', 'required': ['scanId'], 'properties': {'scanId': {'type': 'string', 'description': 'The scan ID returned by check-compliance'}}}
输出模式
{'type': 'object', 'properties': {'url': {'type': 'string'}, 'error': {'type': 'string'}, 'ready': {'type': 'boolean', 'description': 'true once the scan is completed or failed'}, 'scanId': {'type': 'string'}, 'status': {'type': 'string', 'description': 'initializing | pending | crawling | scanning | completed | failed'}, 'message': {'type': 'string'}, 'startedAt': {'type': 'string', 'description': 'ISO timestamp'}, 'modulesTotal': {'type': 'number'}, 'modulesRunning': {'type': 'number'}, 'modulesCompleted': {'type': 'number'}}}
list-laws
List Available Laws
List all available German/EU digital-law statutes with article/paragraph counts.
只读 幂等
输入模式
{'type': 'object', 'properties': {}}
输出模式
{'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"'}, 'unit': {'type': 'string', 'description': '"Artikel" or "Paragraf"'}, 'fullName': {'type': 'string'}, 'articleCount': {'type': 'number'}}}}}}
search-law
Search German 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.
只读 幂等
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'law': {'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'], 'type': 'string', 'description': 'Optional: limit search to a specific law'}, 'query': {'type': 'string', 'description': 'Search query text'}}}
输出模式
{'type': 'object', 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'properties': {'law': {'type': 'string', 'description': 'Law identifier, e.g. "bgb"'}, 'num': {'type': 'number', 'description': 'Article/paragraph number'}, 'title': {'type': 'string'}, 'suffix': {'type': 'string', 'description': 'Letter suffix, e.g. "a" in §356a'}, 'excerpt': {'type': 'string', 'description': 'Text excerpt around the match'}}}, 'description': 'Matching articles/paragraphs, max 20'}, 'totalMatches': {'type': 'number', 'description': 'Total hits before the 20-item cap'}}}
已添加
get-scan-result
2026年9月17日 12:54
已添加
get-scan-status
2026年9月17日 12:54
已添加
check-compliance
2026年9月17日 12:54
已添加
list-laws
2026年9月17日 12:54
已添加
get-article
2026年9月17日 12:54
已添加
search-law
2026年9月17日 12:54