Skip to main content
Glama
CSOAI-ORG

c2pa-watermark-mcp

c2pa-watermark-mcp

Servidor MCP de C2PA Content Credentials — incrusta y verifica procedencia legible por máquina para activos generados por IA, antes de la fecha límite del Artículo 50 de la Ley de IA de la UE (2 de diciembre de 2026).

Por qué existe esto

El Artículo 50 de la Ley de IA de la UE (Reglamento (UE) 2024/1689) exige que el contenido generado por IA sea legible por máquina y detectable como generado por IA. La aserción c2pa.ai_generated es la forma obligatoria que establece la especificación C2PA para hacerlo.

La fecha límite es el 2 de diciembre de 2026, a unos 6 meses. Las empresas que lancen herramientas generativas orientadas al usuario sin soporte C2PA se enfrentan a multas de hasta 35 millones de euros o el 7% de la facturación global.

Este MCP envuelve el SDK oficial c2pa-python (≥0.9.0) como un servidor MCP para que los agentes puedan adjuntar manifiestos C2PA en el momento de la generación y verificar la procedencia en tiempo de ejecución. Se incluye un respaldo HMAC de solo stdlib para entornos donde las dependencias nativas de c2pa-python no se puedan instalar (Vercel serverless, sandboxes de CI, etc.).

Related MCP server: mtl-c2pa-mcp

Características

  • 3 herramientas MCPsign_asset, verify_asset, status

  • Listo para el Artículo 50 de la Ley de IA de la UE — inyecta automáticamente la aserción c2pa.ai_generated

  • Respaldo de solo stdlib — funciona sin las dependencias nativas de c2pa-python

  • Firmas HMAC-SHA256 — manifiestos a prueba de manipulaciones

  • Cadena X.509 opcional — mediante el extra c2pa-python[evm]

  • Desplegable en Vercel — consulta el repositorio hermano c2pa-watermark-vercel

Herramientas

Herramienta

Propósito

Nivel

sign_asset

Incrusta un manifiesto C2PA en un activo, firmado con HMAC

Pro

verify_asset

Verifica un manifiesto contra los bytes del activo

Free

status

Informa sobre el estado del servidor y la disponibilidad del SDK nativo

Free

Instalación

# 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]

Uso

Firmar un activo (nivel Pro)

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': [], ...}

Ejecutar como servidor MCP (stdio)

c2pa-watermark-mcp
# or with full c2pa-python
pip install 'c2pa-watermark-mcp[c2pa]'
c2pa-watermark-mcp

Ejecutar mediante Docker

docker build -t c2pa-watermark-mcp .
docker compose up -d
# status endpoint on http://localhost:8000

Despliegue en Vercel

Consulta el repositorio complementario c2pa-watermark-vercel para un envoltorio serverless que expone las rutas /sign, /verify, /status.

Arquitectura

┌─────────────────────────────────────────────────────────────┐
│                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  │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
└─────────────────────────────────────────────────────────────┘

Por qué inyectamos automáticamente c2pa.ai_generated

La especificación C2PA define esto como la forma estándar de revelar contenido generado por IA. El Artículo 50 de la Ley de IA de la UE dice que el contenido de IA debe ser "legible por máquina y detectable como generado por IA": la respuesta de la especificación es exactamente esta aserción. Omitir la inyección automática sería una violación de cumplimiento a punto de ocurrir.

Preguntas frecuentes

P: ¿Necesita esto c2pa-python? R: No. El respaldo HMAC-SHA256 de solo stdlib es totalmente funcional para manifiestos a prueba de manipulaciones. Instala c2pa-python solo si necesitas la cadena X.509 completa.

P: ¿Puedo firmar un activo que no sea PNG/JPEG? R: Sí. El parámetro asset_mime es solo metadatos; el HMAC se aplica sobre los propios bytes. Funciona para video, audio, PDF, etc.

P: ¿Cómo roto la clave de firma? R: Genera una nueva clave, despliega con OLD_KEY y NEW_KEY, vuelve a firmar todos los manifiestos con NEW_KEY y luego elimina OLD_KEY después de su vencimiento. Este paquete admite la rotación de claves mediante el argumento del constructor signing_key.

P: ¿Está listo para producción? R: Sí para la evidencia de manipulación (HMAC). Para la cadena C2PA X.509 completa y no repudio criptográfico, instala c2pa-python ≥ 0.9.0.

Licencia

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