Skip to main content
Glama

AOTrust - PDR Notarization

notary_free

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).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "notary_free"
  }
}

Input Schema

NameRequiredDescriptionDefault
contentNo
metadataNo
work_hashNo
prev_work_hashNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / prev_work_hash
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  2. Changed8 schema fields changed
    • removedInput schema / properties / agent_pubkey
      Removed value: -{
      -  "default": "",
      -  "type": "string"
      -}
    • removedInput schema / properties / agent_sig
      Removed value: -{
      -  "default": "",
      -  "type": "string"
      -}
    • addedInput schema / properties / content
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedInput schema / properties / metadata
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedInput schema / properties / work_hash / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / work_hash / default
      Added value: +null
    • removedInput schema / properties / work_hash / type
      Removed value: -"string"
    • removedInput schema / required
      Removed value: -[
      -  "work_hash"
      -]
  3. Added

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full load and does well: it discloses rate limits (5/IP/day, 1000/day global), zero retention in Mode B, and the 60KB cap. It stops short of stating whether proofs are immutable, what the 429/limit-exceeded failure looks like, or whether the shield can expire.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences, front-loaded with the core action, then mode selection, then limits, then the routing alternative. No filler and no repetition of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists and the return values are still named (shield_id, pdr_b64, verify_url), limits and mode semantics are covered, so an agent can call this correctly. The unaddressed metadata and prev_work_hash parameters and the unmentioned free sibling keep it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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, and it partly does: it explains content (raw text/code ≤60KB, server hashed, no retention) and work_hash (client-computed SHA-256 hex) plus the A/B exclusivity. It adds nothing about metadata or prev_work_hash, leaving two of four parameters entirely undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a free cryptographic proof of existence (PDR) for a digital artifact') and names the paid sibling it is not ('For on-chain settlement proof, use notary_notarize_paid'). An agent can distinguish it from notary_notarize, notary_quote, and notary_verify without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit mode-selection guidance ('pass work_hash (Mode A...) OR content (Mode B...)') and an explicit exclusion with the alternative named for the on-chain case. The only mild gap is that notary_notarize (unpaid sibling) is never mentioned as an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources