Skip to main content
Glama
mcp-duplicati

mcp-duplicati

by aaronckj

mcp-duplicati

MCP server for Duplicati backup management. Exposes 9 tools for checking status, running backups, viewing logs, and controlling the scheduler.

Quick Start

With uvx (recommended):

DUPLICATI_PASSWORD=yourpassword uvx mcp-duplicati

With Docker:

docker run -i \
  -e DUPLICATI_PASSWORD=yourpassword \
  -e DUPLICATI_HOST=http://10.0.0.30:8200 \
  ghcr.io/aaronckj/mcp-duplicati:latest

Add to Claude Code:

claude mcp add duplicati -- uvx mcp-duplicati

Then set env vars in Claude Code MCP settings (DUPLICATI_PASSWORD, DUPLICATI_HOST).

Related MCP server: duplicacy-mcp

Configuration

Variable

Required

Default

Description

DUPLICATI_PASSWORD

Yes

—

Duplicati web UI password

DUPLICATI_HOST

No

http://localhost:8200

Duplicati host URL

DUPLICATI_TIMEOUT

No

30

HTTP timeout in seconds

Tools

Tool

Description

server_info

Server version and current state

list_backups

All configured backup jobs

backup_status

Detailed status of a specific job

run_backup

Trigger a job to run immediately

progress

Active backup/restore progress

list_versions

Available restore points for a job

pause

Pause the scheduler (optional duration in seconds)

resume

Resume the scheduler

get_logs

Recent log entries (optionally filtered by job)

Development

git clone https://github.com/aaronckj/mcp-duplicati
cd mcp-duplicati
uv sync --extra dev
uv run pytest -v

Available Tools

21 tools
abort_backupC

Abort a currently running backup job.

Inputs: backup_id (required).

backup_statusB

Get detailed status of a specific backup job including destination, settings, and schedule.

Inputs: backup_id (required).

compact_backupC

Compact the backup destination: removes unused data blocks to reclaim storage space.

Inputs: backup_id (required).

create_backupB

Create a new Duplicati backup job. source_paths: comma-separated local paths to back up. destination_url: Duplicati backend URL (e.g., 'file:///mnt/backup', 's3://bucket/path'). passphrase: optional AES-256 encryption key.

Inputs: name (required), source_paths (required), destination_url (required), passphrase.

delete_backupB

Delete a backup job configuration. Does NOT delete backup data on the destination.

Inputs: backup_id (required).

dismiss_notificationC

Dismiss a Duplicati notification by ID.

Inputs: notification_id (required).

export_backup_configA

Export a backup job's full configuration as JSON. Use this to save/restore job definitions or migrate to another Duplicati instance.

Inputs: backup_id (required).

get_logsB

Retrieve recent log entries. backup_id: optional, filters to a specific job. page_size: 1-500. page: 0-indexed page number.

Inputs: page, backup_id, page_size.

get_server_settingsA

Get Duplicati server-level settings (schedule, concurrency, update channel, etc.).

Inputs: no named parameters.

list_backupsA

List all configured backup jobs with ID, name, last run, and next run.

Inputs: no named parameters.

list_notificationsA

List all pending Duplicati notifications and alerts.

Inputs: no named parameters.

list_versionsB

List available restore points (filesets) for a backup job.

Inputs: backup_id (required).

pauseB

Pause the Duplicati scheduler. duration: optional seconds (converted to HH:MM:SS for Duplicati API).

Inputs: duration.

progressB

Get current progress of any active backup or restore operation.

Inputs: no named parameters.

repair_backupC

Repair the local database for a backup job. Rebuilds index from destination.

Inputs: backup_id (required).

restore_filesB

Restore files from a backup to a local directory. restore_path: destination directory on this machine. source_path: optional path filter within backup (empty = all files). restore_time: 'latest' or ISO timestamp.

Inputs: backup_id (required), restore_path (required), source_path, restore_time.

resumeA

Resume the Duplicati scheduler after a pause.

Inputs: no named parameters.

run_backupB

Trigger a backup job to run immediately.

Inputs: backup_id (required).

search_backup_filesB

Search files within a backup version. path_filter: glob pattern (e.g., '*.pdf'). restore_time: 'latest' or ISO timestamp.

Inputs: backup_id (required), path_filter, restore_time.

server_infoA

Get Duplicati server version and current state.

Inputs: no named parameters.

verify_backupC

Verify backup integrity by comparing local database with actual data at the destination.

Inputs: backup_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 21 tools

    Disambiguation5/5

    Each tool has a distinct purpose; there is no clear overlap between any two tools. Even closely related tools like list_backups and backup_status serve different granularity levels.

    Naming Consistency4/5

    Most tools follow a clear verb_noun or noun_verb pattern with snake_case (e.g., create_backup, list_versions, backup_status). A few shorter names like pause, resume, and progress are acceptable but deviate slightly.

    Tool Count5/5

    21 tools is well-suited for a comprehensive backup management server covering lifecycle, maintenance, monitoring, and configuration. All tools serve a clear purpose without unnecessary bloat.

    Completeness4/5

    The tool surface covers core backup operations (create, run, abort, delete, restore), maintenance (repair, compact, verify), logs, notifications, and settings. Missing an update/backup job edit tool, but the set is still very functional.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables AI assistants to manage restic backups, including listing snapshots, browsing files, and creating new backups. It provides tools for repository maintenance, data restoration, and applying retention policies through the Model Context Protocol.
      2
      -
    • A
      license
      A
      quality
      B
      maintenance
      MCP server that reads Duplicacy backup metrics from a Prometheus exporter and exposes them to LLMs for monitoring backup status, progress, and health.
      6
      229 npm
      2
      GPL 3.0
    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server for Tidy, a backup and sync app. Enables AI agents to manage folder backups, schedules, and git sync operations via natural language.
      MIT