backrest-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_FILE | No | Log file path | stderr |
| LOG_LEVEL | No | Logging verbosity | INFO |
| BACKREST_URL | No | Backrest base URL | http://localhost:9898 |
| INFLUXDB_ORG | No | Organization | |
| INFLUXDB_URL | No | InfluxDB write URL | |
| INFLUXDB_TOKEN | No | Auth token | |
| INFLUXDB_BUCKET | No | Bucket | backrest |
| BACKREST_PASSWORD | No | Basic Auth password | |
| BACKREST_READONLY | No | Disable all write tools | true |
| BACKREST_USERNAME | No | Basic Auth username (optional) | |
| BACKREST_AUDIT_LOG | No | JSONL audit log for write ops | |
| REQUESTS_CA_BUNDLE | No | Path to CA certificate for HTTPS | |
| BACKREST_ALLOW_DESTRUCTIVE | No | Enable forget/restore (requires READONLY=false) | false |
| BACKREST_RESTORE_ALLOWED_PREFIX | No | Restore target path guard | /tmp/backrest-restore/ |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_healthA | Check that Backrest is reachable and credentials are valid. Wraps GetConfig — the call that returns 200 with valid credentials and 401 when they drift. Returns status "ok", "auth_failed", or "unreachable", plus the configured URL and a repo/plan count when healthy. Read-only; safe to poll. |
| get_configA | Read a secret-free view of the Backrest configuration (repos, plans, auth). Returns an allowlist projection, not the raw config:
Never included: repo passwords, env values, restic flags, hook commands and targets (webhook URLs, tokens), user password hashes, the multihost sync block (identity, pairing secrets), or any field not listed above. |
| list_plansA | List the backup plans: which paths each backs up, to which repo, and when. Returns the same secret-free projection of each plan as get_config: id, repo, paths, excludes, iexcludes, schedule, retention, skipIfUnchanged, backupFlagCount and hooks (action type names only). Prefer this to get_config when you only need plans. |
| find_plan_for_pathA | Find which backup plans cover an absolute path, and whether an exclude drops it. |
| get_backup_freshnessB | Report, per plan, when it last backed up successfully and whether that is stale. |
| list_snapshotsB | List snapshots in a Backrest repo, optionally filtered by repo or plan. |
| list_snapshot_filesC | Browse files within a specific snapshot. |
| get_summaryA | Get the Backrest dashboard summary — 30-day stats per repo and plan. Returns per-repo and per-plan success/warning/failed backup counts, bytes scanned/added, total snapshots, and the next scheduled backup time. |
| get_operationsA | List recent backup operations, optionally filtered by plan or repo. |
| get_logsC | Fetch the log output for an operation. |
| get_download_urlA | Get a signed download URL for a file produced by a restore operation. Companion to restore_snapshot: after a restore, fetch a URL to download a specific restored file. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct resource or question (health, dashboard stats, config, plans, snapshots, files, operations, logs, freshness, download URLs), and descriptions actively steer between near-duplicates like get_config vs list_plans. The main soft overlap is between get_summary, get_backup_freshness, and get_operations, which all touch backup recency/success and could be confused by an agent skimming names.
All tools follow a strict snake_case verb_noun pattern using a small, predictable verb set (get_, list_, find_). No camelCase mixing or vague one-word names.
11 tools is well within the ideal range and each covers a distinct inspection need within a backup orchestrator. No obviously redundant or filler tools; the surface is scoped to read/inspect operations.
The read-only inspection surface is decent (health, config, plans, snapshots, files, operations, logs, freshness), but there are no action tools: no trigger backup, restore, plan/repo create-update, or prune/check/forget. get_download_url explicitly describes itself as a companion to restore_snapshot, a tool that does not exist here, creating a dead end for that workflow.