Duplicacy MCP

io.github.GeiserX由 GitHub 账号 GeiserX 发布v0.2.1更新于 Oct 29, 2026

MCP server for Duplicacy: backup health, status and Prometheus metrics from duplicacy-exporter

已验证STDIO仅桌面文件与存储安全与监控

概览

AI 生成的概览

只读的 MCP 桥接服务,把 Prometheus 导出器中的 Duplicacy 备份指标转成备份健康、状态与存储信息供助手查询。

可以做什么
  • 一次调用查看所有备份的健康状况,含判定、原因与上次成功距今时间
  • 列出快照 ID、存储目标与机器,用作筛选值
  • 读取单个快照的状态与最近运行详情,以及最近一次完成的运行
  • 查看是否正在执行 prune 以及上次成功时间
  • 读取存储容量、分块数量与各快照的修订数
  • 以 MCP 资源形式提供状态、进度与健康信息
适用场景
适合已用 Duplicacy 做备份并运行 duplicacy-exporter 的用户,让助手直接回答备份是否正常、哪个快照过期或失败、占用了多少存储等问题,无需打开监控面板。
运行要求
需要一个可通过 DUPLICACY_EXPORTER_URL 访问的 duplicacy-exporter。npm 包以 stdio 运行,需要 Node.js 与 npx。Docker 镜像提供 Streamable HTTP,必须设置 MCP_AUTH_TOKEN(至少 16 个字符),除非在会做认证的反向代理后以未认证方式运行;MCP_ALLOWED_ORIGINS 用于限制跨域浏览器请求。
安装前请注意
Docker 镜像缺少 MCP_AUTH_TOKEN 时拒绝启动,客户端需以 Authorization bearer 令牌发送该密钥,请妥善保管。服务对导出器只读,但会从导出器端点读取备份状态与存储数据,应只指向可信地址。导出器仅保留最近一次运行,历史信息有限。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Duplicacy MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[Duplicacy MCP]

Duplicacy MCP

[npm] [CI] [License] [Docker Pulls] [GitHub Stars]

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_overview gives 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 (the initialize handshake) 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:8080 by 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

ToolWhat it answers
get_backup_overviewHealth 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_snapshotsEvery snapshot ID, storage target and machine, for use as filter values.
get_backup_statusState and last-run details of one snapshot, per storage target and machine.
get_backup_historyThe last completed run of one snapshot. The exporter keeps only the last run.
get_prune_statusWhether a prune is running and when the last one succeeded, per storage target.
get_storage_usageStorage 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

bash
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)

json
{  "mcpServers": {    "duplicacy": {      "command": "npx",      "args": ["-y", "duplicacy-mcp"],      "env": { "DUPLICACY_EXPORTER_URL": "http://localhost:9750" }    }  }}

VS Code (.vscode/mcp.json)

json
{  "servers": {    "duplicacy": {      "type": "stdio",      "command": "npx",      "args": ["-y", "duplicacy-mcp"],      "env": { "DUPLICACY_EXPORTER_URL": "http://localhost:9750" }    }  }}

Codex (~/.codex/config.toml)

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)

bash
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.0claude 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

GPL-3.0-or-later

来源:README.md,提交 0502468

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

4
  1. v0.2.1最新Oct 29, 2026
  2. v0.1.2Oct 21, 2026
  3. v0.1.1Oct 5, 2026
  4. v0.0.2Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分