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
- Last Tested
- Transport
- Streamable HTTP
- URL
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 artifact with x402 USDC payment on Base blockchain. IMPORTANT: This tool is for DISCOVERY ONLY — it cannot be called via MCP. To use x402 payment: POST /notarize with {"work_hash": "..."} to receive 402 + payment requirements. Then POST /notarize again with x-payment header (EIP-3009 authorization) to receive signed PDR.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_sig | No | Optional base64 Ed25519 signature (sig_A). | |
| work_hash | Yes | SHA-256 hex digest of the work result (64 chars). | |
| agent_pubkey | No | Optional hex Ed25519 public key. |
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 of behavioral disclosure. It reveals the two-step payment protocol (402 response, then x-payment header) and the outcome (signed PDR). While it doesn't detail side effects or auth requirements, the payment flow is well-explained. A minor gap is that it doesn't state whether the tool modifies state beyond creating the PDR.
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 two sentences long with a critical note front-loaded. It efficiently conveys the main purpose and the key restriction. Could be slightly more structured (e.g., separating purpose from usage caveat), but overall it is concise and scannable.
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 an output schema (not shown) but the description only mentions 'signed PDR' without details on its format or contents. The complex payment workflow is adequately explained, but the lack of annotation and only partial output description leaves some gaps for an agent to fully understand the tool's behavior and response.
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 input schema has 100% coverage per context signals, meaning all parameters are documented in the schema. The description only mentions work_hash in the context of the HTTP workflow, adding minimal extra semantics. It does not explain agent_sig or agent_pubkey beyond the schema defaults. Baseline 3 is appropriate as the description adds little value over the 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?
Clearly states the action (notarize), resource (work artifact), and payment mechanism (x402 USDC on Base). The name and description differentiate from sibling notary_notarize by specifying 'paid'. However, the critical restriction 'DISCOVERY ONLY — cannot be called via MCP' is prominently noted, which slightly reduces clarity as it adds a usage constraint beyond the core purpose.
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 that the tool is for discovery only and cannot be invoked via MCP, providing exact HTTP instructions (POST endpoints, headers) for actual use. This clearly tells the agent when NOT to use the tool and provides a precise alternative workflow.
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. Dates show when Glama detected each change.
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
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.MIT

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- AlicenseNot gradedqualityCmaintenanceEnables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.MIT
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.11961MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool serves a distinct purpose: free notarization, paid NEAR notarization, quote generation, verification, and a USDC discovery tool that is explicitly marked as non-callable. There is no ambiguity between the tools.
All tools follow a consistent 'notary_' prefix with descriptive lowercase verbs (free, notarize, notarize_paid, quote, verify). The pattern is uniform and predictable.
With 5 tools, the server is well-scoped for a notarization service. It covers the essential steps (free, quote, paid notarize, verify) without unnecessary bloat.
The toolset covers the core workflow: free PDR creation, paid NEAR notarization, and verification. However, the USDC-paid notarization tool is marked as discovery-only and cannot be used via MCP, leaving a minor gap in the paid options.