Back to MCP directory
publicPublicdnsLocal runtime

gdprshiftleftmcp

GDPR合规性MCP服务器,将GDPR知识库、合规工作流和代码分析工具集成到IDE中,帮助开发者在开发早期识别和解决数据保护要求。

article

README

🚀 GDPR Shift-Left MCP Server

这是一个模型上下文协议(MCP)服务器,它能将GDPR合规知识直接集成到你的IDE中,使开发者和合规团队能够“左移”——在开发生命周期的早期识别并解决数据保护要求。

⚠️ 重要提示

本工具仅提供信息指导,不构成法律建议。组织应咨询合格的法律顾问以做出具有约束力的GDPR合规决策。

🚀 快速开始

前提条件

  • Python 3.10+
  • 安装了GitHub Copilot的VS Code

安装

从MCP注册表安装(推荐)

该服务器已发布到 MCP注册表。你可以直接在VS Code中安装:

  1. 打开扩展视图 (Ctrl+Shift+X)
  2. 在搜索字段中输入 @mcp GDPR
  3. 点击 “GDPR Shift-Left Compliance” 旁边的 安装

💡 使用建议

VS Code MCP库默认显示经过筛选的服务器子集。如果该服务器未显示,请将以下内容添加到你的VS Code 用户设置 (Ctrl+, → 打开设置JSON):

"chat.mcp.gallery.serviceUrl": "https://registry.modelcontextprotocol.io"

这样VS Code将指向完整的MCP注册表(5000多个服务器),而不是GitHub的筛选列表。

通过uvx安装(无需克隆)

uvx gdpr-shift-left-mcp

从源代码安装

# 克隆仓库
git clone https://github.com/KevinRabun/GDPRShiftLeftMCP.git
cd GDPRShiftLeftMCP

# 以开发模式安装
pip install -e ".[dev]"

VS Code集成

该仓库包含 .vscode/mcp.json 文件,用于自动注册MCP服务器。安装完成后,GDPR工具将出现在GitHub Copilot的工具列表中。

若要手动配置,请将以下内容添加到你的VS Code设置中:

{
  "mcp": {
    "servers": {
      "gdpr-shift-left-mcp": {
        "type": "stdio",
        "command": "python",
        "args": ["-m", "gdpr_shift_left_mcp"]
      }
    }
  }
}

运行服务器

# 直接运行
python -m gdpr_shift_left_mcp

# 或者通过已安装的入口点运行
gdpr-shift-left-mcp

✨ 主要特性

🔍 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个模板)

  • 存储账户 — 客户管理密钥(CMK)加密、专用终结点、生命周期策略(第5、25、32、44 - 49条)
  • 密钥保管库 — 基于硬件安全模块(HSM)的高级版、清除保护、基于角色的访问控制(RBAC)(第25、32条)
  • Azure SQL — 仅使用Azure AD身份验证、透明数据加密(TDE)、审计(第25、32条)
  • 日志分析 — 365天保留期、保存用于跟踪数据泄露/访问/擦除的GDPR查询(第5(2)、30、33条)
  • Cosmos DB — 仅限欧盟区域、强一致性、连续备份、启用TTL的ROPA容器(第25、32、44 - 49条)
  • 应用服务 — 托管标识、TLS 1.2、虚拟网络(VNet)集成、暂存槽、完整审计日志记录(第25、32条)
  • 虚拟网络 — 3个子网、具有最小权限规则的网络安全组(NSG)、服务终结点(第25、32、5(1)(f)条)
  • 容器应用 — 内部入口、相互TLS、区域冗余、托管标识(第25、32条)
  • 监控警报 — 数据保护官(DPO)操作组、4个用于登录/数据泄露/升级/密钥保管库的计划警报(第33、34、32条)
  • PostgreSQL灵活服务器 — 区域冗余高可用性(HA)、Azure AD身份验证、pgaudit、异地冗余备份(第25、32、5(1)(e)条)
  • 服务总线高级版 — CMK加密、用于DSR/同意/数据泄露/保留的GDPR队列(第25、32、5(1)(f)条)
  • Azure Kubernetes服务(AKS) — 专用集群、Azure容器网络接口(CNI)、容器防御、工作负载标识、网络策略(第25、32、5(1)(f)条)
  • 机密账本 — 基于可信执行环境(TEE)的防篡改审计跟踪,用于GDPR问责记录(第5(2)、30、33条)
  • 机密虚拟机 — AMD SEV - SNP加密内存、虚拟可信平台模块(vTPM)、安全启动、临时操作系统磁盘(第25、32、5(1)(f)条)
  • Azure AD配置 — 审计日志路由、登录监控、条件访问清单(第32、5(2)条)
  • Azure策略 — 欧盟区域限制、CMK强制执行、标签要求、仅使用HTTPS(第25、32、44条)
  • 云防御 — 所有防御计划、安全联系人、自动预配、GDPR合规仪表板(第32、33条)
  • API管理 — 内部VNet、TLS 1.2+、速率限制、数据掩码策略、审计日志记录(第25、32、30条)
  • 带Web应用程序防火墙(WAF)的前端网关 — OWASP规则、欧盟/EEA地理过滤、机器人防护、速率限制(第25、32、44条)

