Skip to main content
Glama
CSOAI-ORG

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-Toolssign_asset, verify_asset, status

  • EU-AI-Act-Artikel-50-bereit – injiziert automatisch die c2pa.ai_generated-Assertion

  • Reiner 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

sign_asset

Bettet ein C2PA-Manifest in ein Asset ein, HMAC-signiert

Pro

verify_asset

Verifiziert ein Manifest anhand der Asset-Bytes

Kostenlos

status

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:8000

Bereitstellung 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

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    MCP server for compliance automation of AI agents, enabling EU AI Act compliance, verifiable credentials, and decentralized identity management with 47 tools across 9 modules.
    17
    Apache 2.0
  • A
    license
    -
    quality
    D
    maintenance
    MCP server for reading C2PA content provenance manifests from media files, enabling natural language queries about AI-generated content, signatures, and provenance.
    2
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A 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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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