canonicalhash
Server Details
Deterministic JSON hashing and EIP-712 attestations for AI agents via x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
batch_canonicalize and canonicalize both perform canonicalization, though the batch vs single-with-attestation distinction is clear from descriptions. Other tools (create_receipt, structure_extraction, verify_attestation) target distinct functions, so misselection risk is moderate.
Most names follow verb_noun (create_receipt, verify_attestation, batch_canonicalize), but canonicalize is a bare verb and structure_extraction uses noun_noun. All are snake_case and readable, but the pattern is not uniform.
5 tools is well-scoped for a canonicalization and attestation service, with each tool covering a distinct capability (single/batch canonicalize, receipt creation, text extraction, verification) without redundancy.
Core operations for JSON canonicalization, attestation/receipt creation, extraction, and verification are present. Minor gaps include no explicit receipt-specific verification or public key retrieval, but main workflows are covered.
Available Tools
5 toolsbatch_canonicalizeBInspect
Batch canonicalize up to 1000 JSON payloads in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| payloads | Yes | Array of JSON payloads, each stringified |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses one useful constraint (the 1000-payload cap), but says nothing about what canonicalization actually does, whether the operation is deterministic, how per-payload errors in the batch are surfaced, or whether the call is atomic. For a batch mutation-style tool this is a significant gap.
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?
A single front-loaded sentence with no filler; the batch limit, the resource, and the call-count efficiency are all packed in without redundancy.
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?
There is no output schema and no annotations, so the description must carry the return and failure semantics itself. It is adequate for identifying the call but leaves open what the response looks like and how partial failures in a 1000-item batch are reported.
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 'payloads' array and its stringified-JSON item format are already documented. The description adds the array-size ceiling of 1000, which the schema does not state, giving it marginal value above the baseline.
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 ('canonicalize'), the resource ('JSON payloads'), and the batch scope ('up to 1000 ... in one call'), which implicitly separates it from the singular 'canonicalize' sibling. It never names that sibling explicitly, so the differentiation is inferred rather than stated.
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 'batch ... in one call' phrasing implies when to reach for this over the single-payload sibling, but no explicit condition or alternative is given. There is no guidance on when batching is inappropriate or how failures are handled.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canonicalizeBInspect
Canonicalize JSON with RFC 8785 and return a SHA-256 hash plus an EIP-712 signed attestation.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | The JSON payload stringified (e.g., '{"b":2,"a":1}') | |
| algorithm | No | sha256 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the return composition (hash plus signed attestation), which hints that signing occurs, but never states that signing requires a key/credential, whether the operation is deterministic, or whether it has side effects. Auth prerequisites and rate limits are entirely absent.
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?
A single front-loaded sentence with no filler; the verb, standard, and output are all packed into one clause.
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 usefully summarizes the return values (hash + EIP-712 attestation), which is the right compensation. However, for a tool that apparently signs data, the absence of any usage routing against four siblings and no auth/permission context leaves meaningful gaps.
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 50%: 'payload' is documented but 'algorithm' has an enum and default with no description. The description names SHA-256, implicitly tying to the default algorithm, but never explains the sha512 alternative or that the algorithm selection changes the emitted hash. Baseline 3 given partial schema coverage.
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 (canonicalize), the resource (JSON), the governing standard (RFC 8785), and the return shape (SHA-256 hash + EIP-712 attestation). This is clear enough to distinguish it from verify_attestation or structure_extraction, though it never explicitly contrasts itself with the sibling batch_canonicalize.
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?
There is no statement of when to use this tool versus batch_canonicalize, verify_attestation, or create_receipt. An agent must infer that single-payload canonicalization is the right choice only from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_receiptCInspect
Generate a tamper-evident EIP-712 action receipt for an agent decision.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Description of the action | |
| metadata | No | Additional metadata stringified JSON |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It hints at a write operation ('Generate') and mentions tamper-evidence and EIP-712, but says nothing about persistence, required auth, idempotency, or what becomes of the produced receipt — thin coverage for a mutation tool with no annotation support.
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?
A single tight sentence that front-loads the verb and states the key distinguishing attributes (tamper-evident, EIP-712). No filler, though it stops short of the extra routing sentence a 5 would need.
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?
Two parameters, no annotations, and no output schema, yet the description never explains what a caller receives back or how the receipt relates to the verify_attestation and canonicalize siblings. For a tool in a cryptographic workflow, an agent lacks enough to use it confidently in sequence.
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 both parameters (action, metadata) are already documented in the schema. The description adds no format, cardinality, or constraint details beyond that, making the baseline 3 appropriate.
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?
Clear specific verb 'Generate' plus a precise resource: a tamper-evident EIP-712 action receipt bound to an agent decision. It is unambiguous on its own, but it does no work to distinguish itself from the closely related sibling verify_attestation, so it falls short of 5.
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?
There is no guidance on when to generate a receipt versus when to use verify_attestation or canonicalize, and no stated preconditions. The agent is left to infer the workflow entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
structure_extractionAInspect
Extract structured JSON from messy text (emails, logs, tickets) using regex or Needle 3.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The messy text to extract from | |
| schema | No | Optional output schema stringified JSON |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the two extraction mechanisms, which hints at deterministic (regex) versus model-driven (Needle 3) behavior, but it says nothing about failure behavior on non-matches, cost/latency of the model path, or determinism. Useful but incomplete behavioral disclosure.
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?
A single tight sentence with the action front-loaded and the input examples and engine options packed into one parenthetical. Nothing wasted, nothing buried.
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 and no annotations, the description should say more about the shape of the returned JSON (per-record array vs object, key naming) and how the regex/Needle 3 choice affects results. Given the low complexity of a 2-parameter tool, this is adequate but leaves real gaps.
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 both parameters (text, schema) are already documented in the schema. The description adds no extra meaning about the optional 'schema' parameter, such as whether passing it constrains or validates output. Baseline 3 for a fully documented schema.
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 output ('Extract structured JSON') plus the resource/input type ('messy text'), with concrete examples of source material (emails, logs, tickets). It does not differentiate from siblings like canonicalize or batch_canonicalize, but those appear functionally distinct, so the gap is minor.
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 parenthetical source examples imply when the tool is useful, but there is no explicit when-to-use vs when-not guidance and no mention of alternatives. Critically, it names two engines ('regex or Needle 3') without saying how to choose between them, leaving the primary usage decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_attestationBInspect
Verify an EIP-712 attestation against the published public key. Always free.
| Name | Required | Description | Default |
|---|---|---|---|
| attestation | Yes | The attestation object stringified JSON |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral load. It usefully discloses the verification method (EIP-712 signature checked against the published public key) and that the operation is free, but says nothing about what a failed verification yields, whether it errors or returns a negative result, or any side effects.
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 no filler; the core action leads and the pricing note trails. Nothing could be cut without losing information.
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 single-parameter verification tool with no output schema and no annotations, the description omits the most important remaining detail: what the result looks like (boolean, recovered signer, error on failure). Otherwise it is adequate.
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?
Only one parameter and the schema description coverage is 100%, so the schema already documents 'attestation' as a stringified JSON object. The description adds no format, encoding, or validity details beyond that, which is the expected baseline when the schema does the work.
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 (verify) and resource (EIP-712 attestation) plus the trust anchor (published public key), so the agent knows exactly what the call does. It does not name or contrast any sibling, but the siblings (canonicalize, create_receipt, structure_extraction) are unrelated enough that confusion is unlikely.
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?
'Always free' is pricing information, not usage guidance; it does tell the agent cost is never a reason to avoid the call, but there is no statement of when to use this versus alternatives or any prerequisites (e.g. needing a published key to exist).
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.
5 tool updates
- First observed
batch_canonicalize - First observed
canonicalize - First observed
create_receipt - First observed
structure_extraction - First observed
verify_attestation
Related MCP Connectors
Deterministic JSON checks with signed evidence and x402-paid execution
Verifiable crypto signals, recorded history and always-on monitoring for AI agents via x402 on Base.
Deterministic prompt-injection detection & sanitization for AI agents via x402 on Base.
10 deterministic micro-tools for agents. x402 on X Layer, zero LLM.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to fetch and independently verify on-chain data such as account balances and contract code hashes using Merkle proofs and ECDSA signatures, with x402 payment integration.3MIT

EVIDIQ Notary MCPofficial
AlicenseNot gradedqualityBmaintenanceCryptographic receipt layer for AI inferences. Enables notarization and verification of AI outputs with on-chain proofs via x402 payment.1MIT- FlicenseNot gradedqualityBmaintenanceEnables AI agents to discover and invoke x402-monetized computational engines for media geometry, measurements, JSON hygiene, and ComfyUI preflight audits, with USDC settlement on Base Mainnet.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to resolve tokens, get quotes, check for honeypots/rug pulls, build swaps, and retrieve receipts via x402 micropayments.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.