Skip to main content
Glama
Archiware MCP

Archiware MCP

by mnott

library_abort

Stops a tape-library session cleanly and verifies that no tape remains in a drive, preventing drive conflicts or stuck media after an aborted operation.

Instructions

Stops a session cleanly; verifies that no tape is left in a drive.

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": {
      "session": "<session>"
    },
    "name": "library_abort"
  }
}

Input Schema

NameRequiredDescriptionDefault
sessionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

B3/5.0
Behavior3/5

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

With no annotations at all, the description carries the full burden, and it does add one genuinely useful behavioral fact: it verifies that no tape is left in a drive. However, it is silent on what happens if a tape is still loaded, whether the stop is graceful or forced, whether in-progress work is lost, and whether the call is idempotent. For an operation that halts running work, these omissions matter.

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

Conciseness4/5

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

One compact sentence with the primary action front-loaded and no filler. It is efficient, though the extreme brevity is part of why behavioral and parameter detail is missing.

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?

For a simple one-parameter tool with no output schema and no annotations, the description covers what the tool does and one post-condition. It nonetheless leaves out error behavior when a tape is detected, the semantics of the session identifier, and what the caller gets back, which an agent needs in order to invoke it reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single required parameter, session, at 0% schema description coverage, so the description must compensate for that gap. It only says 'a session' without explaining the identifier format, where to obtain it (for example from library_status), or whether it accepts a name or an ID.

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 uses a specific verb and resource: 'Stops a session cleanly', plus an additional post-condition about verifying no tape remains in a drive. It is clear what the tool does, but it does not distinguish itself from siblings such as container_stop or ensure_done, so an agent must infer that this applies to a library session rather than a container.

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?

There is no statement of when to call this rather than library_status, ensure_done, or container_stop, and no mention of prerequisites such as the session being active. The only usage signal is the implied one that a running session is being aborted, which an agent must infer.

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