c2pa-watermark-mcp
c2pa-watermark-mcp
C2PA Content Credentials MCP-Server – Einbetten und Verifizieren maschinenlesbarer Herkunftsnachweise für KI-generierte Assets, im Vorfeld der EU-AI-Act-Artikel-50-Frist (2. Dezember 2026).
Warum es das gibt
Artikel 50 des EU AI Acts (Verordnung (EU) 2024/1689) verlangt, dass KI-generierte Inhalte maschinenlesbar + als KI-generiert erkennbar sein müssen. Die c2pa.ai_generated-Assertion ist der von der C2PA-Spezifikation vorgegebene Weg, dies umzusetzen.
Die Frist endet am 2. Dezember 2026 – in etwa 6 Monaten. Unternehmen, die generative Tools für Endnutzer ohne C2PA-Unterstützung ausliefern, drohen Geldstrafen von bis zu 35 Mio. EUR oder 7 % des weltweiten Umsatzes.
Dieses MCP kapselt das offizielle c2pa-python-SDK (≥0.9.0) als MCP-Server, sodass Agenten C2PA-Manifeste bereits zum Generierungszeitpunkt einbetten und die Herkunft zur Laufzeit verifizieren können. Ein reiner Stdlib-HMAC-Fallback ist für Umgebungen enthalten, in denen die nativen Abhängigkeiten von c2pa-python nicht installiert werden können (Vercel Serverless, CI-Sandboxes usw.).
Related MCP server: mtl-c2pa-mcp
Funktionen
3 MCP-Tools –
sign_asset,verify_asset,statusEU-AI-Act-Artikel-50-bereit – injiziert automatisch die
c2pa.ai_generated-AssertionReiner Stdlib-Fallback – funktioniert ohne die nativen Abhängigkeiten von c2pa-python
HMAC-SHA256-Signaturen – manipulationssichere Manifeste
Optionale X.509-Kette – über das Zusatzpaket
c2pa-python[evm]Vercel-bereitstellbar – siehe Schwester-Repository
c2pa-watermark-vercel
Tools
Tool | Zweck | Stufe |
| Bettet ein C2PA-Manifest in ein Asset ein, HMAC-signiert | Pro |
| Verifiziert ein Manifest anhand der Asset-Bytes | Kostenlos |
| Meldet Serverzustand + Verfügbarkeit des nativen SDKs | Kostenlos |
Installation
# Core (HMAC fallback, no native deps)
pip install c2pa-watermark-mcp
# With full c2pa-python (X.509 chain)
pip install 'c2pa-watermark-mcp[c2pa]'
# For local development
git clone https://github.com/CSOAI-ORG/c2pa-watermark-mcp
cd c2pa-watermark-mcp
pip install -e .[dev]Verwendung
Ein Asset signieren (Pro-Stufe)
from c2pa_watermark_mcp import sign_asset, verify_asset, status
# Server health
print(status())
# → {'server': 'c2pa-watermark-mcp', 'c2pa_python_available': False, ...}
# Sign an asset
with open("output.png", "rb") as f:
asset = f.read()
key = b"my-hmac-key-32-bytes-long-aaaaaa"
result = sign_asset(
asset_bytes=asset,
asset_mime="image/png",
claim_generator="MEOK-SDXL/1.0",
signing_key=key,
ai_generated=True,
assertions=[
{"label": "c2pa.training", "value": {"model": "sdxl-1.0", "dataset": "internal"}},
],
)
print(result["manifest_id"])
# Verify
verdict = verify_asset(asset, result["manifest"], key)
print(verdict) # {'valid': True, 'reasons': [], ...}Als MCP-Server ausführen (stdio)
c2pa-watermark-mcp
# or with full c2pa-python
pip install 'c2pa-watermark-mcp[c2pa]'
c2pa-watermark-mcpÜber Docker ausführen
docker build -t c2pa-watermark-mcp .
docker compose up -d
# status endpoint on http://localhost:8000Bereitstellung auf Vercel
Siehe das begleitende Repository c2pa-watermark-vercel für einen Serverless-Wrapper, der die Routen /sign, /verify, /status bereitstellt.
Architektur
┌─────────────────────────────────────────────────────────────┐
│ c2pa-watermark-mcp │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ sign_asset │ │verify_asset │ │ status │ │
│ │ (HMAC + │ │ (HMAC + │ │ (health + │ │
│ │ c2pa.io) │ │ tamper) │ │ capability)│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │ │
│ └────────────────┴────────────────┘ │
│ │ │
│ ┌──────┴──────┐ │
│ │ HMAC-SHA256 │ (always available) │
│ │ + c2pa.io │ (if c2pa-python installed)│
│ └──────┬──────┘ │
│ │ │
│ ┌─────────────┐ ┌──────┴──────┐ ┌─────────────┐ │
│ │ manifest │ │ signing │ │ AI-Act │ │
│ │ generator │ │ keys │ │ assertions │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘Warum wir c2pa.ai_generated automatisch injizieren
Die C2PA-Spezifikation definiert dies als Standardmethode, um KI-generierte Inhalte zu kennzeichnen. Artikel 50 des EU AI Acts verlangt, dass KI-Inhalte „maschinenlesbar und als KI-generiert erkennbar" sein müssen – die Antwort der Spezifikation darauf ist genau diese Assertion. Auf die automatische Injektion zu verzichten, wäre eine Compliance-Verletzung mit Ansage.
FAQ
F: Wird dafür c2pa-python benötigt? A: Nein. Der reine Stdlib-HMAC-SHA256-Fallback ist für manipulationssichere Manifeste voll funktionsfähig. Installieren Sie c2pa-python nur, wenn Sie die vollständige X.509-Kette benötigen.
F: Kann ich ein Asset signieren, das kein PNG/JPEG ist?
A: Ja. Der Parameter asset_mime ist nur Metadaten; der HMAC wird über die Bytes selbst gebildet. Funktioniert für Video, Audio, PDFs usw.
F: Wie rotiere ich den Signaturschlüssel?
A: Generieren Sie einen neuen Schlüssel, stellen Sie mit sowohl OLD_KEY als auch NEW_KEY bereit, signieren Sie alle Manifeste mit NEW_KEY neu und entfernen Sie OLD_KEY nach Ablauf. Dieses Paket unterstützt die Schlüsselrotation über das Konstruktorargument signing_key.
F: Ist das produktionsreif? A: Ja, für Manipulationssicherheit (HMAC). Für die vollständige X.509-C2PA-Kette + kryptografische Nichtabstreitbarkeit installieren Sie c2pa-python ≥ 0.9.0.
Lizenz
MIT © MEOK AI Labs / CSOAI-ORG
This server cannot be installed
Maintenance
Related MCP Servers
- Alicense-qualityBmaintenanceMCP server for compliance automation of AI agents, enabling EU AI Act compliance, verifiable credentials, and decentralized identity management with 47 tools across 9 modules.17Apache 2.0
- Alicense-qualityDmaintenanceMCP server for reading C2PA content provenance manifests from media files, enabling natural language queries about AI-generated content, signatures, and provenance.2MIT
- Alicense-qualityDmaintenanceA hosted remote MCP server for C2PA disclosure policy, enabling AI governance teams to check disclosure policies, validate C2PA status, issue AI media receipts, explain region rules, and export disclosure logs.MIT
- Alicense-qualityDmaintenanceA hosted remote MCP server for verifying C2PA intakes, classifying source risk, issuing media receipts, and exporting intake logs. Designed for AI governance, trust and safety, and compliance teams.MIT
Related MCP Connectors
Remote MCP for C2PA intake verifier MCP, structured receipts, audit logs, and reviewer-ready evidenc
Remote MCP for C2PA disclosure policy MCP, structured receipts, audit logs, and reviewer-ready evide
MCP server for verifying EUDI/Talao wallet data via OIDC4VP (pull) for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CSOAI-ORG/c2pa-watermark-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server