mcp-duplicati
Provides tools for managing Duplicati backups, including checking status, running backups, viewing logs, and controlling the scheduler.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-duplicati Check the status of all my backup jobs."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-duplicatiWith Docker:
docker run -i \
-e DUPLICATI_PASSWORD=yourpassword \
-e DUPLICATI_HOST=http://10.0.0.30:8200 \
ghcr.io/aaronckj/mcp-duplicati:latestAdd to Claude Code:
claude mcp add duplicati -- uvx mcp-duplicatiThen set env vars in Claude Code MCP settings (DUPLICATI_PASSWORD, DUPLICATI_HOST).
Related MCP server: duplicacy-mcp
Configuration
Variable | Required | Default | Description |
| Yes | — | Duplicati web UI password |
| No |
| Duplicati host URL |
| No |
| HTTP timeout in seconds |
Tools
Tool | Description |
| Server version and current state |
| All configured backup jobs |
| Detailed status of a specific job |
| Trigger a job to run immediately |
| Active backup/restore progress |
| Available restore points for a job |
| Pause the scheduler (optional duration in seconds) |
| Resume the scheduler |
| 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 -vAvailable Tools
21 toolsabort_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
Scored across 21 tools
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.
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.
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.
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
Related MCP Connectors
Pingstack monitors cron jobs and scheduled tasks with heartbeat checks, and checks websites, TCP ports, DNS records, SSL certificates and domain expiry. This MCP server lets your agent create, update, pause and delete checks, build dashboards and publish them as status pages, manage notification groups, and read incidents with their causes, uptime, run history and latency. Pause, delete and unpublish stay off until you turn them on. Browser sign-in, no API key needed.
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn 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-
- AlicenseAqualityBmaintenanceMCP server that reads Duplicacy backup metrics from a Prometheus exporter and exposes them to LLMs for monitoring backup status, progress, and health.6229 npm2GPL 3.0
- AlicenseAqualityDmaintenanceMCP server for managing Duplicati backups from an LLM.17MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Tidy, a backup and sync app. Enables AI agents to manage folder backups, schedules, and git sync operations via natural language.MIT