Privi Anchor
Server Details
Timestamped proof that AI outputs and data existed, anchored on the Privi blockchain.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- canoydario847-cloud/Privi-Network
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool covers a distinct step of the anchoring lifecycle: local hashing, on-chain anchoring, verification, and service status. The only friction is the near-identical names anchor_hashes and anchor_hash_text, which an agent could momentarily confuse, though the descriptions clearly separate write-to-chain from local SHA-256 computation.
All four tools use a consistent snake_case 'anchor_' prefix, forming a tidy namespace. The minor deviation is that anchor_hashes is a plural noun phrase while the others are verb-oriented (anchor_hash_text, anchor_verify, anchor_status).
Four tools is a tight, well-scoped surface for a narrow anchoring service: hash, anchor, verify, status. Nothing appears redundant, though the set is small enough that it sits just below the ideal 5-tool breadth.
The core lifecycle is covered end-to-end: produce a hash, anchor it, get receipts, and independently verify against chain data, plus a status tool. Minor gaps exist around listing or retrieving prior anchors/receipts by hash or owner without a tx_hash, and there is no batch verify, but agents can work around this with anchor_verify.
Available Tools
4 toolsanchor_hashesAnchor hashesAInspect
Anchor up to 100 hashes on chain (Base until the Privi chain mainnet) in one transaction. Returns, for each hash, a receipt (tx_hash, Merkle proof, block, time) that anyone can check with anchor_verify. Requires an API key (Authorization: Bearer).
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Optional note kept in this server's index (not on chain) | |
| hashes | Yes | 1-100 hex SHA-256 hashes of the content to anchor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-idempotent, open-world write, and the description adds genuinely useful context beyond them: the target chain, that all hashes go in one transaction, the receipt fields returned (tx_hash, Merkle proof, block, time), and the Bearer API key requirement. It does not discuss cost, irreversibility, or failure/partial-batch behavior, which would matter for an on-chain write.
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?
Three short sentences with the core action and batch limit front-loaded, followed by the return shape and then the auth prerequisite. No filler or repetition of the title.
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?
With no output schema, the description carries the return-shape burden and does so (tx_hash, Merkle proof, block, time), plus the auth and chain details. Missing are cost/gas expectations and what happens if anchoring fails mid-call, which are relevant for a non-idempotent on-chain write.
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 schema already explains both parameters, including the '1-100 hex SHA-256' constraint and that label is off-chain index-only. The description restates the 100 cap without adding format or validation nuance, so baseline 3 applies.
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?
States a specific verb and resource ('Anchor up to 100 hashes on chain') and names the chain in use (Base pending mainnet). The batch-of-hashes framing implicitly separates it from anchor_hash_text, but no sibling is named explicitly, so it stops short of full differentiation.
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?
Usage is implied by the batch limit and by the explicit pointer to anchor_verify for checking receipts, and the auth requirement is stated. There is no explicit 'use this when you already have hashes, use anchor_hash_text when you have raw text' guidance or exclusions, leaving the agent to infer the choice among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anchor_hash_textHash textARead-onlyInspect
SHA-256 of a piece of text, ready to pass to anchor_hashes. Hashing happens here; nothing is stored.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Exact text to fingerprint (UTF-8) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds meaningfully beyond that with 'Hashing happens here; nothing is stored,' clarifying that computation is local and no state is persisted — exactly the reassurance an agent needs before calling.
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?
Two short sentences with zero filler; the algorithm and output destination are front-loaded and the no-storage guarantee follows immediately. Every clause earns its place.
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?
Output schema exists, so return value details need not be explained, and the description correctly points at the downstream consumer. For a one-parameter pure function this is nearly complete; only a note on expected input edge cases (empty string, encoding) would close the gap.
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?
With a single parameter at 100% schema coverage, the schema already explains 'Exact text to fingerprint (UTF-8).' The description's 'piece of text' adds no format, encoding, or edge-case detail beyond the schema, so baseline 3 applies.
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?
Names the exact operation (SHA-256) and the resource (a piece of text), which an agent cannot infer from the name alone. The clause 'ready to pass to anchor_hashes' ties the output to a specific sibling, making it distinguishable from anchor_hashes and anchor_verify.
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?
'Ready to pass to anchor_hashes' establishes the intended workflow context: this is the local pre-step before anchoring. It gives clear positive guidance but no explicit exclusions or when-not-to-use conditions (e.g., hashing a file versus a string).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anchor_statusAnchor statusBRead-onlyInspect
Which chain anchors go to, the service wallet that signs them, its gas balance, and totals.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds domain context about what the status includes, but does not add behavioral details such as auth needs, rate limits, or freshness. It does not contradict the annotations.
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 a single compact phrase with no wasted words and is front-loaded with the main data points. It is slightly fragmentary rather than a complete sentence, but that does not harm brevity.
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 zero-parameter, read-only status tool with an output schema and safety annotations, the description provides enough domain context to identify the payload. It does not need to explain return values because the output schema already does so, though it could be more complete with usage guidance.
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 tool takes zero parameters, and the schema coverage is 100%. Per the rubric, zero parameters establishes a baseline of 4; there is no parameter information the description needs to compensate for.
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 identifies the status payload: chain destinations, signing wallet, gas balance, and totals. It distinguishes itself from hash/verify siblings by content, but lacks an explicit verb and does not name or contrast the alternatives.
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?
No when-to-use or when-not-to-use guidance is provided, and no sibling tools are referenced. The agent must infer that this is the status-retrieval tool from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anchor_verifyVerify an anchorARead-onlyInspect
Check on the blockchain that a hash was anchored, by whom and when. Requires a paid API key. With tx_hash and proof from a receipt, the check uses only chain data.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | The 64-character hex SHA-256 that was anchored | |
| proof | No | Optional: Merkle proof from the receipt | |
| tx_hash | No | Optional: transaction from the receipt, to verify without this server's index |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, open-world operation. The description adds real behavioral context beyond them: it states that a paid API key is required, which is an authentication prerequisite the agent must plan for, and it explains that passing tx_hash and proof bypasses the server's own index, which is a trust-model detail the agent could not infer from the schema or annotations.
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?
Two short sentences, with the core purpose and the authentication requirement front-loaded, followed by the optional-parameter optimization. No filler or repetition of the title.
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?
With only three parameters, full schema coverage, and read-only behavior already covered by annotations, the definition covers what an agent needs before calling the tool. Since there is no output schema, the description does partial duty by indicating the result includes who anchored the hash and when, though it does not explain the shape of a failed or unverified result.
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 coverage is 100%, so the baseline is 3. The description nonetheless adds meaning beyond the schema by framing both optional parameters as coming from a receipt and by stating the consequence of supplying them (chain-only verification). That is semantic value the schema field descriptions do not convey.
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 names a specific verb and resource: it checks a hash's anchoring against the blockchain and returns who anchored it and when. This is clearly distinct from the sibling tools (anchor_hashes, anchor_hash_text), which create anchors rather than verify them, so the agent can tell them apart without consulting the schema.
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 implies when to use the tool: to confirm a prior anchor. It also adds a useful usage condition, that supplying tx_hash and proof from a receipt makes the check depend only on chain data. However, it never states when to use this tool instead of anchor_status, which a sibling whose purpose could overlap. That guidance is left to inference.
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.
4 tool updates
- First observed
anchor_hash_text - First observed
anchor_hashes - First observed
anchor_status - First observed
anchor_verify
Related MCP Connectors
Prove you made it first. Blockchain Timestamp creative work via Claude or any MCP-enabled AI Agent.
Qualified eIDAS RFC 3161 timestamping for AI workflow provenance. SIGNIUS/IDnow backbone.
Tamper-evident SHA-256 hash-chained decision notary for EU AI Act, NIST AI RMF & SOC2.
Tamper-evident proof creation and verification for AI agents via MCP, A2A, and REST.
Related MCP Servers
AlicenseAqualityCmaintenanceBitcoin-anchored provenance for AI outputs; enables stamping, verifying, and tracing outputs with offline-verifiable canonical roots.3Apache 2.0- AlicenseNot gradedqualityFmaintenanceSigned AI content provenance with PII scrubbing — timestamps and signs AI-generated outputs for EU AI Act and FTC compliance.MIT
- FlicenseNot gradedqualityDmaintenanceCryptographically anchored, tamper-evident evidence receipts for AI agents — verified run receipts, existence-at-time proofs, and cited answers from an anchored public record. Remote MCP with proof-gated settlement; attests existence and integrity, never truth.-
- FlicenseNot gradedqualityFmaintenanceSuperseded. Earlier version of the DCL product (MCP endpoint at /sse with API key, plus an offline desktop audit trail). Not the current path for agents. Use the hosted DCL Trust Oracle: https://github.com/Fronesis-Labs/dcl-webhook (MCP endpoint https://mcp.fronesislabs.com/mcp, Streamable HTTP, x402 payment, no API key).-
Glama MCP Gateway
Add one secure layer between your agents and this server.