Skip to main content
Glama

Refresh Registry Snapshot

refresh_registry_snapshot

Explicitly refresh external registry metadata: resolve moving main once to a full commit, then capture one coherent fixed inventory/manifest snapshot using the qualified client. Pass body:{commandId,expectedSnapshot,expectedRevision}; both expected values are null only for first selection. Preserve the observed snapshotRevision returned by current discovery and the exact snapshot as the CAS witness. Native author sessions inject their existing replay-stable top-level commandId. Stale head/revision refuses rather than rebasing silently. Refresh does not change customer sources, local forks or timeline placements. Preview/variable/dependency metadata changes remain separate, and actual source-byte differences require explicit acquisition before adaptation, review and guarded adoption.

Input Schema

NameRequiredDescriptionDefault
bodyYes
commandIdNoRetry identity. A call repeated with the same commandId returns the first result instead of acting twice.

Output Schema

NameRequiredDescriptionDefault
diffNo
revisionNo
snapshotNo
warningsNo
commandIdNoCreate with boundedCommandId(ulid(), digest) from @cueframe/studio-contracts/commandIdentity, using ulid from the ulid package: cf1:<26-character uppercase ULID>:<64 lowercase hexadecimal characters>. Keep the whole original identity for every retry within the 14-day retry window. After expiry, reconcile the original outcome instead of assigning a new identity. The caller-provided digest is not checked against the request body.
completenessNo
previousSnapshotNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only blanket-declare readOnly=false, destructive=false and openWorld=true; the description adds real substance beyond that: stale head/revision refuses rather than rebasing silently, refresh does not touch customer sources, local forks or timeline placements, and source-byte differences require a separate acquisition step. The 14-day retry window and commandId replay semantics are also disclosed. Slightly short of 5 because return/response behavior after a successful refresh is left entirely to the output schema.

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?

Purpose is front-loaded in the first clause, but the text is a dense run-on stack of internal jargon (CAS witness, replay-stable, guarded adoption) with no formatting breaks, making it hard to scan for the operative instruction. It is information-rich but not efficiently 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?

For a CAS-guarded mutation with nested parameters and a present output schema, the description covers the essential invocation preconditions, refusal semantics, and side-effect boundaries. Gaps are minor: no mention of permission/auth requirements for touching an external registry, and no note on what a successful refresh yields (left to the output schema).

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?

With only 50% schema coverage, the description compensates well: it explains that expectedSnapshot/expectedRevision are null only for the first selection, that the observed snapshotRevision and exact snapshot act as the CAS witness, and that native author sessions inject their existing replay-stable top-level commandId rather than a new body one — a distinction the schema alone does not make. This is meaningfully more than the schema provides.

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 opening sentence gives a specific verb and resource ('Explicitly refresh external registry metadata') and elaborates the mechanism: resolve moving main to a fixed commit, then capture one coherent inventory/manifest snapshot. That is more than a restatement of the title. It does not, however, name or contrast any of the adjacent registry siblings (acquire_registry_item, get_registry_acquisition, get_registry_item), so an agent gets no direct routing signal.

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

Usage Guidelines3/5

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

Usage is implied through 'Explicitly refresh' and the rule that both expected values are null only for first selection, which tells the agent this is the follow-up to discovery. But it never states when to prefer this over acquire_registry_item or get_registry_acquisition, nor what precondition (an existing observed snapshotRevision) is mandatory before calling.

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.