pbs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PBS_HOST | Yes | The host of the Proxmox Backup Server (e.g., https://pbs.example.com:8007) | |
| PBS_TOKEN_ID | Yes | API token ID (e.g., 'root@pam!mcp') | |
| PBS_CA_BUNDLE | No | Path to CA bundle file for TLS verification | |
| PBS_VERIFY_TLS | No | Set to 'true' to verify TLS certificate (default: false) | false |
| PBS_ALLOW_WRITE | No | Set to 'true' to enable write tools (default: false) | false |
| PBS_TOKEN_SECRET | Yes | The API token secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pbs_list_datastoresA | List every configured PBS datastore with its path and any scheduled GC/prune jobs. |
| pbs_datastore_statusB | Total / used / available bytes for one datastore. |
| pbs_list_groupsA | List every backup group on a datastore with its snapshot count, last-backup time, owner, and file count. Groups with zero files are flagged as likely corrupt. |
| pbs_list_snapshotsA | List snapshots on a datastore with size, file count, protected flag,
and last verify state — newest first, capped at |
| pbs_protect_snapshotA | Set or clear the protected flag on one snapshot. Protected snapshots are skipped by prune and cannot be forgotten until unprotected. Requires PBS_ALLOW_WRITE=true and confirm=true. |
| pbs_forget_snapshotA | Permanently delete one snapshot. The on-disk chunks are freed by the next garbage collection. Requires PBS_ALLOW_WRITE=true and confirm=true. |
| pbs_get_task_statusA | Return current state of a PBS task (running / stopped) plus exit status if finished. |
| pbs_get_task_logA | Fetch log lines from a PBS task. Supports pagination via start/limit, or tail=true for just the end of the log — usually all you need to see how a verify or GC finished. |
| pbs_list_tasksA | Browse recent PBS tasks with optional type filter, running-only flag, and errors-only flag. Running or failed tasks come with their full UPID for follow-up via pbs_get_task_status / pbs_get_task_log. |
| pbs_stop_taskA | Abort a running PBS task (e.g. a GC or verify stuck on a slow NFS datastore). The task stops at the next safe point; an interrupted GC or verify can simply be re-run later. Requires PBS_ALLOW_WRITE=true and confirm=true. |
| pbs_gc_statusA | Return the last garbage-collection statistics: bytes referenced, pending, removed, plus any flagged-bad chunks. |
| pbs_run_gcA | Trigger a garbage-collection run. GC walks every chunk and frees those no longer referenced by any snapshot. Async — returns a UPID immediately. Requires PBS_ALLOW_WRITE=true and confirm=true. |
| pbs_list_verify_jobsA | List configured verify jobs: schedule, datastore, and re-verify policy. Answers 'is verification scheduled at all?' — pbs_list_datastores only shows GC/prune schedules. |
| pbs_run_verifyA | Trigger a verify task. Verify re-reads every chunk and confirms it matches its expected hash, catching bitrot. By default skips snapshots that were verified OK in the past 30 days. Async — returns a UPID. Requires PBS_ALLOW_WRITE=true and confirm=true. |
| pbs_prune_dry_runA | Preview which snapshots in a backup group would be kept or dropped by a given retention policy. |
| pbs_pruneA | Apply a retention policy and drop matching snapshots. The on-disk chunks aren't freed until the next garbage collection. Always run pbs_prune_dry_run first. Requires PBS_ALLOW_WRITE=true and confirm=true. |
| pbs_health_overviewA | One-call health report for a datastore: storage usage, node load, last GC result, snapshot/verify coverage, backup freshness, corrupt groups, and failed/running tasks. Start here for any 'is PBS okay?' question — it replaces separate status/gc/tasks/groups calls. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahmetem/homelab-pbs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server