Skip to main content
Glama
forestrie

@forestrie/mcp-resolve

by forestrie

Fetch receipt

fetch_receipt
Read-onlyIdempotent

Retrieve a registration receipt by receipt URL or log identifiers, returning base64-encoded bytes and the verifier's decoding for independent trust-root verification.

Instructions

GET a receipt: either by receiptUrl (as returned by query_registration) or by {baseUrl, bootstrapLogId, logId, massifHeight, entryId}. Returns the receipt bytes base64-encoded plus the verifier's decoding of them. Provenance: fetched. Supports: none on its own; a receipt is the operator's claim, so verify it under a trust root you hold (or use verify_fetched_receipt).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
logIdNoUUID (with dashes), or a 16/32-byte hex log id
baseUrlNoany SCRAPI base URL; falls back to FORESTRIE_BASE_URL when omitted — never defaulted by the package itself
entryIdNo32 lowercase hex: idtimestamp_be8 || mmrIndex_be8
receiptUrlNoas returned by query_registration
massifHeightNo
bootstrapLogIdNoUUID (with dashes), or a 16/32-byte hex log id

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
decodedNo
problemNo
receiptNo
supportsYes
provenanceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/open-world, so the safety profile is covered. The description adds genuinely new behavioral context the annotations cannot: the return shape (base64 bytes plus verifier decoding), the 'Provenance: fetched' marker, and the trust caveat that a receipt is only the operator's claim. It does not discuss auth or rate limits, so not a 5.

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?

Three dense sentences, front-loaded with the retrieval modes before the return shape and trust guidance. Every sentence carries information, though the cryptographic jargon and packed clause structure cost a little readability.

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?

With an output schema present, the description needn't explain returns, yet it still summarizes them helpfully, and with rich annotations it focuses on the trust model. The main residual gap is not clarifying whether the two addressing modes are mutually exclusive or how conflicts are resolved, so not a perfect 5.

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 83%, so the baseline is 3, and the description goes beyond by framing the six parameters as two alternative addressing schemes and tying receiptUrl back to query_registration. It does not add per-field syntax detail beyond the schema, keeping it at a solid 4 rather than 5.

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 (GET) and resource (a receipt), and enumerates the two distinct input shapes: by receiptUrl or by the {baseUrl, bootstrapLogId, logId, massifHeight, entryId} tuple. It also names the sibling it works with (query_registration for the URL, verify_fetched_receipt for trust), so an agent can distinguish it from siblings without opening schemas.

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?

Explicitly states that this tool 'supports: none on its own' and routes the agent to verify_fetched_receipt or its own trust root, which is a clear when-not and alternative. It is slightly less explicit about when to prefer receiptUrl over the tuple form, so it stops short of full when/when-not coverage.

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