GDPR Shift-Left Compliance について
GDPR Shift-Left Complianceは、開発段階でデータ保護に取り組む開発者やコンプライアンスチーム向けのMCPサーバーです。GDPR情報やワークフローにコード・インフラ分析とAzure Bicepテンプレートを組み合わせます。内容は情報提供であり、法的助言ではありません。
主な機能
- 01GDPR条文、前文、定義の検索
- 02DPIAとROPA資料の生成
- 03データ主体の権利請求ワークフローの案内
- 04アプリケーションコードとIaCの分析
- 05Azure Bicepコンプライアンステンプレート
活用シーン
- 01ソフトウェア開発中のGDPR要件確認
- 02DPIAの要否評価と文書作成
- 03コードやIaCのデータ保護上の問題確認
- 04データ主体の権利請求への対応計画
MCP 対応
GDPR情報、コンプライアンスワークフロー、コード分析、インフラ分析の34種類のツールとガイド付きプロンプトをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GDPR Shift-Left MCP Server
GDPR コンプライアンスの知識を IDE に直接取り込む Model Context Protocol(MCP)サーバーです。開発者とコンプライアンスチームが開発ライフサイクルの早い段階でデータ保護要件を特定し、対処できるようにすることで、「シフトレフト」を実現します。
⚠️ 免責事項: このツールは情報提供のみを目的としたガイダンスを提供するものであり、法的助言を構成するものではありません。法的拘束力のある 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 暗号化、プライベート エンドポイント、ライフサイクル ポリシー(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 — マネージド ID、TLS 1.2、VNet 統合、ステージング スロット、完全な監査ログ(Art. 25、32)
- Virtual Network — 3 つのサブネット、最小権限ルールを適用した NSG、サービス エンドポイント(Art. 25、32、5(1)(f))
- Container Apps — 内部イングレス、相互 TLS、ゾーン冗長性、マネージド ID(Art. 25、32)
- Monitor Alerts — DPO アクション グループ、サインイン/データ流出/権限昇格/Key Vault 用のスケジュール済みアラート 4 件(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、ワークロード ID、ネットワーク ポリシー(Art. 25、32、5(1)(f))
- Confidential Ledger — GDPR の説明責任記録用に、TEE を基盤とする改ざん防止監査証跡(Art. 5(2)、30、33)
- Confidential VM — AMD SEV-SNP によるメモリ暗号化、vTPM、セキュア ブート、一時 OS ディスク(Art. 25、32、5(1)(f))
- Entra ID Configuration — 監査ログのルーティング、サインインの監視、条件付きアクセスのチェックリスト(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+,→「設定 JSON を開く」)に次の設定を追加してください。"chat.mcp.gallery.serviceUrl": "https://registry.modelcontextprotocol.io"これにより、GitHub の厳選リストではなく、完全な MCP Registry(5,000 以上のサーバー)が VS Code に表示されます。
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 が含まれています。インストール後、GitHub Copilot のツール一覧に GDPR ツールが表示されます。
手動で設定するには、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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。