Servidor MCP

Content Provenance

com.bonissystems/content-provenance
Legal y cumplimiento Medios y contenido Público y accesible MCP 2026-07-28

Qué hace este MCP

Anchors and verifies content-creation provenance records with blockchain records and evidence-oriented metadata.

anchor_creation
Anchor any creation event to the Knox event chain and return a provenance bundle. Three creation modes are supported: human_original (camera capture, original writing, recording), ai_generated (model + prompt + parameters anchored), and ai_assisted_hybrid (human-AI collaboration with edit chain). Returns the Knox anchor record, a C2PA-aligned envelope, and an FRE 902(13)/(14)-shape affidavit. Bonis Systems anchors what creators present; it does not adjudicate authorship, does not grant copyright, and does not enforce any IP claim. Requires a Knox Bearer API key on the Authorization header — unauthenticated calls are rejected.
Esquema de entrada
{'type': 'object', 'required': ['name', 'contentHash', 'source'], 'properties': {'ai': {'type': 'object', 'properties': {'model': {'type': 'string', 'description': 'Model identifier (e.g., openai/sora-2, google/veo-3).'}, 'prompt': {'type': 'string', 'description': 'Plain-text prompt (will be hashed in the anchor).'}, 'provider': {'type': 'string', 'description': 'Provider name.'}, 'parameters': {'type': 'object', 'description': 'Model parameters (hashed in the anchor).'}, 'promptHash': {'type': 'string', 'description': 'Pre-hashed prompt (preferred for privacy).'}, 'generatedAt': {'type': 'string', 'description': 'ISO timestamp from the provider.'}, 'providerReceiptId': {'type': 'string', 'description': "Provider's job/run ID."}}, 'description': 'AI-generation metadata (required when source = ai_generated).'}, 'name': {'type': 'string', 'description': 'Display name for the work (max 256 chars).'}, 'human': {'type': 'object', 'properties': {'captureAt': {'type': 'string', 'description': 'ISO timestamp of capture.'}, 'authorClaim': {'type': 'string', 'description': 'Author identity claim (name, DID, etc.).'}, 'captureMethod': {'type': 'string', 'description': 'Camera / device / instrument used.'}, 'captureLocation': {'type': 'string', 'description': 'Location string; hashed before anchoring.'}}, 'description': 'Human-original metadata (optional when source = human_original).'}, 'hybrid': {'type': 'object', 'required': ['humanContribution', 'aiContribution'], 'properties': {'ai': {'type': 'object', 'description': "Optional AI metadata (same shape as 'ai')."}, 'editChain': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'at'], 'properties': {'at': {'type': 'string'}, 'description': {'type': 'string'}}}, 'description': 'Optional edit-history entries; hashed.'}, 'aiContribution': {'type': 'string', 'description': "Description of the AI's role."}, 'humanContribution': {'type': 'string', 'description': 'Description of the human creative role.'}}, 'description': 'Hybrid-creation metadata (required when source = ai_assisted_hybrid).'}, 'source': {'enum': ['human_original', 'ai_generated', 'ai_assisted_hybrid'], 'type': 'string', 'description': 'Creation source.'}, 'sizeBytes': {'type': 'integer', 'minimum': 0, 'description': 'Content size in bytes.'}, 'contentHash': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 digest of the content as 64 lowercase hex chars. The content itself is not transmitted.'}, 'contentType': {'type': 'string', 'description': 'MIME type (max 128 chars).'}}, 'additionalProperties': False}
verify_provenance
Verify an anchored content-provenance record. Given a SHA-256 anchor hash (the payload_hash from a prior anchor_creation call), return the anchor record, predecessor hash, sequence number, and timestamp. Public — no authentication required. The verification path itself is also accessible at GET /api/knox/verify?hash=<hash>.
Esquema de entrada
{'type': 'object', 'required': ['hash'], 'properties': {'hash': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 anchor hash (64 lowercase hex chars).'}}, 'additionalProperties': False}
Añadido
verify_provenance
17 de September de 2026 a las 12:33
Añadido
anchor_creation
17 de September de 2026 a las 12:33