Skip to main content
Glama
Archiware MCP

Archiware MCP

by mnott

catalog_restore

Restores a single file from a packed backup set to a directory on the P5 host, fetching the tar from tape when needed and requiring plan confirmation before writing.

Instructions

Restores ONE file from a packed set into a directory on the P5 host: extracted from the tar when it is on disk; otherwise the tar is restored from tape (via restore, into a scratch dir under packRoot) and the member extracted, then the scratch tar is deleted. Refuses with a fetch list when the needed tape is not in the library. Without confirm only the plan (destination, source, bytes, free space, existing destination files with size+mtime, conflict policy, planId); confirm:true needs that planId.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "path": "<path>",
      "set": "<set>"
    },
    "name": "catalog_restore"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoDefault: restore folder <restoreRoot>/<YYYYMMDD-HHMMSS>/<original path>; 'original' = original location; else a directory below which the original path is placed
setYes
pathYesFile path inside the set (relative to the set's source root)
planIdNoplanId printed by the preview; required with confirm:true. A changed destination or new conflicts make the call refuse and show the new plan
confirmNoMust be true to actually run; without it only the plan/commands are returned
forceSyncNoAllow to:'original' inside a configured syncRoot
onConflictNoWhat to do when a destination file exists: refuse (default), rename (<name>.restored-YYYYMMDD; not for P5 volume restores) or overwrite

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations the description carries the full burden, and it does disclose the important mechanics: on-disk extraction vs. tape fallback, a scratch dir under packRoot that gets deleted, and a refusal with a fetch list when the tape is missing. But it never states privilege or authentication requirements, whether an overwrite is recoverable, or how long a tape restore may take — significant gaps for a mutating filesystem operation.

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?

Front-loaded correctly — the core action comes first, then the fallback mechanics, then the plan/confirm flow. However the second sentence is a long run-on nested clause chain, and the enumeration of plan contents (destination, source, bytes, free space, mtime, conflict policy) is dense enough to be hard to scan in prose form.

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 7-parameter mutation with no annotations and no output schema, the description covers the essentials: two-phase gated execution, the refusal conditions, the tape/scratch side effects, and even what the preview returns. The remaining absence of permission and rollback information is the main shortfall.

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 86%, so the schema already explains path, to, confirm, planId, onConflict, and forceSync. The description reinforces the confirm/planId coupling and notes that a changed destination or new conflicts invalidate the plan, which is real added meaning, but it says nothing about forceSync or the syncRoot restriction beyond what the schema says.

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?

Opens with a specific verb and resource: 'Restores ONE file from a packed set into a directory on the P5 host.' The capitalization of ONE and the mention of the packed set make it clear this is single-member extraction rather than wholesale restore, which implicitly separates it from broader restore siblings, though no sibling is actually named.

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 a clear operating context: call without confirm to get a plan, then re-call with confirm:true plus that planId to execute. What's missing is routing guidance relative to alternatives such as restore_archive or restore_lookup — nothing tells the agent when to prefer this tool over a set-level or archive-level restore.

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