Duplicacy
FreeMaintainedMCP server that reads Duplicacy backup metrics from a Prometheus exporter and exposes them to LLMs for monitoring backup status, progress, and health.
About
MCP server that reads Duplicacy backup metrics from a Prometheus exporter and exposes them to LLMs for monitoring backup status, progress, and health.
README
Duplicacy MCP
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.
Features
- Reads the metrics of duplicacy-exporter and serves them over MCP.
- One call answers "are my backups OK?":
get_backup_overviewgives every backup a verdict (ok, running, stale, never, failed) with a reason. - Speaks MCP 2026-07-28 (
server/discover, stateless requests) and every earlier revision down to 2024-11-05 (theinitializehandshake) from the same binary, over stdio and Streamable HTTP. Clients that still use the old handshake keep working. - Read-only by design: every tool and resource only reads the exporter, so there is no read-only flag to set. Every tool carries
readOnlyHint, a title, an output schema and structured results. - HTTP listens on
127.0.0.1:8080by default. On any other address it refuses to start without a bearer token, rejects cross-origin browser requests and caps request bodies. - Ships as Go binaries for several platforms (GoReleaser), a Docker image and an npm wrapper.
Tools and resources
| Tool | What it answers |
|---|---|
get_backup_overview |
Health of every backup in one call: verdict, reason, age of the last success. max_age_hours (default 26) sets when a backup is stale. |
list_snapshots |
Every snapshot ID, storage target and machine, for use as filter values. |
get_backup_status |
State and last-run details of one snapshot, per storage target and machine. |
get_backup_history |
The last completed run of one snapshot. The exporter keeps only the last run. |
get_prune_status |
Whether a prune is running and when the last one succeeded, per storage target. |
get_storage_usage |
Storage size and chunks, and revisions per snapshot, from the exporter's storage poller. |
Resources: duplicacy://status, duplicacy://progress and duplicacy://health. Parameters and output fields are on Usage.
Install
The npm package runs the server over stdio; set DUPLICACY_EXPORTER_URL to your exporter.
Claude Code
claude mcp add --transport stdio --env DUPLICACY_EXPORTER_URL=http://localhost:9750 duplicacy -- npx -y duplicacy-mcp
Claude Desktop (claude_desktop_config.json) and Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"duplicacy": {
"command": "npx",
"args": ["-y", "duplicacy-mcp"],
"env": { "DUPLICACY_EXPORTER_URL": "http://localhost:9750" }
}
}
}
VS Code (.vscode/mcp.json)
{
"servers": {
"duplicacy": {
"type": "stdio",
"command": "npx",
"args": ["-y", "duplicacy-mcp"],
"env": { "DUPLICACY_EXPORTER_URL": "http://localhost:9750" }
}
}
}
Codex (~/.codex/config.toml)
[mcp_servers.duplicacy]
command = "npx"
args = ["-y", "duplicacy-mcp"]
env = { DUPLICACY_EXPORTER_URL = "http://localhost:9750" }
npm 12, pnpm and Bun skip install scripts, so the wrapper downloads and verifies the binary on first start. Versions up to 0.1.2 relied on the install script alone; with npm 12 run them as npx -y --allow-scripts=duplicacy-mcp duplicacy-mcp.
Docker (Streamable HTTP)
export MCP_AUTH_TOKEN=$(openssl rand -hex 32)
docker run -d -p 127.0.0.1:8080:8080 -e MCP_AUTH_TOKEN \
-e DUPLICACY_EXPORTER_URL=http://duplicacy-exporter:9750 drumsergio/duplicacy-mcp:v0.2.0
claude mcp add --transport http duplicacy http://127.0.0.1:8080/mcp --header "Authorization: Bearer $MCP_AUTH_TOKEN"
The image listens on 0.0.0.0:8080 inside the container, so it will not start without MCP_AUTH_TOKEN (or MCP_ALLOW_UNAUTHENTICATED=true behind a reverse proxy that authenticates). Compose, a global npm install and a local build are in Getting started; every variable is in Configuration.
Documentation
- Getting started: Docker Compose, npm, local build, first run
- Configuration: environment variables, HTTP security, client config for stdio and HTTP
- Usage: tools, parameters, output fields and resources
- Development: testing with Inspector, credits, contributing
- Related projects: the Duplicacy family, other MCP servers, registry listings
Related projects
Part of the Duplicacy family: duplicacy-exporter, duplicacy-cli-cron, duplicacy-ha, duplicacy-container.
License
Install Duplicacy in Claude Desktop, Claude Code & Cursor
unyly install duplicacy-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add duplicacy-mcp --env DUPLICACY_EXPORTER_URL="" -- npx -y duplicacy-mcpStep-by-step: how to install Duplicacy
FAQ
Is Duplicacy MCP free?
Yes, Duplicacy MCP is free — one-click install via Unyly at no cost.
Does Duplicacy need an API key?
Yes, it requires environment variables: DUPLICACY_EXPORTER_URL. Unyly injects them into the config during install.
Is Duplicacy hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Duplicacy in Claude Desktop, Claude Code or Cursor?
Open Duplicacy on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Changes
Versions and requested access over time.
- New version published
- New version published
- New version published
- Requested access changed+ DUPLICACY_EXPORTER_URL
- New version published
- New version published
- New version published
- New version published
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Unyly Deploy
Deploy sites and MCP servers to Unyly straight from your AI agent
by UnylyAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiPayMCP
Lightweight payments layer for MCP servers: turn tools into paid endpoints with a two-line decorator. [PyPI](https://pypi.org/project/paymcp/) · [npm](https://w
by blustAIServer For Power BI
Enables exploring Microsoft Fabric / Power BI workspaces and semantic models, and executing ad-hoc DAX queries.
by Mitsubishi-FusoTemplate MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Compare Duplicacy with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
