Token导航 LogoToken导航TokenDH.com
Bareos MCP Server logo
运维云端未说明官方级别未说明来源级核验

Bareos MCP Server

MCP Server

Bareos MCP Server是一个为Bareos备份系统设计的模型上下文协议服务器,提供只读操作以监控和查询备份基础设施。

工具数

8

提示词数

0

GitHub Stars

1

资源数

0
基础设施管理RustClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

edeckers

提供方

edeckers

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Bareos MCP服务器

![Release](https://github.com/edeckers/bareos-mcp-server/actions/workflows/release.yml) ![License](https://opensource.org/licenses/MPL-2.0)

一种模型上下文协议(MCP)服务器 Bareos备份系统,提供用于监视和查询备份基础架构的只读操作。

快速开始

配置后,自然地向您的AI助手询问您的备份:

"Show me the last 10 backup jobs"
"Are there any failed backups today?"
"What's the status of job 12345?"
"How much storage is left in the Full pool?"
"List all volumes ready for pruning"

特性

只读操作

  • 工作:列出最近的作业,获取详细状态,查看作业日志
  • 客户:列出所有Bareos文件守护进程客户端
  • 文件集:列出已配置的备份文件集
  • 存储:列出具有容量信息的池和卷

为了确保生产环境的安全,所有操作都是只读的。

先决条件

  • 锈蚀1.70+ -用于构建服务器
  • Bareos董事 -通过bconsole访问
  • bconsole -Bareos Director的命令行界面

安装

1.克隆和构建

git clone https://github.com/edeckers/bareos-mcp-server.git
cd bareos-mcp-server
cargo build --release

二进制文件将位于: target/release/bareos-mcp-server

2.配置bconsole访问权限

MCP服务器调用 bconsole 与Bareos总监互动。默认情况下,它会查找 bconsole 在PATH中,但您可以设置 BAREOS_BCONSOLE_PATH 环境变量,用于指定二进制或包装器脚本的绝对路径:

export BAREOS_BCONSOLE_PATH=/usr/sbin/bconsole

您还可以通过MCP客户端配置传递此信息(请参阅步骤3)。

您有几个选择:

选项A:本地控制台(直接访问)

如果bconsole安装在本地,并且您可以访问:

# Test that bconsole works
bconsole -c /etc/bareos/bconsole.conf

无需额外设置-服务器将直接使用bconsole。

选项B:通过SSH远程访问Bareos

如果您的Bareos Director位于远程主机上,请创建一个包装器脚本:

# Copy the example
cp bconsole.example.sh bconsole
chmod +x bconsole

# Edit bconsole and set your hostname
vim bconsole

包装内容示例:

#!/usr/bin/env bash
ssh your-bareos-host "sudo bconsole $*"

将包装器目录添加到PATH中或在MCP配置中引用它。

选项C:Docker/容器设置

在具有Bareos Director网络访问权限的容器中运行bconsole。

3.配置MCP客户端

克劳德代码(CLI)

创建 .mcp.json 在您的项目目录中:

cp .mcp.json.example .mcp.json
# Edit with your paths
vim .mcp.json

配置示例:

{
  "bareos": {
    "command": "/absolute/path/to/bareos-mcp-server/target/release/bareos-mcp-server",
    "args": [],
    "env": {
      "BAREOS_BCONSOLE_PATH": "/absolute/path/to/bconsole"
    }
  }
}

适用于克劳德桌面

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "bareos": {
      "command": "/absolute/path/to/bareos-mcp-server/target/release/bareos-mcp-server",
      "args": [],
      "env": {
        "BAREOS_BCONSOLE_PATH": "/absolute/path/to/bconsole"
      }
    }
  }
}

用法

使用克劳德代码

cd your-project
claude

示例查询:

  • “显示最近10个备份作业”
  • “作业12345的状态如何?”
  • “列出所有Bareos客户端”
  • “满池中有多少存储空间?”
  • “显示准备修剪的卷”

可用工具

工具说明参数
list_jobs列出带有筛选器的备份作业job, client, jobstatus, jobtype, joblevel, volume, pool (所有可选过滤器); days, hours (时间过滤器,以小时为准); last, count (输出模式,计数获胜)
get_job_status获取作业的详细状态job_id (必填)
get_job_log查看完整的作业日志job_id (必填)
list_files列出作业中备份的文件job_id (必填)
list_clients列出所有文件守护进程客户端
list_filesets列出备份文件集
list_pools列出存储池
list_volumes列出卷/介质pool (可选过滤器)

list_jobs 参数详细信息

list_jobs 该工具支持多种过滤器和选项,可以组合使用:

过滤器 (所有选项均可选择,也可组合使用):

  • job -按作业名称筛选
  • client -按客户端名称筛选
  • jobstatus -按状态过滤(例如。, T=终止, f=失败, R=运行)
  • jobtype -按类型过滤(例如。, B=备份, R=恢复, V=验证, D=管理员, C=复制, M=迁移)
  • joblevel -按级别过滤(例如。, F=满, I=增量, D=差分)
  • volume -按卷名筛选
  • pool -按池名称筛选

了解工作类型:

  • 当用户询问“备份”或“备份性能”时,他们通常指的是 仅备份作业 (jobtype: "B").除非明确要求,否则不要包括验证、还原或其他作业类型。
  • 验证作业(jobtype: "V")验证备份完整性,但不是备份本身
  • 使用 jobtype 当存在歧义时,过滤器专注于特定操作

时间过滤器 (相互排斥):

  • days -显示最近N天的作业
  • hours -显示最近N小时的作业
  • 优先:如果两者都提供, hours 优先(匹配Bareos行为)

输出模式 (相互排斥):

  • last -仅显示每个作业的最近一次运行(警告:如果作业在时间范围内运行了多次,则只返回最后一次运行)
  • count -显示匹配作业的计数而不是详细信息
  • 优先:如果两者都提供, count 优先(匹配Bareos行为)

例子:

  • {"client": "web-server", "days": 7} -过去7天内web服务器的所有作业
  • {"jobstatus": "f", "hours": 24, "count": true} -过去24小时内失败的作业计数
  • {"pool": "Full", "last": true} -完整池中每种作业类型的最新运行(每个作业只运行一次)

直接测试

在没有MCP客户端的情况下测试服务器:

# Initialize
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | ./target/release/bareos-mcp-server

# List tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | ./target/release/bareos-mcp-server

# Call a tool - list jobs from last 7 days
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_jobs","arguments":{"days":7}}}' | ./target/release/bareos-mcp-server

# List the most recent jobs for a specific client
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_jobs","arguments":{"client":"backup-client-1","last":true}}}' | ./target/release/bareos-mcp-server

# Count failed jobs in the last 24 hours
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_jobs","arguments":{"hours":24,"jobstatus":"f","count":true}}}' | ./target/release/bareos-mcp-server

故障排除

bconsole未找到

# Check if bconsole is in PATH
which bconsole

# Or create wrapper script (see Setup section)

权限不足

# Check bconsole config permissions
ls -l /etc/bareos/bconsole.conf

# May need to add user to bareos group
sudo usermod -a -G bareos $USER

连接被拒绝

# Test bconsole directly
echo "version" | bconsole

# Check Director is running
systemctl status bareos-dir

SSH问题(远程设置)

# Test SSH connection
ssh your-host "bconsole" << EOF
version
quit
EOF

# Check SSH key authentication
ssh -v your-host

许可证

MPL-2.0

目录标签

目录标签

基础设施管理RustClaude备份监控本地部署只读查询Bareos集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP