pbs-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP mode port, default 3100 | 3100 |
| PBS_HOST | Yes | PBS IP or hostname (no port, no trailing slash) | |
| PBS_PORT | No | API port, default 8007 | 8007 |
| TRANSPORT | No | stdio (default) or http | stdio |
| PBS_PASSWORD | No | Password for ticket auth | |
| PBS_TOKEN_ID | No | API token ID, e.g. user@pbs!mytoken | |
| PBS_USERNAME | No | Username for ticket auth | |
| PBS_VERIFY_SSL | No | Set to false for self-signed certs (default: true) | true |
| PBS_TOKEN_SECRET | No | API token secret |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pbs_get_versionA | Returns the Proxmox Backup Server version, release, and repository ID. Use this to confirm connectivity and check which PBS version is running. |
| pbs_get_node_statusA | Returns detailed status of the PBS node: CPU usage, memory, disk, swap, load averages, uptime, and kernel version. Returns:
|
| pbs_list_tasksA | List recent tasks on the PBS node. Returns task UPID, type, user, start/end times, and status. Args:
Returns: List of tasks with UPID, type, user, timestamps, and completion status. |
| pbs_get_task_statusA | Get the status and log output of a specific task by its UPID. Args:
Returns: Task status and log lines. |
| pbs_list_datastoresA | List all configured datastores on the PBS server with their paths, comments, and retention settings. Returns: Array of datastores with name, path, comment, GC schedule, prune schedule, and keep-* retention counts. |
| pbs_get_datastore_usageA | Get usage statistics for all datastores: total/used/available space, GC status, and deduplication factor. Returns: For each datastore: name, total, used, available, percent used, GC last-run time, dedup factor, removed/pending bytes/chunks. |
| pbs_list_groupsA | List all backup groups in a datastore. Groups are organized by backup type (vm, ct, host) and ID. Args:
Returns: Array of backup groups with type, ID, last backup time, backup count, and owner. |
| pbs_list_snapshotsA | List snapshots in a datastore, optionally filtered by backup type and ID. Args:
Returns: Array of snapshots with type, ID, timestamp, size, protection status, verification state, and file list. |
| pbs_run_garbage_collectionA | Start a garbage collection job on a datastore. Returns the task UPID which can be tracked with pbs_get_task_status. Args:
Returns: Task UPID for the started GC job. |
| pbs_run_verifyA | Start a verification job on a datastore to check backup integrity. Returns a task UPID. Args:
Returns: Task UPID for the started verification job. |
| pbs_prune_datastoreA | Run a prune operation on a backup group to remove old snapshots per retention policy. Supports dry-run mode. Args:
Returns: Task UPID or dry-run results showing which snapshots would be removed/kept. |
| pbs_list_namespacesA | List backup namespaces in a datastore. Args:
Returns: Array of namespace paths and their comments. |
| pbs_protect_snapshotA | Set or remove protection on a backup snapshot. Protected snapshots cannot be pruned or deleted. Args:
Returns: Confirmation of the protection change. |
| pbs_list_verification_jobsA | List all scheduled verification jobs configured on the PBS server. Returns: Array of verification jobs with ID, store, schedule, ignore-verified flag, outdated-after, namespace, and comment. |
| pbs_run_verification_jobA | Manually trigger a configured verification job by ID. Args:
Returns: Task UPID for the started job. |
| pbs_list_sync_jobsA | List all configured sync jobs that replicate data between PBS servers. Returns: Array of sync jobs with ID, local store, remote name, remote store, schedule, remove-vanished flag, namespace settings, and comments. |
| pbs_run_sync_jobA | Manually trigger a configured sync job by ID. Args:
Returns: Task UPID for the started job. |
| pbs_list_prune_jobsA | List all configured scheduled prune jobs. Returns: Array of prune jobs with ID, store, schedule, retention settings, namespace, and disabled status. |
| pbs_list_remotesA | List all configured remote PBS servers used for sync jobs. Returns: Array of remotes with name, host, port, auth-id, fingerprint, and comment. |
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 19 tools
Each tool has a clearly distinct purpose, targeting specific resources (version, node, datastores, groups, snapshots) or actions (list, get, run, protect, prune). The two verification-related tools are differentiated by direct execution vs. triggering a configured job.
All tools follow a consistent pattern with the pbs_ prefix and snake_case, using verb_noun structures like 'get_', 'list_', 'run_', and 'protect_'. The slight deviation of 'prune_datastore' as an imperative is still clear and doesn't break the overall consistency.
With 19 tools, the set is on the higher end but remains well-scoped for a Proxmox Backup Server management surface. Each tool covers a distinct aspect of status, datastores, maintenance, jobs, and tasks, justifying the count without being bloated.
The tool set comprehensively covers monitoring, listing, and running maintenance tasks like garbage collection, verify, and prune. Missing create/update/delete operations for datastores, jobs, and remotes, but these are likely outside the intended operational scope and common workflows are fully supported.