Skip to main content
Glama

create_proof

Create a blockchain timestamp proof that a local file existed at this moment. Only the file's SHA-256 digest is sent and anchored to Polygon; the file itself never leaves your machine.

Instructions

Create a blockchain timestamp proof for a local file, via ProofLedger.

This is the only tool here that uses the network, and the only one that needs an account. Use it when the user wants to PROVE a file exists as of now, rather than check an existing proof. The file's SHA-256 is computed locally and only that digest is sent - the file itself never leaves the machine. The hash is anchored on Polygon (included on every plan, free tier included); Bitcoin anchoring is metered per anchor.

Requires a ProofLedger API key in the PROOFLEDGER_API_KEY environment variable. If it is missing, this returns the steps to get a free one - show them to the user rather than treating it as a failure.

Args: file_path: Path to the file to timestamp. bitcoin: Also request Bitcoin anchoring. Metered per anchor, so the proof returns marked REQUIRED until that anchor is paid for. send_filename: Send the filename as a label so the proof is findable in the dashboard. Set false to send only the hash.

Returns: A plain-text summary of the created proof: its id, status, and the URLs for its certificate and public verification page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bitcoinNo
file_pathYes
send_filenameNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.1

TDQS

A5/5.0
Behavior5/5

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, and it does so thoroughly. It reveals that the tool uses the network, requires an account/API key, computes the SHA-256 locally, sends only the digest, anchors on Polygon or metered Bitcoin, and returns a proof that may be REQUIRED until Bitcoin anchoring is paid. This is far more transparent than a typical 'create proof' one-liner.

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?

The description is organized into clear, front-loaded sections: purpose, usage condition, privacy, auth, parameters, and returns. Although detailed, every sentence adds operational value—network/account requirements, local hashing, billing, missing-key behavior, and parameter effects—so the length is justified and there is no filler.

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?

Given no annotations and a schema with zero property descriptions, this description is unusually complete. It covers prerequisites, network and account implications, privacy safeguards, billing behavior, parameter semantics, missing-key fallback, and return format, so an agent has everything needed to invoke the tool correctly and interpret its output.

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

Parameters5/5

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

Schema description coverage is 0%, and the Args section fully compensates by explaining all three parameters: file_path, bitcoin, and send_filename. It goes beyond the schema's types and defaults by describing billing consequences, the REQUIRED status, and privacy/display implications, giving the agent the semantic context needed to set each parameter correctly.

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?

The description opens with a specific verb and resource: 'Create a blockchain timestamp proof for a local file, via ProofLedger.' It also differentiates this tool from its siblings by stating it is the only one that uses the network and the only one that needs an account, so an agent can immediately tell it apart from compute/verify/explain tools.

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?

The description explicitly says 'Use it when the user wants to PROVE a file exists as of now, rather than check an existing proof,' giving a clear selection condition. It also contrasts this tool with checking/verifying existing proofs and notes that it is the only network- and account-requiring sibling, which routes the agent correctly. The missing-API-key handling further clarifies expected behavior.

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