Content Provenance
Anchor a content-creation event to the Knox chain; returns a C2PA-aligned, FRE 902-shaped bundle.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"content-provenance": {
"url": "https://bonissystems.com/api/knox/agents/content-provenance/mcp"
}
}
}원격 엔드포인트
https://bonissystems.com/api/knox/agents/content-provenance/mcpstreamable-http할 수 있는 일
도구 목록
도구 (2)
🟡anchor_creation(name, contentHash, contentType, sizeBytes, source, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Display name for the work (max 256 chars)."
},
"contentHash": {
"type": "string",
"description": "SHA-256 digest of the content as 64 lowercase hex chars. The content itself is not transmitted.",
"pattern": "^[a-fA-F0-9]{64}$"
},
"contentType": {
"type": "string",
"description": "MIME type (max 128 chars)."
},
"sizeBytes": {
"type": "integer",
"minimum": 0,
"description": "Content size in bytes."
},
"source": {
"type": "string",
"enum": [
"human_original",
"ai_generated",
"ai_assisted_hybrid"
],
"description": "Creation source."
},
"ai": {
"type": "object",
"description": "AI-generation metadata (required when source = ai_generated).",
"properties": {
"model": {
"type": "string",
"description": "Model identifier (e.g., openai/sora-2, google/veo-3)."
},
"provider": {
"type": "string",
"description": "Provider name."
},
"prompt": {
"type": "string",
"description": "Plain-text prompt (will be hashed in the anchor)."
},
"promptHash": {
"type": "string",
"description": "Pre-hashed prompt (preferred for privacy)."
},
"parameters": {
"type": "object",
"description": "Model parameters (hashed in the anchor)."
},
"providerReceiptId": {
"type": "string",
"description": "Provider's job/run ID."
},
"generatedAt": {
"type": "string",
"description": "ISO timestamp from the provider."
}
}
},
"hybrid": {
"type": "object",
"description": "Hybrid-creation metadata (required when source = ai_assisted_hybrid).",
"properties": {
"humanContribution": {
"type": "string",
"description": "Description of the human creative role."
},
"aiContribution": {
"type": "string",
"description": "Description of the AI's role."
},
"ai": {
"type": "object",
"description": "Optional AI metadata (same shape as 'ai')."
},
"editChain": {
"type": "array",
"description": "Optional edit-history entries; hashed.",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"at": {
"type": "string"
}
},
"required": [
"description",
"at"
]
}
}
},
"required": [
"humanContribution",
"aiContribution"
]
},
"human": {
"type": "object",
"description": "Human-original metadata (optional when source = human_original).",
"properties": {
"captureMethod": {
"type": "string",
"description": "Camera / device / instrument used."
},
"captureAt": {
"type": "string",
"description": "ISO timestamp of capture."
},
"captureLocation": {
"type": "string",
"description": "Location string; hashed before anchoring."
},
"authorClaim": {
"type": "string",
"description": "Author identity claim (name, DID, etc.)."
}
}
}
},
"required": [
"name",
"contentHash",
"source"
],
"additionalProperties": false
}🟢verify_provenance(hash)
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>.
입력 스키마
{
"type": "object",
"properties": {
"hash": {
"type": "string",
"description": "SHA-256 anchor hash (64 lowercase hex chars).",
"pattern": "^[a-fA-F0-9]{64}$"
}
},
"required": [
"hash"
],
"additionalProperties": false
}커뮤니티
증거