duplicacy-mcp
Duplicacy-MCP is a monitoring server that exposes Duplicacy backup metrics (sourced from a Prometheus exporter) through an MCP interface. It provides the following capabilities:
get_backup_status: Retrieve the current backup status for a specific Duplicacy snapshot.get_backup_history: Fetch last backup details for a specific snapshot, including files backed up, bytes transferred, duration, and exit code.list_snapshots: List all unique Duplicacy snapshot IDs known to the exporter.get_prune_status: Check the status of prune operations, with an optional filter for a specific storage target.Resources: Browse read-only backup data via
duplicacy://status,duplicacy://progress, andduplicacy://healthfor a high-level view of backup health and progress.
Integrates with a Prometheus exporter to monitor Duplicacy backup metrics, enabling the tracking of backup status, progress, health, history, and snapshot lists.
What you get
Type | What for | MCP URI / Tool id |
Resources | Browse backup status, progress, and health read-only |
|
Tools | Query backup history, list snapshots, and check prune status |
|
Everything is exposed over a single JSON-RPC endpoint (/mcp).
LLMs / Agents can: initialize -> readResource -> listTools -> callTool ... and so on.
Related MCP server: duplicati-mcp
Quick-start (Docker Compose)
services:
duplicacy-mcp:
image: drumsergio/duplicacy-mcp:0.1.0
ports:
- "127.0.0.1:8080:8080"
environment:
- DUPLICACY_EXPORTER_URL=http://duplicacy-exporter:9750Security note: The HTTP transport listens on
127.0.0.1:8080by default. If you need to expose it on a network, place it behind a reverse proxy with authentication.
Install via npm (stdio transport)
npx duplicacy-mcpOr install globally:
npm install -g duplicacy-mcp
duplicacy-mcpThis downloads the pre-built Go binary from GitHub Releases for your platform and runs it with stdio transport. Requires at least one published release.
Local build
git clone https://github.com/GeiserX/duplicacy-mcp
cd duplicacy-mcp
# (optional) create .env from the sample
cp .env.example .env && $EDITOR .env
go run ./cmd/serverConfiguration
Variable | Default | Description |
|
| Duplicacy Prometheus exporter URL (without trailing /) |
|
| HTTP listen address (Docker sets |
| (empty = HTTP) | Set to |
Put them in a .env file (from .env.example) or set them in the environment.
Testing
Tested with Inspector and it is currently fully working. Before making a PR, make sure this MCP server behaves well via this medium.
Example configuration for client LLMs
{
"schema_version": "v1",
"name_for_human": "Duplicacy-MCP",
"name_for_model": "duplicacy_mcp",
"description_for_human": "Monitor Duplicacy backup status, progress, and health via Prometheus metrics.",
"description_for_model": "Interact with a Duplicacy backup monitoring server that reads metrics from a Prometheus exporter. First call initialize, then reuse the returned session id in header \"Mcp-Session-Id\" for every other call. Use readResource to fetch URIs that begin with duplicacy://. Use listTools to discover available actions and callTool to execute them.",
"auth": { "type": "none" },
"api": {
"type": "jsonrpc-mcp",
"url": "http://localhost:8080/mcp",
"init_method": "initialize",
"session_header": "Mcp-Session-Id"
},
"contact_email": "acsdesk@protonmail.com",
"legal_info_url": "https://github.com/GeiserX/duplicacy-mcp/blob/main/LICENSE"
}Credits
Duplicacy -- lock-free deduplication cloud backup
duplicacy-exporter -- Prometheus exporter for Duplicacy
MCP-GO -- modern MCP implementation
GoReleaser -- painless multi-arch releases
Maintainers
Contributing
Feel free to dive in! Open an issue or submit PRs.
Duplicacy-MCP follows the Contributor Covenant Code of Conduct.
Other MCP Servers by GeiserX
cashpilot-mcp — Passive income monitoring
genieacs-mcp — TR-069 device management
lynxprompt-mcp — AI configuration blueprints
pumperly-mcp — Fuel and EV charging prices
telegram-archive-mcp — Telegram message archive
Related Projects
Project | Description |
Docker-based encrypted dual-storage backup automation using Duplicacy CLI | |
Real-time Prometheus exporter for Duplicacy backups | |
Home Assistant custom integration for monitoring Duplicacy backups | |
Container image and Helm chart for running Duplicacy on Kubernetes |
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn MCP server that enables Large Language Models to retrieve, analyze, and query metric data from Prometheus databases through pre-defined routes.Last updated34MIT
- AlicenseAqualityDmaintenanceMCP server for managing Duplicati backups from an LLM.Last updated17MIT
- AlicenseAqualityCmaintenanceMCP server for Proxmox Backup Server. Exposes datastore status, snapshot inventory, garbage collection, verify, and prune over the PBS REST API as 13 LLM-callable tools.Last updated17GPL 3.0
- Alicense-qualityDmaintenanceA lean MCP server that provides LLM agents with transparent access to multiple Prometheus instances for metrics analysis and SRE operations.Last updated4GPL 2.0
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GeiserX/duplicacy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server