Skip to main content
Glama

Verify a receipt

verify_receipt
Read-only

Check that a record still says what was signed: the permitted or refused decision, unchanged, under a trusted or embedded key. Handles both formats: ATTESTATION-v1 (a model-call decision) and ACTION-v1 (an agent tool action). No Aqta service in the check.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
profileNoUsually omit this. The record's own signed version tag selects the format, and ATTESTATION-v1 is the default. Pass 'ACTION-v1' only to force an agent-action record to be checked as one.
receiptYesThe record, as a JSON object or a JSON string.
public_keyNoBase64url Ed25519 key to trust. Omit to use the key embedded in the record, which proves internal consistency only, never provenance.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already mark the tool read-only and non-destructive, and the description is consistent with that. It adds useful behavioral context: verification can rely on a trusted or embedded key, and no Aqta service is used. However, it omits return behavior and failure/error handling, so it does not fully expose how the tool behaves on invalid or tampered records.

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 compact, front-loaded with the core verification purpose, and adds the two format types and the no-Aqta-service note without waste. The 'No Aqta service in the check' is somewhat cryptic but earns its place as a useful dependency note.

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

Completeness3/5

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

The input schema and annotations cover the key inputs and read-only profile well, and the description adds format support and the external-service distinction. Still, because there is no output schema and no mention of what a successful or failed verification returns, the definition leaves a meaningful gap for agents deciding how to interpret the result.

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 receipt, profile, and public_key well, including the important provenance caveat for embedded keys. The description reinforces the format and key concepts but does not add meaning beyond the schema.

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 names a specific verb-resource pair (verify a receipt / check a signed record) and clearly states the purpose: confirming that the permitted or refused decision is unchanged. It also calls out the two supported formats, ATTESTATION-v1 and ACTION-v1, which helps scope the tool, though it does not explicitly differentiate it from siblings like decode_receipt.

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

Usage Guidelines2/5

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

The description implies verification use cases, but gives no explicit guidance on when to choose this tool over siblings such as decode_receipt, explain_attestation_format, or verify_evidence_pack. The phrase 'No Aqta service in the check' is more of a behavior note than usage guidance, so the agent must infer routing.

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.

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have clear distinct jobs: decode, verify, get, list, summarize. The only mildly overlapping pairs are decode_receipt vs explain_attestation_format and verify_receipt vs verify_evidence_pack, but the scopes are well described.

Naming Consistency4/5

The dominant pattern is verb_noun: decode_receipt, get_public_key, list_my_receipts, verify_receipt. workspace_summary breaks the pattern by being noun-only, but the rest are consistent enough to be predictable.

Tool Count5/5

10 tools is well within the ideal range for a focused attestation and receipt-verification server. Each tool serves a distinct operation from fetching samples and keys to decoding, verifying, listing, and summarizing receipts.

Completeness4/5

The read/verify workflow is well covered: format explanation, decoding, single-receipt verification, pack verification, sample artifacts, workspace listing, and summary. The main gap is that transparency proofs can be retrieved but there is no corresponding tool for independently verifying a transparency proof.

Resources