GeiserX/duplicacy-mcp
FreeNot checkedGo-based MCP server for Duplicacy backup monitoring. Query backup job status and Prometheus metrics from a Duplicacy exporter. Docker image available.
About
Go-based MCP server for Duplicacy backup monitoring. Query backup job status and Prometheus metrics from a Duplicacy exporter. Docker image available.
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.
What you get
| 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.
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: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.
Install via npm (stdio transport)
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.
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/server
Configuration
| 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.
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": "[email protected]",
"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 |
|---|---|
| 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 |
Installing GeiserX/duplicacy-mcp
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/GeiserX/duplicacy-mcpFAQ
Is GeiserX/duplicacy-mcp MCP free?
Yes, GeiserX/duplicacy-mcp MCP is free — one-click install via Unyly at no cost.
Does GeiserX/duplicacy-mcp need an API key?
No, GeiserX/duplicacy-mcp runs without API keys or environment variables.
Is GeiserX/duplicacy-mcp hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install GeiserX/duplicacy-mcp in Claude Desktop, Claude Code or Cursor?
Open GeiserX/duplicacy-mcp on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
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.
Template 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 mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare GeiserX/duplicacy-mcp with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
