Skip to main content
Glama

Extract declared outputs

relay_extract

Pull declared extraction outputs from a disposable VM by name, verifying source hashes and blocking path traversal, symlinks, and changed sources.

Instructions

Pull one or more already-declared extraction outputs home early, by names. Only outputs declared on relay_acquire may be pulled; each pull verifies source and host hashes and rejects path traversal, symlinks, or a source that changed underneath it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
namesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only indicate readOnlyHint=false and destructiveHint=false, leaving safety to the description. The description adds valuable behavioral context: verification of source and host hashes, rejection of path traversal, symlinks, and changed sources. It does not contradict annotations; the pull operation is consistent with readOnlyHint=false.

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 core action and then adding essential constraints. Every word contributes; there is no filler or redundancy.

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 tool with one parameter and no output schema, the description covers what it does, the precondition (declared on relay_acquire), and the safety checks. It does not specify return values or post-pull effects, but those are likely implied by the operation name and context. Minor gap, not critical.

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 coverage is 0% (no parameter descriptions). The description mentions 'by `names`', indicating the parameter is a list of output names, and ties it to 'already-declared extraction outputs'. This adds some meaning beyond the bare array-of-strings schema, but it does not explain format, constraints, or examples, so it only partially compensates for the schema gap.

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 ('pull'), resource ('already-declared extraction outputs'), and mechanism ('by names'). Differentiates from siblings by noting the constraint 'Only outputs declared on relay_acquire may be pulled', which clearly separates it from other relay tools like relay_acquire or relay_stage.

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?

The description explains the intended use: pulling already-declared outputs early. It provides a clear context (outputs must be declared on relay_acquire) but does not explicitly name alternatives or give when-not-to-use guidance. Still, the context is specific enough for an agent to infer when this tool is appropriate.

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