GDPR Shift-Left Compliance

io.github.KevinRabunPublished by GitHub account KevinRabunv0.4.0Updated Oct 25, 2026

GDPR compliance MCP server - article lookup, DPIA, ROPA, DSR, IaC analysis, Bicep templates.

Overview

AI-generated overview

A local GDPR compliance server that lets an assistant look up GDPR articles and recitals, run DPIA, ROPA and DSR workflows, and scan code and infrastructure for

What you can do
Look up and search GDPR articles, recitals, chapter listings and Article 4 definitions, and map articles to Azure services and controls. Run DPIA need assessments and templates, build and validate ROPA records, and get DSR guidance, workflows and timelines. Assess retention policies, deletion requirements, and controller/processor roles with obligations and DPA checklists. Scan infrastructure-as-code and application code, including AST analysis for several languages, for PII logging, secrets, consent gaps, cross-border transfers, breach readiness and data flows. Generate GDPR-aligned Azure Bicep templates and use eight guided expert prompts.
When to use it
Useful for developers and compliance teams who want GDPR requirements surfaced early in the development lifecycle, such as reviewing Azure infrastructure or application code for data protection issues, preparing DPIA or ROPA documents, or answering GDPR article questions inside the IDE.
Requirements
Runs locally over stdio as a Python package (Python 3.10+) via uvx or python -m; the README targets VS Code with GitHub Copilot. No authentication or API keys are declared. It fetches GDPR data from a configurable online source with local caching, falling back to built-in data if the fetch fails.
Before you install
The README states it provides informational guidance only and is not legal advice; binding decisions need qualified counsel. Code analyzers read your source and infrastructure files, and generated templates and documents should be reviewed before use. Optional environment variables GDPR_SOURCE_URL, GDPR_CACHE_TTL and GDPR_CACHE_DIR control where reference data is fetched from and cached.

Installation

In SourceWeft

  1. Open GDPR Shift-Left Compliance in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

GDPR Shift-Left MCP Server

[Tests & Judges] [PyPI version] [Python versions] [License: MIT]

A Model Context Protocol (MCP) server that brings GDPR compliance knowledge directly into your IDE, enabling developers and compliance teams to "shift left" — identifying and addressing data protection requirements early in the development lifecycle.

⚠️ Disclaimer: This tool provides informational guidance only and does not constitute legal advice. Organisations should consult qualified legal counsel for binding GDPR compliance decisions.

Features

🔍 GDPR Knowledge Base (34 Tools)

  • Article Lookup — Retrieve any GDPR article by number, search across all 99 articles and 173 recitals
  • Definitions — Art. 4 term definitions with contextual explanations
  • Chapter Navigation — Browse articles by chapter with full directory
  • Azure Mappings — Map GDPR articles to Azure services and controls

📋 Compliance Workflows

  • DPIA Assessment — Assess whether a DPIA is required (EDPB 9-criteria test), generate Art. 35 templates
  • ROPA Builder — Generate and validate Art. 30 Records of Processing Activities
  • DSR Guidance — Step-by-step workflows for all 7 data subject rights (Arts. 12–23)
  • Retention Analysis — Assess retention policies against Art. 5(1)(e) storage limitation
  • Controller/Processor Role Classification — Assess data roles, get obligations, analyze code patterns, generate DPA checklists

🏗️ Infrastructure & Code Review

  • Bicep/Terraform/ARM Analyzer — Scan IaC for GDPR violations (encryption, access, network, residency, logging, retention)
  • Application Code Analyzer — Detect PII logging, hardcoded secrets, missing consent checks, data minimisation issues
  • GDPR Config Validator — Pass/fail validation in strict or advisory mode
  • DSR Capability Analyzer — Detect implementation of all 7 data subject rights (Arts. 15–22)
  • Cross-Border Transfer Analyzer — Identify third-party APIs/SDKs that may transfer data outside EEA, with risk justifications explaining why each provider has its assigned risk level (based on headquarters location, adequacy decisions, and data sensitivity)
  • Breach Readiness Analyzer — Assess breach detection, logging, and notification capabilities
  • Data Flow Analyzer — Map personal data lifecycle (collection, storage, transmission, deletion)
  • AST Code Analyzer — Deep analysis using Abstract Syntax Trees for Python, JavaScript, TypeScript, Java, C#, and Go with:
    • PII detection in function parameters and variables
    • Cross-border transfer detection via import analysis (150+ providers with risk justifications)
    • PII logging violation detection
    • DSR implementation pattern verification
    • Data flow tracking and call graph analysis

