Content Provenance
Server Details
Anchor a content-creation event to the Knox chain; returns a C2PA-aligned, FRE 902-shaped bundle.
- Status
- Healthy
- Uptime
- 99.8% over 37 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one anchors/creates a provenance record, the other verifies an existing one. There is no overlap or ambiguity between them.
Both names use snake_case, but the pattern differs: anchor_creation is noun+gerund while verify_provenance is verb+noun. A more consistent form would be create_anchor and verify_provenance.
Only two tools is thin and borderline for a server, but the narrow domain of create-and-verify makes the count reasonably justified. It falls at the low end of acceptable scoping.
The core workflow—creating and verifying a provenance anchor—is fully covered. Obvious extensions like listing anchors or retrieving the full provenance bundle are missing, but these are minor gaps for the server's stated purpose.
Available Tools
2 toolsanchor_creationAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ai | No | AI-generation metadata (required when source = ai_generated). | |
| name | Yes | Display name for the work (max 256 chars). | |
| human | No | Human-original metadata (optional when source = human_original). | |
| hybrid | No | Hybrid-creation metadata (required when source = ai_assisted_hybrid). | |
| source | Yes | Creation source. | |
| sizeBytes | No | Content size in bytes. | |
| contentHash | Yes | SHA-256 digest of the content as 64 lowercase hex chars. The content itself is not transmitted. | |
| contentType | No | MIME type (max 128 chars). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It discloses the authentication requirement ('Requires a Knox Bearer API key on the Authorization header — unauthenticated calls are rejected'), the exact return artifacts (Knox anchor record, C2PA-aligned envelope, FRE 902(13)/(14)-shape affidavit), and the tool's non-adjudicative, non-enforcement posture. This is substantial behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then efficiently covers modes, return outputs, legal disclaimers, and authentication in roughly five sentences. Every sentence earns its place, and the structure moves from what the tool does to how to call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and no annotations, the description is remarkably complete: it explains return values, mode-specific behavior, authentication prerequisites, and limitations. The input schema already covers parameter details, so nothing essential for correctly invoking the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds meaningful semantics beyond the schema by explaining the source modes with concrete examples: human_original (camera capture, original writing, recording), ai_generated (model + prompt + parameters anchored), and ai_assisted_hybrid (human-AI collaboration with edit chain). This enriches the source enum and the mode-specific nested objects beyond their raw names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Anchor any creation event to the Knox event chain and return a provenance bundle.' This clearly distinguishes it from the sibling verify_provenance by describing a creation/anchoring action rather than a verification action. It also enumerates the three supported creation modes, making the tool's scope immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: anchoring creation events, with explicit mode coverage for human_original, ai_generated, and ai_assisted_hybrid. It also states exclusions: it 'does not adjudicate authorship, does not grant copyright, and does not enforce any IP claim.' However, it does not explicitly point to verify_provenance as the alternative for verification, so it stops short of naming the sibling alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_provenanceAInspect
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=.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | SHA-256 anchor hash (64 lowercase hex chars). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool is public and requires no authentication, identifies return fields, and notes an alternative access method. It does not describe error cases or rate limits, but is adequate for a simple read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, then details on input/output, and ends with a public note. Every sentence adds value with no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, the description covers purpose, input, output, and public access. It does not include error handling or sample response, but is largely complete given the tool's simplicity and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with a description and pattern for the 'hash' parameter. The description adds context that the hash is the payload_hash from a prior anchor_creation call, enhancing the schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies an anchored content-provenance record using a SHA-256 hash, and specifies returned fields (anchor record, predecessor hash, sequence number, timestamp). It distinguishes from the sibling tool 'anchor_creation' by being the verification counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the input hash comes from a prior anchor_creation call, implying it should be used after anchoring. However, it does not explicitly state when not to use it or provide alternative guidance beyond mentioning the GET endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
anchor_creation - First observed
verify_provenance
Related MCP Connectors
Stamp any data to the Markovian chain for a verifiable provenance receipt. Proves timing, not truth.
Decode an SSTV audio recording and anchor its fingerprint and image hash to the Knox event chain.
Stamp content with permanent, verifiable provenance. Hash locally, verify free forever.
Remote MCP for C2PA intake verifier MCP, structured receipts, audit logs, and reviewer-ready evidenc
Related MCP Servers
- AlicenseNot gradedqualityFmaintenancePost-quantum document anchoring for AI agents. Anchor any SHA-256 hash to Algorand mainnet with ML-DSA-65 (NIST FIPS-204) signatures and receive a self-contained proof bundle verifiable offline — decades from now, without trusting any vendor.4 npmMIT

markovian-mcpofficial
AlicenseAqualityDmaintenanceBitcoin-anchored provenance for AI outputs; enables stamping, verifying, and tracing outputs with offline-verifiable canonical roots.3Apache 2.0- AlicenseNot gradedqualityBmaintenanceEnables creating and verifying permanent, publicly verifiable content provenance stamps via MCP tools.11 npmMIT
- AlicenseAqualityBmaintenanceProvides cryptographic truth infrastructure for AI agents, enabling them to seal content with SHA-256 and Ed25519, verify receipts, anchor them to Bitcoin via OpenTimestamps, generate citations, and audit chains of receipts.529 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.