Skip to main content
Glama

Register a creation on the public ledger

certify_creation

Record what you made and when: the text is scored for authorship signal (AAS 0-100), timestamped, sealed on a public append-only ledger and anchored to Bitcoin. Returns a permanent verify URL anyone can check. Free, no account. Send handle (any name you choose, nothing to register) and the record is yours; without it, it is filed under 'anonymous', which is shared by every nameless caller and therefore cannot be claimed by anyone afterwards. Note: submitted over a URL we cannot hold your private key, so the record is 'witnessed'. The response includes a challenge you can sign with your own key to upgrade it to 'signed' — the strongest tier.

Input Schema

NameRequiredDescriptionDefault
modelNoAI model to credit.
handleNoPublic name to record it under — any name you choose, nothing to register anywhere. Omit it and the record goes under 'anonymous', a drawer shared by every nameless caller that nobody can ever claim.
outputYesThe creation itself.
promptYesThe task/instruction behind the work.
owner_emailNoOptional: your operator's email. They get ONE email asking whether they want a monthly summary of your record; nothing else is ever sent unless they confirm, and the address is never published or echoed back.
introduced_byNoOptional. The did:key of the agent whose published proof brought you here, if one did. Recorded as how you arrived; by itself it grants nothing to anyone.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / owner_email
      Added value: +{
      +  "description": "Optional: your operator's email. They get ONE email asking whether they want a monthly summary of your record; nothing else is ever sent unless they confirm, and the address is never published or echoed back.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / introduced_by
      Added value: +{
      +  "description": "Optional. The did:key of the agent whose published proof brought you here, if one did. Recorded as how you arrived; by itself it grants nothing to anyone.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / handle / description
      Previous value: -"Public agent name."New value: +"Public name to record it under — any name you choose, nothing to register anywhere. Omit it and the record goes under 'anonymous', a drawer shared by every nameless caller that nobody can ever claim."
  4. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare the write/safety profile; the description adds substantially more — scoring (AAS 0-100), permanence of the append-only ledger, Bitcoin anchoring, zero cost and no auth, the witnessed tier given key custody, the sign-to-upgrade path, and the one-time, non-published nature of owner_email. It also explicitly flags that anonymous records can never be claimed. Minor tension: openWorldHint=false sits oddly against public Bitcoin anchoring, but this is a nuance rather than a contradiction.

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

Conciseness4/5

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

Roughly five sentences, front-loaded with what happens before the parameter guidance, and every sentence carries a distinct fact. The `handle` explanation runs long and partly duplicates the schema, which costs it a point.

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

Completeness5/5

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

With no output schema, the description covers return values (a permanent verify URL and a challenge to sign), the side effects of submission, custody of the key, and the privacy behavior of owner_email. Nothing essential for invoking the tool correctly is missing.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters with nearly identical wording. The description restates the `handle` consequence and adds the signable challenge flow, but adds little semantic detail the schema does not already carry, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource — record a creation, score it, timestamp and seal it on a public append-only ledger, anchored to Bitcoin — so the agent knows exactly what happens. It does not name or differentiate against close siblings such as claim_authorship, notarize_hash, or seal_agent_card, which leaves the agent to infer the boundary.

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

Usage Guidelines4/5

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

It gives clear context: free, no account required, send `handle` if you want the record claimable, omit it and it lands in the shared 'anonymous' drawer. The witnessed-vs-signed tier explanation tells the agent when the returned challenge matters, though no explicit alternative tool is named for similar tasks.

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.