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 MCP —
sign_asset,verify_asset,statusListo para el Artículo 50 de la Ley de IA de la UE — inyecta automáticamente la aserción
c2pa.ai_generatedRespaldo 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 |
| Incrusta un manifiesto C2PA en un activo, firmado con HMAC | Pro |
| Verifica un manifiesto contra los bytes del activo | Free |
| 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-mcpEjecutar mediante Docker
docker build -t c2pa-watermark-mcp .
docker compose up -d
# status endpoint on http://localhost:8000Despliegue 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
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