LabscoMCP early access ↗
GeiserXMCP SERVER

Duplicacy MCP

Read the state of Duplicacy backups from chat — files, bytes, duration and exit code for a snapshot's last run, where it stands now, and how far prune has got.

by GeiserX ↗Observability, Monitoring & Incident ResponseCommunity

LABSCO SUMMARY

It reports on backups; it does not run them.

Every tool here reads — nothing starts a backup, prunes, or restores — so this is a monitoring surface for a Duplicacy install that something else drives, and the useful part is get_backup_history returning an exit code alongside files, bytes and duration rather than a pass mark. The bound to know before installing is that list_snapshots returns what the exporter holds, so a snapshot the exporter is not tracking is invisible here regardless of what the backup host has on disk.

What it is

A read-only window onto Duplicacy backup state, with 4 tools covering the snapshot IDs the exporter knows about, the last run of one of them, its current status, and the state of the prune operation.

What you get

  • Last-run detail instead of a health light: get_backup_history takes a snapshot_id and returns the files, bytes, duration and exit code of that snapshot's most recent backup.
  • Now kept apart from then: get_backup_status reports where a snapshot_id stands at this moment, so a run in progress is not read off the previous result.
  • Prune tracked on its own axis: get_prune_status reports the prune operation and accepts a storage_target to narrow it to one destination.
  • A way in when you do not know the identifiers: list_snapshots returns the unique Duplicacy snapshot IDs the exporter holds, which is exactly what get_backup_history and get_backup_status take as input.

Requirements

No account and no key, but a running Duplicacy Prometheus exporter (duplicacy-exporter) for it to read from — DUPLICACY_EXPORTER_URL points at it, default http://localhost:9750. The reach is whatever that exporter tracks: list_snapshots returns the snapshot IDs it holds, get_backup_history and get_backup_status address one of those by snapshot_id, and get_prune_status is narrowed by storage_target. Distributed under GPL-3.0, so a modified copy handed to anyone else carries the same terms.

Setup effort

One command — npx -y duplicacy-mcp