Skip to main content
Glama
forestrie

forestrie-verify

Official
by forestrie

Decode a receipt to JSON

decode_receipt
Read-onlyIdempotent

Render a COSE receipt's CBOR as JSON—headers, named labels, payload, signature, and inclusion proof. Does not verify validity.

Instructions

Render a COSE receipt's CBOR as JSON — headers, named labels, payload, signature and inclusion proof. NO VERIFICATION is performed: a receipt that decodes cleanly may still be invalid. Mirrors forestrie decode-receipt --json.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
receiptYesthe COSE receipt to render

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagYes
payloadYes
inclusionYes
protectedYes
signatureYes
byteLengthYes
unprotectedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

The all-caps NO VERIFICATION disclosure is valuable, non-obvious behavioral context that goes beyond the annotations (which cover read-only/idempotent safety but say nothing about semantics). Adding that clean decoding doesn't imply validity is a strong behavioral caveat. Not a 5 only because it omits output shape details and error behavior on malformed CBOR.

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?

Three tight sentences, front-loaded with the action and output shape, followed by the critical caveat and the CLI mirror. Every sentence earns its place with no waste.

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 an output schema present, the description needn't enumerate return fields; it still usefully names the rendered components. Annotations cover safety, schema covers params, so the remaining gaps (no-verification semantics, sibling routing) are handled — nothing essential to correct invocation is missing.

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 coverage is 100% and the single param (receipt, either b64 or path) is fully documented in the schema, so baseline 3 applies. The description nudges above baseline by clarifying that the receipt is a COSE receipt whose CBOR is being decoded, adding framing for how the param is interpreted.

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 (render/decode) and resource (COSE receipt CBOR to JSON), and enumerates exactly what is rendered: headers, named labels, payload, signature, inclusion proof. This clearly distinguishes it from siblings verify_receipt and verify_grant_receipt.

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?

Explicitly states the key when-to-use/when-not distinction: it performs NO VERIFICATION, so a clean decode does not imply validity — implicitly routing agents to verify_receipt for validation. This is exactly the disambiguation an agent needs when choosing between decode and verify siblings.

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

Deploy Server

Other Tools