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 the Backrest configuration (repos, plans, global settings). Returns the full Backrest config as a dict. Does not expose credentials. |
| 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 8 tools
Each tool targets a distinct resource or action: config, health, snapshots, files, operations, logs, summary, and download URLs. There is no meaningful overlap between any pair, and descriptions clarify their specific roles.
All tool names follow a consistent verb_noun pattern: get_ for single items or status, list_ for collections. The prefixes are uniform and predictable across the entire set.
Eight tools is well-scoped for a backup/monitoring server, covering the key read-only operations without redundancy or excessive fragmentation.
The tool set is read-only and missing core lifecycle operations: there is no restore_snapshot tool even though get_download_url references it as a companion, and no tools to create, update, or delete repos/plans or trigger backups. This leaves obvious gaps and dead ends.