Skip to main content
Glama
forestrie

@forestrie/mcp-resolve

by forestrie

Fetch genesis document

fetch_genesis
Read-onlyIdempotent

Fetches a forest genesis document as base64-encoded CBOR with decoded chain binding, so it can be saved once and reused as the trusted key for sealing.

Instructions

GET {baseUrl}/api/forest/{logId}/genesis: the forest's genesis document as CBOR, base64-encoded, with the chain binding it carries (univocity contract address, chain id, forest log id) decoded; the bootstrap key stays in the bytes for the verifier's genesis root to read. For capture: obtain it once, keep it, and pass it as bytes from then on. A copy obtained at check time is not the genesis trust root as intended, and its chain binding is likewise the operator's claim today; keep the copy from registration, or cross-check it against a source you trust independently. Provenance: fetched. Supports: sealing, as known-log-key with the key this copy carries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
logIdYesUUID (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

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
genesisNo
problemNo
supportsYes
provenanceNo
chainBindingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.2/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds substantive behavior beyond them: return encoding (CBOR, base64), that the bootstrap key is preserved for the verifier, the provenance ('fetched'), and the trust-root caveat about copies taken at check time. This is real context an agent cannot get from the annotations.

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

Conciseness3/5

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

The endpoint is front-loaded, but the body is a dense, semicolon-chained run-on with cryptic boilerplate tags ('Provenance: fetched. Supports: sealing...') that are hard to parse. It is information-rich yet not cleanly structured.

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 and full annotations present, the description still supplies the trust and capture context an agent needs to use the result correctly. Minor gaps remain around the cryptic 'Supports' tag and when a fresh fetch is legitimate.

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 both logId and baseUrl are already documented in the schema; the description only embeds them in the URL template, adding no format or fallback semantics beyond what the schema states. Baseline 3 applies.

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 (the forest's genesis document) plus the exact endpoint template, so the agent knows precisely what is retrieved. It is readily distinguishable from siblings like fetch_receipt or fetch_accumulator because it names the genesis document and its chain-binding contents.

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?

Gives concrete usage guidance: 'obtain it once, keep it, and pass it as bytes from then on,' with an explicit when-not ('A copy obtained at check time is not the genesis trust root as intended'). It does not name sibling tools as alternatives, so it stops short of the top band.

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