GDPR左移MCP服务器
 ](https://pypi.org/project/gdpr-shift-left-mcp/) ](https://pypi.org/project/gdpr-shift-left-mcp/) 
一个模型上下文协议(MCP)服务器,它带来 GDPR合规知识直接导入您的IDE,使开发人员和合规团队能够“左移”——在开发生命周期的早期识别和解决数据保护要求。
⚠️ 免责声明: 此工具仅提供信息指导 不构成法律建议。组织应咨询合格的法律顾问,以获得具有约束力的GDPR合规决定。
特性
🔍 GDPR知识库(34个工具)
- 文章查询 --按编号检索任何GDPR文章,搜索所有99篇文章和173篇序言
- 定义 --第4条术语定义及上下文解释
- 章节导航 --按章节浏览带有完整目录的文章
- Azure映射 --将GDPR文章映射到Azure服务和控制
📋 合规工作流程
- DPIA评估 --评估是否需要DPIA(EDPB 9标准测试),生成Art.35模板
- ROPA建设者 --生成并验证第30条处理活动记录
- DSR指南 --所有7项数据主体权利的分步工作流程(第12至23条)
- 残留分析 --根据第5(1)(e)条存储限制评估保留政策
- 控制器/处理器角色分类 --评估数据角色,获取义务,分析代码模式,生成DPA检查表
🏗️ 基础设施和代码审查
- 二头肌/地形/ARM分析仪 --扫描IaC是否违反GDPR(加密、访问、网络、驻留、日志记录、保留)
- 应用程序代码分析器 --检测PII日志记录、硬编码秘密、缺少同意检查、数据最小化问题
- GDPR配置验证器 --严格或咨询模式下的通过/失败验证
- DSR能力分析器 --检测所有7项数据主体权利的实施情况(第15-22条)
- 跨境转账分析仪 --识别可能将数据传输到欧洲经济区以外的第三方API/SDK 风险理由 解释为什么每个提供商都有其指定的风险水平(基于总部位置、充分性决策和数据敏感性)
- 漏洞准备分析器 --评估违规检测、记录和通知功能
- 数据流分析器 --绘制个人数据生命周期图(收集、存储、传输、删除)
- AST代码分析器 --使用Python、JavaScript、TypeScript、Java、C#和Go的抽象语法树进行深入分析:
- 函数参数和变量中的PII检测 - 通过进口分析进行跨境转移检测(150多家有风险理由的提供商) - PII日志违规检测 - DSR实现模式验证 - 数据流跟踪和调用图分析
📝 引导提示(8个专家提示)
- 差距分析、DPIA评估、合规路线图、数据映射
- 事件响应、Azure隐私审查、供应商评估、跨境转移
📐 Azure二头肌模板(19个模板)
- 存储帐户 --CMK加密、专用端点、生命周期策略(第5、25、32、44-49条)
- 密钥库 --HSM支持的高级、清除保护、RBAC(第25条、第32条)
- Azure SQL --仅限Entra认证、TDE、审计(第25条、第32条)
- 日志分析 --365天保留期,保存GDPR查询以进行违规/访问/擦除跟踪(第5(2)、30、33条)
- Cosmos数据库 --仅限欧盟地区、强一致性、连续备份、TTL启用的ROPA容器(第25、32、44-49条)
- 应用服务 --托管身份、TLS 1.2、ExpressRoute集成、暂存槽、完整审计日志记录(第25条、第32条)
- 虚拟网络 --3个子网、具有最低特权规则的NSG、服务端点(第25、32、5(1)(f)条)
- 容器应用程序 --内部入口、双向TLS、区域冗余、托管身份(第25条、第32条)
- 监视器警报 --DPO行动组,4个登录/渗透/升级/密钥库的预定警报(第33、34、32条)
- PostgreSQL灵活服务器 --区域冗余HA、Entra ID认证、pgaudit、地理冗余备份(第25、32、5(1)(e)条)
- 服务巴士保费 --CMK加密,DSR/同意/违反/保留的GDPR队列(第25、32、5(1)(f)条)
- AKS --私有集群、Azure CNI、容器防御器、工作负载标识、网络策略(第25、32、5(1)(f)条)
- 机密分类账 --TEE支持的GDPR责任记录防篡改审计跟踪(第5(2)、30、33条)
- 机密VM --AMD SEV-SNP加密内存、vTPM、安全引导、临时操作系统磁盘(第25、32、5(1)(f)条)
- Entra ID配置 --审计日志路由、登录监控、条件接收检查表(第32条、第5(2)条)
- Azure策略 --欧盟地区限制、CMK执行、标签要求、仅HTTPS(第25、32、44条)
- 云卫士 --所有Defender计划、安全联系人、自动配置、GDPR合规仪表板(第32、33条)
- API管理 --内部Direct3D、TLS 1.2+、速率限制、数据屏蔽策略、审计日志记录(第25、32、30条)
- 带WAF的前门 --OWASP规则、欧盟/欧洲经济区地理过滤、机器人保护、速率限制(第25、32、44条)
快速开始
先决条件
- Python 3.10+
- VS代码与GitHub Copilot
安装
从MCP注册表安装(推荐)
服务器已发布到 MCP注册表。您可以直接在VS Code中安装它:
- 打开“扩展”视图(
Ctrl+Shift+X) - 类型
@mcp GDPR在搜索字段中 - 点击 安装 关于“GDPR左移合规”
注: 默认情况下,VS Code MCP库显示了经过精心策划的服务器子集。如果服务器没有出现,请将其添加到您的VS代码中 用户设置 (Ctrl+,→ 打开设置JSON): ``json "chat.mcp.gallery.serviceUrl": "https://registry.modelcontextprotocol.io"`` 这将VS Code指向完整的MCP注册表(5000多台服务器),而不是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代码集成
存储库包括 .vscode/mcp.json 用于自动注册MCP服务器。安装后,GDPR工具会出现在GitHub Copilot的工具列表中。
要手动配置,请添加到您的VS代码设置中:
{
"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 | ROPA模板第30条 | 第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实现(访问、擦除、可移植性等) | Arts。 15–22 |
analyze_cross_border_transfers | 检测具有风险理由的第三方API/SDK | 艺术。 44–49 |
analyze_breach_readiness | 评估漏洞检测、日志记录和通知功能 | Arts。 33–34 |
analyze_data_flow | 绘制个人数据生命周期图(收集、存储、传输、删除) | 第30条 |
analyze_code_ast | Python/JS/TS/Java/C#/Go(PII、跨境、DSR)的深度AST分析 | 第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) - 退路: 如果在线获取失败,则内置数据
贡献
看 贡献.md 作为指导方针。此项目遵循Git Flow分支:
feature/对于新功能bugfix/用于修复release/发布hotfix/用于生产修复
所有PR在合并之前必须通过自动测试和判断。
许可证
麻省理工学院——见 许可证 了解详情。
致谢
- 建筑灵感来自 FedRAMP20xMCP
- GDPR文本来自 欧元莱克斯
- EDPB指南 edpb.europa.eu
