Skip to main content
Glama
GeiserX

duplicacy-mcp

by GeiserX

Prune status

get_prune_status
Read-onlyIdempotent

Check whether a Duplicacy prune is running and retrieve the last successful prune time per storage target and machine. Unknown storage targets return an error listing known targets.

Instructions

Whether a prune is running and when the last one succeeded (RFC 3339, UTC), per storage target and machine. An unknown storage_target is an error that lists the known ones.

Input Schema

NameRequiredDescriptionDefault
storage_targetNoOnly this storage target, exactly as list_snapshots returns it in storage_targets, for example "b2". Omit for all.

Output Schema

NameRequiredDescriptionDefault
countYes
prunesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.2.1
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / storage_target / description
      Previous value: -"(optional) Filter prune status to a specific storage target"New value: +"Only this storage target, exactly as list_snapshots returns it in storage_targets, for example \"b2\". Omit for all."
    • addedInput schema / properties / storage_target / maxLength
      Added value: +256
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "count": {
      +      "type": "integer"
      +    },
      +    "prunes": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "last_success": {
      +            "description": "Time of the last successful prune, RFC 3339 in UTC",
      +            "type": "string"
      +          },
      +          "machine": {
      +            "type": "string"
      +          },
      +          "running": {
      +            "description": "True while a prune is in progress",
      +            "type": "boolean"
      +          },
      +          "storage_target": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "storage_target",
      +          "machine",
      +          "running"
      +        ],
      +        "type": "object"
      +      },
      +      "type": [
      +        "null",
      +        "array"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "prunes",
      +    "count"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover safety (read-only, idempotent, non-destructive), so the bar is lower. The description usefully adds error behavior—an unknown storage_target is an error listing known targets—and specifies UTC/RFC 3339 timestamps, which are behavioral details not present in the annotations.

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?

Two tightly written sentences with no waste. The core purpose is front-loaded, followed by the most important edge-case behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only status tool with an output schema and rich annotations, the description covers what the tool reports, timestamp format, grouping dimensions, and error behavior. Nothing needed to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents the storage_target parameter well. The description adds meaning beyond the schema by stating that an unknown storage_target produces an error listing known targets, which helps the agent understand invalid-input behavior.

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 resource (prune status) and exactly what it reports: whether a prune is running and when the last one succeeded, per storage target and machine. This clearly distinguishes it from backup-history siblings, but it does not explicitly name or contrast with any sibling tool.

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 explains what the tool returns but gives no guidance on when to use it versus alternatives, nor any exclusions or preconditions. Use is only implied by the monitoring nature of the data.

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