关于 Duplicacy Mcp
Duplicacy Mcp 是只读桥接服务,供 LLM 通过 duplicacy-exporter 的指标监控 Duplicacy 备份。它提供汇总健康判定,以及状态、历史、存储用量和进度信息。
主要功能
- 01汇总备份健康状态及原因
- 02查看快照、状态和运行历史
- 03检查清理操作与存储用量
- 04提供状态、进度和健康资源
- 05通过 stdio 或 Streamable HTTP 服务
适用场景
- 01检查备份是否正常或已过期
- 02查看特定快照的近期运行
- 03检查存储用量和清理状态
- 04通过 MCP 客户端监控备份进度
MCP 相关
该服务读取 duplicacy-exporter 指标,并向 MCP 客户端提供备份工具和资源。支持 stdio 与 Streamable HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y duplicacy-mcpDUPLICACY_EXPORTER_URLBase URL of duplicacy-exporter, for example http://localhost:9750MCP_AUTH_TOKEN密钥Bearer token clients must send; the image refuses to start without one. At least 16 characters, for example from openssl rand -hex 32MCP_ALLOWED_ORIGINSComma-separated browser origins allowed to call the endpoint cross-origin本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Duplicacy MCP
一个轻量桥接工具,可读取 Prometheus 导出器中的 Duplicacy 备份指标,并将其作为 MCP 服务提供,使大模型能够监控备份状态、进度和健康状况。
功能
- 读取 duplicacy-exporter 的指标,并通过 MCP 提供服务。
- 一次调用即可回答“我的备份是否正常?”:
get_backup_overview会为每个备份给出判定结果(正常、运行中、过期、从未运行、失败)及原因。 - 同一个二进制文件通过标准输入/输出和 Streamable HTTP 支持 MCP 2026-07-28(
server/discover、无状态请求)以及此前所有版本,最低支持 2024-11-05(initialize握手)。仍在使用旧握手的客户端也可以继续工作。 - 设计上仅支持读取:每个工具和资源都只读取导出器,因此无需设置只读标志。每个工具都带有
readOnlyHint、标题、输出架构和结构化结果。 - HTTP 默认监听
127.0.0.1:8080。若使用其他地址,则必须提供 bearer token 才能启动;服务会拒绝跨源浏览器请求,并限制请求正文大小。 - 提供适用于多个平台的 Go 二进制文件(GoReleaser)、Docker 镜像和 npm 封装。
工具和资源
| 工具 | 可查询内容 |
|---|---|
get_backup_overview | 一次调用即可查看所有备份的健康状况:判定结果、原因、距上次成功的时间。max_age_hours(默认值为 26)用于设定备份过期的判定时间。 |
list_snapshots | 获取每个快照的 ID、存储目标和计算机,供筛选时使用。 |
get_backup_status | 查看某个快照在各存储目标和计算机上的状态及最近一次运行的详情。 |
get_backup_history | 查看某个快照最近一次已完成的运行记录。导出器只保留最近一次运行记录。 |
get_prune_status | 查看各存储目标是否正在执行清理,以及最近一次清理成功的时间。 |
get_storage_usage | 从导出器的存储轮询器获取存储大小和分块信息,以及每个快照的修订版本数。 |
资源:duplicacy://status、duplicacy://progress 和 duplicacy://health。参数和输出字段请参阅用法。
安装
npm 包通过 stdio 运行服务;将 DUPLICACY_EXPORTER_URL 设置为你的 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)和 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 和 Bun 会跳过安装脚本,因此包装程序会在首次启动时下载并验证二进制文件。版本不高于 0.1.2 的版本仅依赖安装脚本;使用 npm 12 时,请通过 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"
该镜像在容器内监听 0.0.0.0:8080,因此未设置 MCP_AUTH_TOKEN(或在通过反向代理进行身份验证时设置 MCP_ALLOW_UNAUTHENTICATED=true)就无法启动。Compose、全局 npm 安装和本地构建的说明见快速入门;所有变量见配置。
文档
- 快速入门:Docker Compose、npm、本地构建、首次运行
- 配置:环境变量、HTTP 安全、stdio 和 HTTP 的客户端配置
- 使用方法:工具、参数、输出字段和资源
- 开发:使用 Inspector 进行测试、致谢、贡献
- 相关项目:Duplicacy 系列、其他 MCP 服务、注册表列表
相关项目
属于 Duplicacy 系列:duplicacy-exporter、duplicacy-cli-cron、duplicacy-ha、duplicacy-container。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。