AOTrust - PDR Notarization
Server Details
AOTrust issues cryptographic PDRs (Provenance Data Records) — proving a digital artifact existed at a specific time. $0.01 per proof. Blockchain-anchored. Publicly verifiable.
- Status
- Healthy
- Uptime
- 100.0% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
notary_notarize and notary_notarize_paid both perform paid notarization and are distinguishable only by payment rail (NEAR vs USDC x402), which may cause misselection. notary_free, notary_quote, and notary_verify are clearly distinct in purpose.
All tools share the notary_ prefix and mostly follow a verb-like suffix pattern. However, notary_notarize is redundant, notary_free uses an adjective rather than a verb, and notary_notarize_paid is awkwardly constructed.
Five tools is well-scoped for a focused notarization server: free proof, two paid payment paths, quote, and verification. Each tool maps to a necessary step in the workflow without unnecessary bloat.
The tool surface covers the full notarization lifecycle: quote, pay, notarize, and verify, plus a free proof option. The two payment methods handle different user needs, and verification supports polling to completion. No critical workflow gaps are apparent.
Available Tools
5 toolsnotary_freeAInspect
Create a free cryptographic proof of existence (PDR) for a digital artifact without payment. Dual mode: pass work_hash (Mode A, client-computed SHA-256 hex) OR content (Mode B, raw text/code ≤60KB — server hashes it, zero retention). Subject to rate limits (5/IP/day, 1000/day global). Returns shield_id, pdr_b64, and verify_url. For on-chain settlement proof, use notary_notarize_paid ($0.01 USDC on Base).
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | ||
| metadata | No | ||
| work_hash | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does well: it discloses free operation, rate limits (5/IP/day, 1000/day global), zero content retention, server-side hashing, and the returned identifiers. The one notable gap is the ambiguous 'OR' between work_hash and content — it does not state what happens if both are provided, nor does it mention metadata behavior.
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?
Four focused sentences, each earning its place: purpose, modes, limits, returns, and alternative route. Front-loaded with the core purpose and free nature, with supporting constraints and final routing. No wasted words.
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 tool with an output schema, the description need not enumerate return values, but it does anyway — nice. It covers the main operational limits, retention behavior, and alternative. The gaps are the missing metadata parameter description and the unclear behavior when both content and work_hash are passed. Overall quite complete for a small free tool.
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 0%, so the description must compensate. It adds useful semantics for work_hash ('client-computed SHA-256 hex') and content ('raw text/code ≤60KB — server hashes it, zero retention'), but it completely omits the metadata parameter. The OR relationship between work_hash and content is also underspecified around mutual exclusivity.
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 action and resource: 'Create a free cryptographic proof of existence (PDR) for a digital artifact without payment.' It clearly distinguishes itself from the paid on-chain sibling by naming notary_notarize_paid and contrasting the free nature. The dual-mode explanation further clarifies what the tool does.
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?
Explicitly states when to use this tool (free proof, no payment) and when not to: 'For on-chain settlement proof, use notary_notarize_paid.' It also provides mode selection guidance for work_hash vs content. This is strong routing guidance that helps the agent choose correctly among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notary_notarizeAInspect
Submit a work artifact for on-chain notarisation (NEAR_DIRECT payment path). PREREQUISITE: Send the NEAR amount from notary_quote to the sink account, then provide the resulting tx_hash here. The server verifies the on-chain payment and submits the notarisation. Returns job_id — use notary_verify to poll for the signed PDR. Step 3 of the notarisation flow: quote -> pay -> notarize -> verify.
| Name | Required | Description | Default |
|---|---|---|---|
| tx_hash | Yes | ||
| metadata | No | {} | |
| agent_sig | No | ||
| work_hash | Yes | ||
| agent_pubkey | No | ||
| artifact_uri | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 discloses that the server verifies on-chain payment and returns job_id, but it does not mention error handling, idempotency, or security implications. The transparency is adequate but minimal.
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 4 sentences with no fluff. It is front-loaded with the action ('Submit'), then prerequisites, then server action, then return value and next step. Every sentence adds value.
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?
The tool has 6 parameters (2 required) and an output schema. The description covers the main flow and return value (job_id) but misses details on optional parameters and error behavior. It is adequately complete for a sequential workflow step but lacks depth.
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 0%, meaning no parameter descriptions in the schema. The description only indirectly explains tx_hash and work_hash (from prerequisite context). It does not explain metadata, agent_sig, agent_pubkey, or artifact_uri, leaving the agent with incomplete guidance for all 6 parameters.
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 verb 'Submit', the resource 'work artifact', and the context 'on-chain notarisation (NEAR_DIRECT payment path)'. It also distinguishes from sibling tools by placing it as step 3 in the flow: quote -> pay -> notarize -> 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?
The description provides explicit prerequisites (sending NEAR and providing tx_hash) and tells the agent to use notary_verify for polling. It implicitly explains when to use this tool (after payment, before verification) but does not explicitly state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notary_notarize_paidAInspect
Notarize a work hash on AOTrust (mainnet NEAR + Base USDC receipt). $0.01 USDC via x402-over-MCP: call without payment to receive PaymentRequired; retry with params._meta['x402/payment'] = signed PaymentPayload (EIP-3009, scheme exact, eip155:8453). HTTP clients: POST /notarize with x-payment header.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_sig | No | ||
| work_hash | Yes | ||
| agent_pubkey | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does well: it discloses the two-phase payment flow, the exact payment scheme (EIP-3009), chain ID (eip155:8453), and the HTTP alternative. It does not mention side effects or reversibility, but the payment requirement is the most critical non-obvious behavior and is clearly explained.
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 compact and front-loaded with the main purpose, then the payment flow, then the HTTP note. It is dense but every sentence adds operational detail. Minor formatting improvements could separate the protocol steps, but there is essentially no filler.
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 two-step payment complexity, the description is largely complete: it covers the mainnet NEAR + Base USDC receipt, the EIP-3009 payload, and the HTTP header. An output schema exists, so return values do not need description. However, it omits the optional agent_sig/agent_pubkey semantics and does not explicitly differentiate this tool from the notarize siblings.
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 0%, so the description must compensate. It gives context for work_hash ('a work hash') and documents the payment meta-parameter, but it never explains agent_sig or agent_pubkey, which are optional schema fields. The agent is left guessing what those values should be or why they are needed.
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 clear verb and resource: 'Notarize a work hash on AOTrust'. It further specifies the paid nature ('$0.01 USDC via x402-over-MCP'), which distinguishes it from the sibling tools like notary_free and notary_notarize by payment model.
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 a concrete invocation strategy: call without payment, receive PaymentRequired, retry with a signed PaymentPayload. However, it never explicitly states when to choose this tool over notary_notarize or notary_free, leaving the selection decision to inference from the name and payment wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notary_quoteAInspect
Request a notarisation quote for a work artifact. Returns the cost ($0.01 USDC or NEAR equivalent), a quote_id valid for 600 seconds, the sink account to send payment to, and the PDR schema version. Step 1 of the notarisation flow: quote -> pay -> notarize -> verify.
| Name | Required | Description | Default |
|---|---|---|---|
| work_hash | No | ||
| pdr_version | No | 2.3 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 key stateful facts: it returns a quote_id that is 'valid for 600 seconds,' the sink account, cost, and PDR schema version, while the flow sequence implies no payment or notarization happens at this step. It does not discuss side effects, idempotency, or failure behavior, but the main contract is transparent.
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 only three sentences with no filler. It front-loads the action, then the return values, then the flow placement. Every sentence adds useful 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?
Given that an output schema exists and the parameter names are fairly self-explanatory, the description covers the important operational context: purpose, payment details, quote expiry, and flow order. The main gap is explicit parameter guidance, but the overall tool is simple enough that the description is largely sufficient.
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 0%, so the description must compensate. It gives semantic hints by mentioning a 'work artifact' (mapping to work_hash) and 'PDR schema version' (mapping to pdr_version), but it never explicitly explains the hash format, the optionality/defaults of the two parameters, or that pdr_version selects the schema version used. This is adequate but not complete.
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 uses a specific verb-resource pair ('Request a notarisation quote for a work artifact') and immediately distinguishes the tool from siblings by placing it as 'Step 1 of the notarisation flow: quote -> pay -> notarize -> verify.' This clearly separates it from notary_notarize, notary_notarize_paid, and notary_verify, and the mention of cost/payment separates it from notary_free.
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 explicit flow 'quote -> pay -> notarize -> verify' tells an agent that this tool is the entry point and should precede the pay/notarize/verify siblings. It does not name alternatives like notary_free or state conditions for when not to use the tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notary_verifyAInspect
Verify a notarisation by job_id. Returns status (pending/anchored/error). If anchored, returns the full PDR record (base64, 239 bytes) with Ed25519 signature verification. Step 4 of the notarisation flow: quote -> pay -> notarize -> verify. Can be polled repeatedly until status changes from 'pending' to 'anchored'.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses polling behavior, return types (status, PDR record with size and signature algorithm), and that the status transitions from pending to anchored. Could mention idempotency or rate limits, but good overall.
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 sentences, front-loaded with the action, no redundant information. Every sentence adds value.
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?
The presence of an output schema reduces the need to describe return values in detail. The description covers status transitions, PDR record content, and signature verification. Could elaborate on error conditions, but overall complete for the tool's simplicity.
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?
There is only one parameter (job_id) with 0% schema coverage. The description mentions 'by job_id' but does not explain what it is or where to obtain it. For a single required param, this is adequate but not excellent.
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 it verifies a notarisation by job_id, lists return statuses and what happens when anchored. It explicitly places itself as step 4 of the flow, distinguishing it from sibling tools.
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 explains it is step 4 of the flow (quote -> pay -> notarize -> verify) and that it can be polled until status changes. It does not explicitly mention when not to use it, but the context is clear.
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.
1 tool update
- Changed
notary_notarize_paid3 fields changed- removed
Input schema / properties / agent_pubkey / descriptionRemoved value: -"Optional hex Ed25519 public key." - removed
Input schema / properties / agent_sig / descriptionRemoved value: -"Optional base64 Ed25519 signature (sig_A)." - removed
Input schema / properties / work_hash / descriptionRemoved value: -"SHA-256 hex digest of the work result (64 chars)."
1 tool update
- Changed
notary_free8 fields changed- removed
Input schema / properties / agent_pubkeyRemoved value: -{ - "default": "", - "type": "string" -} - removed
Input schema / properties / agent_sigRemoved value: -{ - "default": "", - "type": "string" -} - added
Input schema / properties / contentAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / metadataAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / work_hash / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / work_hash / defaultAdded value: +null - removed
Input schema / properties / work_hash / typeRemoved value: -"string" - removed
Input schema / requiredRemoved value: -[ - "work_hash" -]
1 tool update
- Changed
notary_quote2 fields changed- added
Input schema / properties / work_hash / defaultAdded value: +"" - removed
Input schema / requiredRemoved value: -[ - "work_hash" -]
1 tool update
- Added
notary_free
4 tool updates
- First observed
notary_notarize - First observed
notary_notarize_paid - First observed
notary_quote - First observed
notary_verify
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1624 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs117 npmMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.