📚 详细文档

| 工具 | 描述 | 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              # 包初始化
├── __main__.py              # 入口点
├── server.py                # FastMCP服务器 + 提示注册
├── disclaimer.py            # 法律免责声明工具
├── data_loader.py           # 在线GDPR数据获取 + 缓存
├── tools/
│   ├── __init__.py          # 工具注册(34个工具)
│   ├── articles.py          # 条款/说明/搜索工具
│   ├── definitions.py       # 第4条定义工具
│   ├── dpia.py              # DPIA评估工具
│   ├── ropa.py              # ROPA生成器工具
│   ├── dsr.py               # 数据主体权利工具
│   ├── analyzer.py          # IaC + 应用程序代码分析器
│   ├── ast_analyzer.py      # 基于AST的深度代码分析
│   ├── retention.py         # 保留/删除工具
│   └── role_classifier.py   # 控制器/处理者角色分类
├── prompts/
│   ├── __init__.py          # 提示加载器
│   └── *.txt                # 8个专家提示模板
└── templates/
    ├── __init__.py           # 模板加载器
    └── *.bicep               # 符合GDPR的Azure Bicep模板

📦 安装指南

从MCP注册表安装(推荐)

该服务器已发布到 MCP注册表。你可以直接在VS Code中安装:

  1. 打开扩展视图 (Ctrl+Shift+X)
  2. 在搜索字段中输入 @mcp GDPR
  3. 点击 “GDPR Shift-Left Compliance” 旁边的 安装

💡 使用建议

VS Code MCP库默认显示经过筛选的服务器子集。如果该服务器未显示,请将以下内容添加到你的VS Code 用户设置 (Ctrl+, → 打开设置JSON):

"chat.mcp.gallery.serviceUrl": "https://registry.modelcontextprotocol.io"

这样VS Code将指向完整的MCP注册表(5000多个服务器),而不是GitHub的筛选列表。

通过uvx安装(无需克隆)

uvx gdpr-shift-left-mcp

从源代码安装

# 克隆仓库
git clone https://github.com/KevinRabun/GDPRShiftLeftMCP.git
cd GDPRShiftLeftMCP

# 以开发模式安装
pip install -e ".[dev]"

💻 使用示例

运行服务器

# 直接运行
python -m gdpr_shift_left_mcp

# 或者通过已安装的入口点运行
gdpr-shift-left-mcp

测试

# 运行所有测试
pytest

# 运行带覆盖率的测试
pytest --cov=gdpr_shift_left_mcp --cov-report=html

# 运行评估器(端到端评估)
python -m tests.evaluator.run_judges

📄 许可证

本项目采用MIT许可证,详情请参阅 LICENSE

致谢

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client