📝 Guided Prompts (8 Expert Prompts)

  • Gap Analysis, DPIA Assessment, Compliance Roadmap, Data Mapping
  • Incident Response, Azure Privacy Review, Vendor Assessment, Cross-Border Transfers

📐 Azure Bicep Templates (19 Templates)

  • Storage Account — CMK encryption, Private Endpoint, lifecycle policies (Art. 5, 25, 32, 44-49)
  • Key Vault — HSM-backed Premium, purge protection, RBAC (Art. 25, 32)
  • Azure SQL — Entra-only auth, TDE, auditing (Art. 25, 32)
  • Log Analytics — 365-day retention, saved GDPR queries for breach/access/erasure tracking (Art. 5(2), 30, 33)
  • Cosmos DB — EU-only regions, strong consistency, continuous backup, TTL-enabled ROPA container (Art. 25, 32, 44-49)
  • App Service — Managed identity, TLS 1.2, VNet integration, staging slot, full audit logging (Art. 25, 32)
  • Virtual Network — 3 subnets, NSGs with least-privilege rules, service endpoints (Art. 25, 32, 5(1)(f))
  • Container Apps — Internal ingress, mutual TLS, zone redundancy, managed identity (Art. 25, 32)
  • Monitor Alerts — DPO action group, 4 scheduled alerts for sign-in/exfiltration/escalation/Key Vault (Art. 33, 34, 32)
  • PostgreSQL Flexible Server — Zone-redundant HA, Entra ID auth, pgaudit, geo-redundant backups (Art. 25, 32, 5(1)(e))
  • Service Bus Premium — CMK encryption, GDPR queues for DSR/consent/breach/retention (Art. 25, 32, 5(1)(f))
  • AKS — Private cluster, Azure CNI, Defender for Containers, workload identity, network policies (Art. 25, 32, 5(1)(f))
  • Confidential Ledger — TEE-backed tamper-proof audit trail for GDPR accountability records (Art. 5(2), 30, 33)
  • Confidential VM — AMD SEV-SNP encrypted memory, vTPM, secure boot, ephemeral OS disk (Art. 25, 32, 5(1)(f))
  • Entra ID Configuration — Audit log routing, sign-in monitoring, Conditional Access checklist (Art. 32, 5(2))
  • Azure Policy — EU region restriction, CMK enforcement, tag requirements, HTTPS-only (Art. 25, 32, 44)
  • Defender for Cloud — All Defender plans, security contacts, auto-provisioning, GDPR compliance dashboard (Art. 32, 33)
  • API Management — Internal VNet, TLS 1.2+, rate limiting, data masking policies, audit logging (Art. 25, 32, 30)
  • Front Door with WAF — OWASP rules, EU/EEA geo-filtering, bot protection, rate limiting (Art. 25, 32, 44)

Quick Start

Prerequisites

  • Python 3.10+
  • VS Code with GitHub Copilot

Installation

Install from the MCP Registry (recommended)

The server is published to the MCP Registry. You can install it directly in VS Code:

  1. Open the Extensions view (Ctrl+Shift+X)
  2. Type @mcp GDPR in the search field
  3. Click Install on "GDPR Shift-Left Compliance"

Note: The VS Code MCP gallery shows a curated subset of servers by default. If the server doesn't appear, add this to your VS Code User Settings (Ctrl+, → Open Settings JSON):

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

This points VS Code at the full MCP Registry (5,000+ servers) instead of GitHub's curated list.

