This server bridges Duplicacy backup monitoring into your LLM by reading metrics from a Prometheus exporter. You get four resources (status, progress, health) and four tools (get_backup_status, get_backup_history, list_snapshots, get_prune_status) for querying backup state without touching the filesystem directly. It speaks JSON-RPC over HTTP or stdio, runs as a tiny Go binary, and ships with Docker Compose configs. If you're already running duplicacy-exporter and want Claude to answer questions about backup health, snapshot counts, or prune operations without writing custom scripts, this is the connector. Supports local installs via npm or direct Go builds.
A tiny bridge that reads Duplicacy backup metrics from a Prometheus exporter and exposes them as an MCP server, enabling LLMs to monitor backup status, progress, and health.
| Type | What for | MCP URI / Tool id |
|---|---|---|
| Resources | Browse backup status, progress, and health read-only | duplicacy://statusduplicacy://progressduplicacy://health |
| Tools | Query backup history, list snapshots, and check prune status | get_backup_statusget_backup_historylist_snapshotsget_prune_status |
Everything is exposed over a single JSON-RPC endpoint (/mcp).
LLMs / Agents can: initialize -> readResource -> listTools -> callTool ... and so on.
services:
duplicacy-mcp:
image: drumsergio/duplicacy-mcp:0.1.0
ports:
- "127.0.0.1:8080:8080"
environment:
- DUPLICACY_EXPORTER_URL=http://duplicacy-exporter:9750
Security 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.
npx duplicacy-mcp
Or install globally:
npm install -g duplicacy-mcp
duplicacy-mcp
This downloads the pre-built Go binary from GitHub Releases for your platform and runs it with stdio transport. Requires at least one published release.
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/server
| Variable | Default | Description |
|---|---|---|
DUPLICACY_EXPORTER_URL | http://localhost:9750 | Duplicacy Prometheus exporter URL (without trailing /) |
LISTEN_ADDR | 127.0.0.1:8080 | HTTP listen address (Docker sets 0.0.0.0:8080) |
TRANSPORT | (empty = HTTP) | Set to stdio for stdio transport |
Put them in a .env file (from .env.example) or set them in the environment.
Tested with Inspector and it is currently fully working. Before making a PR, make sure this MCP server behaves well via this medium.
{
"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"
}
Duplicacy -- lock-free deduplication cloud backup
duplicacy-exporter -- Prometheus exporter for Duplicacy
MCP-GO -- modern MCP implementation
GoReleaser -- painless multi-arch releases
Feel free to dive in! Open an issue or submit PRs.
Duplicacy-MCP follows the Contributor Covenant Code of Conduct.
| Project | Description |
|---|---|
| duplicacy-cli-cron | Docker-based encrypted dual-storage backup automation using Duplicacy CLI |
| duplicacy-exporter | Real-time Prometheus exporter for Duplicacy backups |
| duplicacy-ha | Home Assistant custom integration for monitoring Duplicacy backups |
| duplicacy-container | Container image and Helm chart for running Duplicacy on Kubernetes |
DUPLICACY_EXPORTER_URL*Duplicacy Prometheus exporter URL (e.g. http://localhost:9750)
io.github.infoinlet-marketplace/mcp-observability
betterdb-inc/monitor
com.mcparmory/datadog
thotischner/observability-mcp
io.github.tantiope/datadog-mcp
io.github.us-all/datadog