bareos
MCP server for Bareos backup system. Query your backups via your favorite AI assistant
claude mcp add --transport stdio edeckers-bareos-mcp-server /absolute/path/to/bareos-mcp-server/target/release/bareos-mcp-server \ --env BAREOS_BCONSOLE_PATH="/absolute/path/to/bconsole"
How to use
This Bareos MCP Server provides read-only access to monitor and query a Bareos backup infrastructure. It exposes tools that let you list and inspect backup jobs, clients, filesets, pools, and volumes, as well as retrieve detailed job status and logs. You can invoke these tools via MCP clients (such as Claude Code) or directly against the server using the JSON-RPC interface demonstrated in the README. Typical workflows include asking for the last N backup jobs, checking for failed backups within a time window, or getting storage pool capacity information. The available tools are designed to be safe for production since all operations are read-only.
Key tools available:
- list_jobs: list backup jobs with rich filtering (by job, client, status, type, level, volume, pool) and time/output options.
- get_job_status: retrieve detailed status for a specific job.
- get_job_log: fetch the complete log for a job run.
- list_files: enumerate files backed up in a given job.
- list_clients: list Bareos file daemon clients.
- list_filesets: list configured filesets.
- list_pools: list storage pools.
- list_volumes: list volumes/media, with an optional pool filter.
Examples include querying for the last 7 days of jobs for a specific client, counting failed jobs in the last 24 hours, or listing the most recent runs in a pool. The tools are exposed via JSON-RPC endpoints when you run the MCP server, and you can test them directly in a shell by sending appropriate JSON payloads to the HTTP/IPC interface as shown in the README.
How to install
Prerequisites:
- Rust 1.70+ installed on the host
- Bareos Director accessible with bconsole (or a wrapper to reach it)
- bconsole installed and accessible in PATH (or configured via BAREOS_BCONSOLE_PATH)
Install steps:
- Clone the repository:
git clone https://github.com/edeckers/bareos-mcp-server.git
cd bareos-mcp-server
- Build the project in release mode:
cargo build --release
- Locate the built binary. It will typically be at:
target/release/bareos-mcp-server
- Configure bconsole access for the server. You can set an absolute path to the bconsole binary via the environment variable when running the MCP client, or export it in your shell:
export BAREOS_BCONSOLE_PATH=/usr/sbin/bconsole
- Run the MCP server (example):
/path/to/your/project/target/release/bareos-mcp-server
- Connect with an MCP client (e.g., Claude Code) using the provided configuration example in the README, ensuring the env var BAREOS_BCONSOLE_PATH points to your bconsole wrapper or binary.
Additional notes
Tips and common issues:
- Ensure that bconsole can connect to the Bareos Director either directly or via SSH wrapper. If using a wrapper script, make sure it is executable and on your PATH as described in the README.
- If you run into permissions issues, verify that the user running the MCP server has sufficient rights to execute bconsole and read the necessary Bareos configuration (e.g., /etc/bareos/bconsole.conf).
- The MCP server is read-only by design; any attempt to modify backup state should be avoided. Use the provided tools like list_jobs with appropriate filters to monitor activity without impacting operations.
- When configuring clients in Claude, embed the full path to the built binary and the BAREOS_BCONSOLE_PATH env var to ensure proper interaction with Bareos Director.
- If you switch to a remote Bareos Director via SSH, ensure the wrapper script is correctly configured and executable, and that SSH keys are properly set up for passwordless access.
- Troubleshooting common issues includes verifying the bconsole connection, checking the Bareos Director service status, and confirming network accessibility between the MCP server host and the Bareos Director.
Related MCP Servers
mcp-agent
Build effective agents using Model Context Protocol and simple workflow patterns
llm-functions
Easily create LLM tools and agents using plain Bash/JavaScript/Python functions.
automagik-genie
🧞 Automagik Genie – bootstrap, update, and roll back AI agent workspaces with a single CLI + MCP toolkit.
nimbletools-core
NimbleTools is an open-source MCP runtime. Infrastructure for the agentic web.
packt-netops-ai-workshop
🔧 Build Intelligent Networks with AI
claude-vigil
🏺 An MCP server for checkpointing and file recovery in Claude Code