Install via uvx (no clone needed)
bash
uvx gdpr-shift-left-mcp
Install from source
bash
# Clone the repositorygit clone https://github.com/KevinRabun/GDPRShiftLeftMCP.gitcd GDPRShiftLeftMCP
# Install in development modepip install -e ".[dev]"

VS Code Integration

The repository includes .vscode/mcp.json for automatic MCP server registration. After installation, the GDPR tools appear in GitHub Copilot's tool list.

To configure manually, add to your VS Code settings:

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

Running the Server

bash
# Run directlypython -m gdpr_shift_left_mcp
# Or via the installed entry pointgdpr-shift-left-mcp

Tool Reference

ToolDescriptionGDPR Articles
get_articleRetrieve a GDPR article by numberAll
list_chapter_articlesList all articles in a chapterAll
search_gdprFull-text search across GDPRAll
get_recitalRetrieve a recital by numberAll
get_azure_mappingAzure services for a GDPR articleAll
get_definitionArt. 4 term definitionArt. 4
list_definitionsList all definitionsArt. 4
search_definitionsSearch definitionsArt. 4
assess_dpia_needCheck if DPIA is requiredArt. 35
generate_dpia_templateGenerate DPIA documentArt. 35
get_dpia_guidanceDPIA area guidanceArt. 35–36
generate_ropa_templateArt. 30 ROPA templateArt. 30
validate_ropaValidate ROPA completenessArt. 30
get_ropa_requirementsROPA field requirementsArt. 30
get_dsr_guidanceDSR handling guidanceArts. 12–23
generate_dsr_workflowDSR fulfilment workflowArts. 12–23
get_dsr_timelineDSR response timelinesArt. 12(3)
analyze_infrastructure_codeScan IaC for GDPR issuesArt. 25, 32, 44
analyze_application_codeScan app code for GDPR issuesArt. 5, 25, 32
validate_gdpr_configPass/fail GDPR validationAll
assess_retention_policyAssess retention policyArt. 5(1)(e)
get_retention_guidanceCategory-specific retentionArt. 5(1)(e)
check_deletion_requirementsDeletion capability checklistArt. 17
assess_controller_processor_roleAssess data controller/processor roleArt. 4, 24, 26, 28
get_role_obligationsRole-specific GDPR obligationsArt. 24, 26, 28
analyze_code_for_role_indicatorsDetect controller/processor code patternsArt. 4, 24, 28
generate_dpa_checklistArt. 28 DPA agreement checklistArt. 28
get_role_scenariosCommon role classification scenariosArt. 4, 24, 26, 28
analyze_dsr_capabilitiesDetect DSR implementation (access, erase, portability, etc.)Arts. 15–22
analyze_cross_border_transfersDetect third-party APIs/SDKs with risk justificationsArts. 44–49
analyze_breach_readinessAssess breach detection, logging, and notification capabilitiesArts. 33–34
analyze_data_flowMap personal data lifecycle (collection, storage, transmission, deletion)Art. 30
analyze_code_astDeep AST analysis for Python/JS/TS/Java/C#/Go (PII, cross-border, DSR)Art. 5, 25, 32, 44
get_ast_capabilitiesGet AST analyzer supported languages and featuresAll

Architecture

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

Testing

bash
# Run all testspytest
# Run with coveragepytest --cov=gdpr_shift_left_mcp --cov-report=html
# Run judges (end-to-end evaluators)python -m tests.evaluator.run_judges

Online Updates

The server fetches GDPR data from a configurable online source, with local caching:

  • Source URL: Set via GDPR_SOURCE_URL environment variable
  • Cache TTL: Default 1 hour (configurable via GDPR_CACHE_TTL)
  • Cache directory: __gdpr_cache__/ (configurable via GDPR_CACHE_DIR)
  • Fallback: Built-in data if online fetch fails

Contributing

See CONTRIBUTING.md for guidelines. This project follows Git Flow branching:

  • feature/<name> for new features
  • bugfix/<name> for fixes
  • release/<version> for releases
  • hotfix/<name> for production fixes

All PRs must pass automated tests and judges before merging.

License

MIT — see LICENSE for details.

Acknowledgements

Source: README.md at commit 904aab0

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.4.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts