Skip to main content
Glama

Refresh Strategy Catalog

refresh_strategy_catalog

Refreshes strategy metadata catalogs by scanning AST roots and rebuilding corpora when needed. Uses hashes only; never imports or executes corpus files.

Instructions

Refresh one AST root, or rebuild both metadata corpora when package_root_id is set.

    Scans metadata and hashes only; corpus files are never imported or executed.
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
source_root_idYes
package_root_idNo
expected_previous_snapshot_hashNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations provide readOnly=false, openWorld=true, idempotent=false, and destructive=false, and the description adds a meaningful safety boundary: 'Scans metadata and hashes only; corpus files are never imported or executed.' This clarifies exactly what the refresh operation does not do, which is valuable beyond the annotation set. No contradiction is present.

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 two sentences, front-loaded with the primary behavior and conditional mode, followed by the key safety caveat. Every sentence carries useful information and there is no filler or repetition.

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?

Given an output schema exists, return values need not be explained. The description covers the two modes and the no-execution safety property, but leaves expected_previous_snapshot_hash semantics unexplained and gives no usage guidance relative to sibling tools. For an agent calling this tool, the optimistic-concurrency parameter is a notable gap.

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 0%, so the description must compensate. It does explain source_root_id and package_root_id semantically via the first sentence ('Refresh one AST root' vs 'rebuild both metadata corpora'), but expected_previous_snapshot_hash is left entirely to its parameter name, with no explanation of its concurrency or safety role.

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 states a specific action ('Refresh one AST root, or rebuild both metadata corpora') and distinguishes two modes based on package_root_id. It is clear about the resource being operated on, though it does not explicitly differentiate it from siblings like get_catalog_snapshot or prepare_strategy_changes.

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 gives no explicit guidance on when to use this tool versus alternatives. 'When package_root_id is set' describes an internal parameter condition, not a usage context or exclusion. The safety note about scanning metadata only implies a lightweight refresh, but no sibling tool is referenced.

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