MCP Policy
Model Context Protocol (MCP) Governance: erlaubte Protokolle, Server-Klassen, Go/No-Go-Bedingungen und Rollout-Phasen für alle MCP-basierten Integrationen.
1. MCP Scope & Grundprinzipien
MCP-Integrationen ermöglichen LLM-Agenten den strukturierten Werkzeug-Zugang. Alle MCP-Verbindungen unterliegen den gleichen Governance-Regeln wie andere Adapter-Integrationen — zusätzlich mit MCP-spezifischen Controls.
Erlaubte Protokolle & Transporte
Verboten
Jeder MCP-Server muss eine deklarierte Server-Klasse haben (eines der 5 Profile unten). Undeklarierte Server = nicht erlaubt, kein Workaround.
2. MCP Server-Klassen (5 Profile)
- Zugriff
- read-only
- Risiko
- medium
- Pflichten
- allowed_paths_allowlist + audit logging
- Verboten
- Wildcard-Root-Zugriff, Write-Ops
Für Workspace-Inspection und Read-Operationen. Explicit allowlist verhindert versehentliche Credential-Exposition.
- Zugriff
- read-only
- Risiko
- low
- Pflichten
- Audit-Logging aller Operationen
- Verboten
- Push, Branch-Delete, Force-Actions
Lese-Zugriff auf Git-Repositories: log, diff, status. Keine schreibenden Operationen ohne explizites Phase-2-Gate.
- Zugriff
- restricted-egress (allowlist)
- Risiko
- medium
- Pflichten
- URL-Allowlist + Egress-Logging
- Verboten
- Wildcard-Fetch, ungelistete Domains, SSRF-Risk-URLs
Verwendet nur für dokumentierte externe Ressourcen (Specs, Public APIs). Verhindert SSRF-Angriffe durch strikte Allowlists.
- Zugriff
- scoped-persistence
- Risiko
- medium
- Pflichten
- Scoped zur Session + Content-Isolation
- Verboten
- Cross-Session Leak, unscoped global store
Persistenz innerhalb eines definierten Scope (Session oder Workspace-Objekt). Kein globaler, ungescopter Speicher.
- Zugriff
- read-only
- Risiko
- low
- Pflichten
- Kein besonderes Audit außer Standard-Logging
- Verboten
- System-Time-Manipulation
Zeitabfragen für TX-Timestamps und TTL-Kalkulationen. Niedrigstes Risiko-Profil.
3. Evidence-Anforderungen
| Evidence-Klasse | Minimum-Level | Besonderheit |
|---|---|---|
workspace-verified |
Minimum (zulässig) | Für alle Server-Klassen standard. MCP-Tool-Calls wurden lokal getestet und dokumentiert. |
model-only |
Erfordert explizite menschliche Review-Freigabe | LLM-generierte Evidence ohne Verifikation ist nicht ausreichend. Mensch muss Freigabe erteilen. |
Pflicht-Artefakte für MCP Integration
# Pflicht-Artefakt: mcp_server_inventory
mcp_server_inventory:
servers:
- id: <server_id>
class: filesystem | git | fetch | memory | time
transport: stdio | sse | streamable-http
scope: [<allowed_paths>]
auth_model: <auth_type>
audit_logging: true
owner: <actor_id>
status: active | disabled
4. Go/No-Go Gate
Vor jedem MCP-Server-Deployment wird ein Go/No-Go Decision Check durchgeführt:
✓ GO-Bedingungen (alle 7 müssen ✓ sein)
- approved_server_class_only ✓
- transport_declared ✓
- auth_model_declared ✓
- least_privilege_scope_set ✓
- audit_logging_enabled ✓
- evidence_written ✓
- reviewer_approved ✓
⚠ Fail-Closed bei diesen 4
- transport_declared — nicht deklariert = BLOCK
- least_privilege_scope_set — kein Scope = BLOCK
- audit_logging_enabled — kein Logging = BLOCK
- evidence_written — kein Artefakt = BLOCK
Ein fehlendes Fail-Closed-Feld verhindert den Go/No-Go-Übergang automatisch — kein manuelles Override ohne vollständige Eskalation (P-OPS-004).
5. Rollout-Phasen
- Nur read-only Server-Klassen (filesystem, git, time)
- Restricted Egress (fetch mit strenger Allowlist)
- Keine Write-Operationen
- Alle Tool-Calls geloggt
- Selektive Write-Operationen mit Review Gate vor jedem Einsatz
- Erweiterte Egress-Allowlist
- Memory-Server mit scoped Session aktivierbar
- Review Gate für jeden neuen Write-Scope
- Routine unter kontinuierlichem Audit
- Automatisierte Audit-Checks täglich
- Quarterly Review der gesamten Server-Inventory
- Anomalie-Detection aktiv
Jeder Phasen-Übergang erfordert Review Gate (mindestens RG-004 für Operational). Rückstufung ist jederzeit möglich — Hochstufung immer gate-gebunden.
6. Sicherheitsregeln (OWASP-basiert)
| Risiko | Schutzmaßnahme |
|---|---|
| SSRF (Server-Side Request Forgery) | URL-Allowlist in fetch-Server zwingend; keine dynamischen URLs von externen Payloads |
| Prompt Injection | Prompt-Injection-Guard auf allen MCP-Tool-Antworten (P-ADPT-005); keine direkte Codeausführung von LLM-generierten Werten |
| Credential Leak | Keine Secrets in Tool-Call-Parametern; Filesystem-Server darf keine Secret-Dateien (,env, .ssh/id_*) lesen |
| Privilege Escalation | Role-Constrained Capability (P-ADPT-003); MCP-Server kann keine Role eskalieren |
| Uncontrolled Egress | Alle Outgoing-Requests über fetch-Allowlist; kein direkter HTTP-Client ohne MCP-Wrapper |