关于 GDPR Shift-Left Compliance
GDPR Shift-Left Compliance 是面向开发者和合规团队的 MCP 服务,帮助在开发阶段处理数据保护要求。它将 GDPR 资料和工作流与代码、基础设施分析及 Azure Bicep 模板结合;所提供内容仅供参考,不构成法律意见。
主要功能
- 01搜索 GDPR 条款、序言和定义
- 02生成 DPIA 与 ROPA 材料
- 03提供数据主体请求工作流指引
- 04分析应用代码和基础设施即代码
- 05提供 Azure Bicep 合规模板
适用场景
- 01开发软件时查询 GDPR 要求
- 02评估 DPIA 需求并起草文档
- 03检查代码和 IaC 中的数据保护问题
- 04规划数据主体请求处理流程
MCP 相关
该服务向 MCP 客户端提供 34 种 GDPR 知识、合规工作流、代码分析和基础设施工具,以及引导式提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
GDPR Shift-Left MCP Server
一个 Model Context Protocol(MCP)服务,可将 GDPR 合规知识直接引入 IDE,帮助开发人员和合规团队“左移”——在开发生命周期的早期识别并解决数据保护要求。
⚠️ 免责声明: 此工具仅提供信息性指导,不构成法律建议。组织应咨询合格的法律顾问,以作出具有约束力的 GDPR 合规决策。
功能
🔍 GDPR 知识库(34 个工具)
- 条款查询 — 按编号检索任何 GDPR 条款,并搜索全部 99 条条款和 173 条序言
- 定义 — 第 4 条术语定义及上下文说明
- 章节导航 — 按章节浏览条款,并查看完整目录
- Azure 映射 — 将 GDPR 条款映射到 Azure 服务和控制措施
📋 合规工作流
- DPIA 评估 — 评估是否需要进行 DPIA(EDPB 9 项标准测试),生成第 35 条模板
- ROPA 构建器 — 生成并验证第 30 条规定的处理活动记录
- DSR 指导 — 针对全部 7 项数据主体权利(第 12–23 条)提供分步工作流
- 保留期限分析 — 根据第 5(1)(e) 条的存储期限限制评估保留政策
- 控制者/处理者角色分类 — 评估数据角色、获取义务说明、分析代码模式并生成 DPA 检查清单
🏗️ 基础设施与代码审查
- Bicep/Terraform/ARM 分析器 — 扫描 IaC 中的 GDPR 违规问题(加密、访问、网络、数据驻留、日志记录、保留期限)
- 应用代码分析器 — 检测 PII 日志记录、硬编码密钥、缺失的同意检查和数据最小化问题
- GDPR 配置验证器 — 以严格或建议模式执行通过/失败验证
- DSR 能力分析器 — 检测是否实现了全部 7 项数据主体权利(第 15–22 条)
- 跨境传输分析器 — 识别可能将数据传输至 EEA 以外的第三方 API/SDK,并提供风险说明,解释为何为每个服务提供商指定相应风险等级(依据总部所在地、充分性决定和数据敏感度)
- 数据泄露准备情况分析器 — 评估数据泄露检测、日志记录和通知能力
- 数据流分析器 — 映射个人数据生命周期(收集、存储、传输、删除)
- AST 代码分析器 — 使用抽象语法树对 Python、JavaScript、TypeScript、Java、C# 和 Go 进行深度分析,包括:
- 检测函数参数和变量中的 PII
- 通过导入分析检测跨境传输(涵盖 150 多家服务提供商,并提供风险说明)
- 检测 PII 日志记录违规
- 验证 DSR 实现模式
- 跟踪数据流并分析调用图
📝 引导式提示词(8 个专家提示词)
- 差距分析、DPIA 评估、合规路线图、数据映射
- 事件响应、Azure 隐私审查、供应商评估、跨境传输
📐 Azure Bicep 模板(19 个模板)
- Storage Account — CMK 加密、Private Endpoint、生命周期策略(Art. 5、25、32、44-49)
- Key Vault — HSM 支持的 Premium、清除保护、RBAC(Art. 25、32)
- Azure SQL — 仅限 Entra 身份验证、TDE、审核(Art. 25、32)
- Log Analytics — 365 天保留期、用于追踪泄露/访问/删除的已保存 GDPR 查询(Art. 5(2)、30、33)
- Cosmos DB — 仅限 EU 区域、强一致性、连续备份、启用 TTL 的 ROPA 容器(Art. 25、32、44-49)
- App Service — 托管标识、TLS 1.2、VNet 集成、暂存槽、完整审核日志记录(Art. 25、32)
- Virtual Network — 3 个子网、采用最小权限规则的 NSG、服务终结点(Art. 25、32、5(1)(f))
- Container Apps — 内部入口、双向 TLS、区域冗余、托管标识(Art. 25、32)
- Monitor Alerts — DPO 操作组、4 个针对登录/数据外传/权限提升/Key Vault 的计划警报(Art. 33、34、32)
- PostgreSQL Flexible Server — 区域冗余 HA、Entra ID 身份验证、pgaudit、异地冗余备份(Art. 25、32、5(1)(e))
- Service Bus Premium — CMK 加密、用于 DSR/同意/泄露/保留的 GDPR 队列(Art. 25、32、5(1)(f))
- AKS — 专用集群、Azure CNI、Defender for Containers、工作负载标识、网络策略(Art. 25、32、5(1)(f))
- Confidential Ledger — 由 TEE 支持的防篡改审核记录,用于 GDPR 问责记录(Art. 5(2)、30、33)
- Confidential VM — AMD SEV-SNP 加密内存、vTPM、安全启动、临时 OS 磁盘(Art. 25、32、5(1)(f))
- Entra ID Configuration — 审核日志路由、登录监控、Conditional Access 检查清单(Art. 32、5(2))
- Azure Policy — EU 区域限制、强制 CMK、标签要求、仅限 HTTPS(Art. 25、32、44)
- Defender for Cloud — 所有 Defender 计划、安全联系人、自动预配、GDPR 合规性仪表板(Art. 32、33)
- API Management — 内部 VNet、TLS 1.2+、速率限制、数据屏蔽策略、审核日志记录(Art. 25、32、30)
- Front Door with WAF — OWASP 规则、EU/EEA 地理筛选、机器人防护、速率限制(Art. 25、32、44)
快速开始
先决条件
- Python 3.10+
- 安装了 GitHub Copilot 的 VS Code
安装
从 MCP Registry 安装(推荐)
该服务已发布到 MCP Registry。你可以直接在 VS Code 中安装:
- 打开扩展视图(
Ctrl+Shift+X) - 在搜索框中输入
@mcp GDPR - 点击“GDPR Shift-Left Compliance”上的 Install
注意: VS Code MCP 库默认显示经过筛选的部分服务。如果找不到该服务,请将以下内容添加到 VS Code 用户设置中(
Ctrl+,→ 打开 Settings JSON):"chat.mcp.gallery.serviceUrl": "https://registry.modelcontextprotocol.io"这会让 VS Code 使用完整的 MCP Registry(5,000 多个服务),而不是 GitHub 筛选后的列表。
通过 uvx 安装(无需克隆)
uvx gdpr-shift-left-mcp
从源代码安装
# Clone the repository
git clone https://github.com/KevinRabun/GDPRShiftLeftMCP.git
cd GDPRShiftLeftMCP
# Install in development mode
pip install -e ".[dev]"
VS Code 集成
该仓库包含用于自动注册 MCP 服务的 .vscode/mcp.json。安装后,GDPR 工具会显示在 GitHub Copilot 的工具列表中。
如需手动配置,请添加到 VS Code 设置中:
{
"mcp": {
"servers": {
"gdpr-shift-left-mcp": {
"type": "stdio",
"command": "python",
"args": ["-m", "gdpr_shift_left_mcp"]
}
}
}
}
运行服务
# Run directly
python -m gdpr_shift_left_mcp
# Or via the installed entry point
gdpr-shift-left-mcp
工具参考
| 工具 | 描述 | GDPR 条款 |
|---|---|---|
get_article | 根据编号检索 GDPR 条款 | 全部 |
list_chapter_articles | 列出某章的所有条款 | 全部 |
search_gdpr | 在 GDPR 中进行全文搜索 | 全部 |
get_recital | 根据编号检索序言 | 全部 |
get_azure_mapping | 获取与 GDPR 条款对应的 Azure 服务 | 全部 |
get_definition | 第 4 条术语定义 | 第 4 条 |
list_definitions | 列出所有定义 | 第 4 条 |
search_definitions | 搜索定义 | 第 4 条 |
assess_dpia_need | 检查是否需要进行 DPIA | 第 35 条 |
generate_dpia_template | 生成 DPIA 文档 | 第 35 条 |
get_dpia_guidance | DPIA 各领域指南 | 第 35–36 条 |
generate_ropa_template | 第 30 条 ROPA 模板 | 第 30 条 |
validate_ropa | 验证 ROPA 的完整性 | 第 30 条 |
get_ropa_requirements | ROPA 字段要求 | 第 30 条 |
get_dsr_guidance | DSR 处理指南 | 第 12–23 条 |
generate_dsr_workflow | DSR 履行工作流 | 第 12–23 条 |
get_dsr_timeline | DSR 响应时限 | 第 12(3) 条 |
analyze_infrastructure_code | 扫描 IaC 中的 GDPR 问题 | 第 25、32、44 条 |
analyze_application_code | 扫描应用代码中的 GDPR 问题 | 第 5、25、32 条 |
validate_gdpr_config | GDPR 验证通过/失败 | 全部 |
assess_retention_policy | 评估保留政策 | 第 5(1)(e) 条 |
get_retention_guidance | 特定类别的保留指南 | 第 5(1)(e) 条 |
check_deletion_requirements | 删除能力检查清单 | 第 17 条 |
assess_controller_processor_role | 评估数据控制者/处理者角色 | 第 4、24、26、28 条 |
get_role_obligations | 特定角色的 GDPR 义务 | 第 24、26、28 条 |
analyze_code_for_role_indicators | 检测控制者/处理者代码模式 | 第 4、24、28 条 |
generate_dpa_checklist | 第 28 条 DPA 协议检查清单 | 第 28 条 |
get_role_scenarios | 常见角色分类场景 | 第 4、24、26、28 条 |
analyze_dsr_capabilities | 检测 DSR 实现情况(访问、删除、可携带性等) | 第 15–22 条 |
analyze_cross_border_transfers | 检测第三方 API/SDK 及风险说明 | 第 44–49 条 |
analyze_breach_readiness | 评估违规检测、日志记录和通知能力 | 第 33–34 条 |
analyze_data_flow | 映射个人数据生命周期(收集、存储、传输、删除) | 第 30 条 |
analyze_code_ast | 对 Python/JS/TS/Java/C#/Go 进行深度 AST 分析(PII、跨境传输、DSR) | 第 5、25、32、44 条 |
get_ast_capabilities | 获取 AST 分析器支持的语言和功能 | 全部 |
架构
src/gdpr_shift_left_mcp/
├── __init__.py # Package init
├── __main__.py # Entry point
├── server.py # FastMCP server + prompt registration
├── disclaimer.py # Legal disclaimer utility
├── data_loader.py # Online GDPR data fetching + caching
├── tools/
│ ├── __init__.py # Tool registration (34 tools)
│ ├── articles.py # Article/recital/search tools
│ ├── definitions.py # Art. 4 definition tools
│ ├── dpia.py # DPIA assessment tools
│ ├── ropa.py # ROPA builder tools
│ ├── dsr.py # Data subject rights tools
│ ├── analyzer.py # IaC + app code analyzer
│ ├── ast_analyzer.py # AST-based deep code analysis
│ ├── retention.py # Retention/deletion tools
│ └── role_classifier.py # Controller/processor role classification
├── prompts/
│ ├── __init__.py # Prompt loader
│ └── *.txt # 8 expert prompt templates
└── templates/
├── __init__.py # Template loader
└── *.bicep # GDPR-aligned Azure Bicep templates
测试
# Run all tests
pytest
# Run with coverage
pytest --cov=gdpr_shift_left_mcp --cov-report=html
# Run judges (end-to-end evaluators)
python -m tests.evaluator.run_judges
在线更新
服务会从可配置的在线来源获取 GDPR 数据,并进行本地缓存:
- 来源 URL: 通过
GDPR_SOURCE_URL环境变量设置 - 缓存 TTL: 默认为 1 小时(可通过
GDPR_CACHE_TTL配置) - 缓存目录:
__gdpr_cache__/(可通过GDPR_CACHE_DIR配置) - 回退: 在线获取失败时使用内置数据
贡献
贡献指南请参阅 CONTRIBUTING.md。本项目采用 Git Flow 分支管理:
feature/<name>用于新功能bugfix/<name>用于修复release/<version>用于发布hotfix/<name>用于生产环境修复
所有 PR 都必须通过自动化测试和评审后才能合并。
许可证
MIT — 详情请参阅 LICENSE。
致谢
- 架构设计受 FedRAMP20xMCP 启发
- GDPR 文本来自 EUR-Lex
- EDPB 指南来自 edpb.europa.eu
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。