CyberHawk Veeam MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VEEAM_HOST | No | VBR host or IP | localhost |
| VEEAM_PORT | No | VBR REST API port | 9419 |
| VEEAM_BASE_URL | No | Full base URL override (wins over host/port) | |
| VEEAM_PASSWORD | Yes | Password for that account | |
| VEEAM_READONLY | No | true blocks all state-changing tools | false |
| VEEAM_USERNAME | Yes | Windows account that can log into VBR | |
| VEEAM_TIMEOUT_MS | No | HTTP request timeout | 60000 |
| VEEAM_API_VERSION | No | Starting x-api-version guess (auto-detected) | 1.1-rev1 |
| VEEAM_ACCEPT_SELF_SIGNED | No | Accept VBR's self-signed TLS certificate | true |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| veeam_server_infoA | Get VBR server identity: name, build/patch version, database info, and the negotiated REST API version. Call this first to confirm connectivity and to learn which VBR build you are operating against. |
| veeam_api_requestA | Escape hatch for ANY VBR Public REST API v1 endpoint not covered by a dedicated tool — failover plans, SureBackup, agents, cloud/SaaS, tape, tags, etc. Supply the HTTP method and path (e.g. GET "/api/v1/failoverPlans"). This is what makes the server work across every VBR build: if a newer version adds an endpoint, you can reach it here without a code change. In read-only mode, only GET is permitted. |
| list_jobsA | List all configured jobs (backup, replication, backup copy, agent, etc.) with their IDs and settings. Use nameFilter to narrow by job name and typeFilter to narrow by job type. Job IDs returned here feed every other job tool. |
| get_jobA | Get the full configuration of a single job by its ID (schedule, virtual objects, storage, retention). |
| list_job_statesA | Return the live state of jobs: current status (running/idle), last result (Success/Warning/Failed), last run time, next scheduled run, and progress. This is the fastest way to answer "what is failing?" or "what is running right now?". |
| get_job_objectsA | List the VMs / machines / objects that a given job protects. |
| start_jobA | Start a backup/replication job now. Returns the session that was created — pass its ID to get_session / get_session_logs to follow progress. |
| stop_jobA | Gracefully stop a currently running job. Optionally set graceful=false to stop immediately. |
| retry_jobA | Retry the failed objects of a job after a Failed/Warning result. |
| enable_jobA | Enable a disabled job so it runs on its schedule again. |
| disable_jobA | Disable a job so it no longer runs on schedule (does not delete it). |
| create_jobA | Create a new backup/replication job. Provide the full job specification object as documented by the VBR REST API for your build. Tip: call get_job on an existing similar job to obtain a template spec, edit it, and pass it here. |
| update_jobA | Replace a job configuration by ID. Fetch the current spec with get_job, modify the fields you need (schedule, retention, included objects, repository), and pass the whole object back here. |
| delete_jobA | Permanently delete a job configuration by ID. Destructive — the job and its schedule are removed. Backups already created are retained unless removed separately. Requires a specific job ID; there is no bulk delete. |
| list_sessionsA | List job run sessions, newest first. Filter by jobId to see one job’s history, by stateFilter ("Working"/"Stopped") for live runs, or by typeFilter. Each session ID feeds get_session and get_session_logs. |
| get_sessionA | Get one session: result, state, progress percentage, start/end time, and per-object results. |
| get_session_logsA | Return the detailed log records for a session — the individual steps and their status. This is the primary source for understanding WHY a run failed or warned (VDDK errors, snapshot failures, network timeouts, repository full, etc.). |
| stop_sessionA | Stop an in-progress session by ID (e.g. cancel a stuck run). |
| diagnose_jobA | One-shot triage: given a job ID, find its most recent session, read the failure/warning log records, and return the job state, the latest session result, and the log entries flagged Failed/Warning so you can explain the root cause and propose a fix. Start here whenever the user asks "why is failing?". |
| list_backupsA | List backup chains known to VBR (the stored result of jobs). Each backup groups the restore points for its protected objects. Filter by name where supported. |
| get_backup_objectsB | List the protected objects (VMs/machines) contained in a specific backup. |
| list_restore_pointsA | List recovery points available to restore from. Filter by nameFilter to find points for a specific VM/machine. Restore point IDs feed the restore tools. |
| get_restore_pointA | Get details for a single restore point: creation time, type (full/incremental), and source object. |
| list_restore_sessionsB | List restore operations (their sessions) so you can track progress of an in-flight recovery. |
| start_instant_recovery_vmwareA | Launch Instant Recovery of a VMware VM directly from a backup restore point. Impactful — it publishes a running VM into your vSphere environment. Provide the restore point ID and the VMware restore specification (target host, resource pool, datastore, VM name, power-on, NIC mapping) per your VBR build’s schema. If your build’s field names differ, fetch the exact schema from https://:9419/swagger and submit via veeam_api_request instead. |
| stop_restore_sessionA | Stop an in-progress restore session (e.g. cancel a mount / Instant Recovery publish). |
| list_repositoriesB | List all backup repositories (their type, path, and configuration). |
| get_repository_statesA | Return capacity, used space, and free space per repository. Use this to answer "is a repository full?" — a common root cause of Failed backups. |
| list_proxiesA | List backup proxies and their configuration (transport mode, max concurrent tasks). |
| list_managed_serversA | List servers managed by VBR (vCenter/ESXi hosts, Windows/Linux servers). Host IDs here are needed when browsing inventory to build a job. |
| list_credentialsA | List credential records known to VBR (usernames/descriptions and their IDs — never secrets). Credential IDs are referenced when creating jobs or adding managed servers. |
| browse_inventoryA | Browse the virtual infrastructure (hosts, folders, VMs) beneath a managed server so you can select objects to include when creating a job. Provide the hostId from list_managed_servers. |
| list_malware_eventsA | List malware-detection events raised by VBR — suspicious activity, infected restore points, encrypted-data and deleted-file anomalies. Requires VBR 12.1 or newer; on older builds this returns an error (that is expected). Feed these events into ransomware detection and incident response. |
| get_malware_settingsA | Return VBR’s malware-detection configuration (what is enabled, thresholds, exclusions). Requires VBR 12.1+. |
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
- 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/rudraverma/veeam-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server