Skip to main content
Glama
kid-boy

Veeam VBR v13 MCP Server

by kid-boy

Veeam VBR v13 MCP Server

Veeam MCP TypeScript Node.js

This is a Model Context Protocol (MCP) server that leverages the official REST API (1.3-rev1) of Veeam Backup & Replication v13, allowing AI agents (Claude Desktop, Cursor, etc.) to directly control and monitor Veeam infrastructure.

Out of 39 tags and 404 API Operations in swagger.json, we have fully modularized and implemented 328 meaningful MCP Tools.


📋 Table of Contents


Related MCP server: pbs-mcp

🌟 Key Features

  • 328 MCP Tools: Covers almost all features of the Veeam REST API.

  • Dual Transport Modes: stdio (Claude Desktop/Cursor) + streamable-http (Dify/Remote Agents).

  • MCP 2025-03-26 Specification Compliance: Implements the Streamable HTTP transport method (fully compatible with Dify).

  • Smart OAuth2 Authentication: Automatic token issuance, renewal before expiration, and auto-reauthentication on 401 errors.

  • Fully Modularized: Functionality separated into 13 files for easy maintenance and extensibility.

  • Stateful/Stateless Selection: Supports session state persistence (default) or stateless mode.


📦 Requirements

Item

Version

Note

Node.js

v18 or higher

Check with node -v

npm

v9 or higher

Included with Node.js

Veeam B&R

v13

REST API port 9419 access required

Network

-

Must have TCP access to port 9419 on the Veeam server


📚 Package Dependencies

Runtime Dependencies (dependencies)

Package

Version

Purpose

@modelcontextprotocol/sdk

^1.29.0

MCP server framework (includes stdio/SSE transport layers)

axios

^1.15.1

Veeam REST API HTTP client

express

^5.2.1

SSE(HTTP) mode web server

dotenv

^17.4.2

Load environment variables from .env file

zod

^4.3.6

MCP Tool parameter schema validation

body-parser

^2.2.2

Express request body parsing

Development Dependencies (devDependencies)

Package

Version

Purpose

typescript

^6.0.3

TypeScript compiler

tsx

^4.21.0

Run TypeScript directly (development mode)

@types/node

^25.6.0

Node.js type definitions

@types/express

^5.0.6

Express type definitions

@types/body-parser

^1.19.6

body-parser type definitions


🚀 Installation and Build

# 1. 리포지토리 클론
git clone https://github.com/<your-username>/veeam-mcp-13.git
cd veeam-mcp-13

# 2. 의존성 설치
npm install

# 3. TypeScript 빌드 (build/ 디렉토리에 JS 출력)
npm run build

Development Mode: Use npm run dev to run TypeScript directly without building.


⚙️ Environment Variable Configuration

Create a .env file in the project root. Copy .env.example and modify it.

cp .env.example .env
# ─── Veeam 서버 접속 정보 ─────────────────────────────────
VEEAM_SERVER=https://192.168.1.100
VEEAM_PORT=9419
VEEAM_USERNAME=Administrator
VEEAM_PASSWORD=YourPasswordHere

# ─── TLS 설정 ────────────────────────────────────────────
# Veeam 서버가 자체 서명 인증서를 사용하는 경우 0으로 설정
NODE_TLS_REJECT_UNAUTHORIZED=0

# ─── MCP 전송 모드 ───────────────────────────────────────
# stdio            : Claude Desktop, Cursor 등 로컬 AI 클라이언트용
# streamable-http  : Dify, 원격 AI 에이전트용 (MCP 2025-03-26 스펙)
MCP_TRANSPORT_MODE=streamable-http

# ─── HTTP 포트 (streamable-http 모드 전용) ───────────────
MCP_HTTP_PORT=3000

Variable

Required

Default

Description

VEEAM_SERVER

https://localhost

Veeam server address (https required)

VEEAM_PORT

-

9419

REST API port

VEEAM_USERNAME

-

Veeam administrator account

VEEAM_PASSWORD

-

Veeam administrator password

NODE_TLS_REJECT_UNAUTHORIZED

-

1

0=Allow self-signed certificates

MCP_TRANSPORT_MODE

-

stdio

stdio or streamable-http

MCP_HTTP_PORT

-

3000

HTTP mode port


🖥️ Execution - stdio Mode

stdio mode is a method where the AI client (Claude Desktop, Cursor, etc.) executes the MCP server process directly as a child process and exchanges JSON-RPC messages via standard input/output (stdin/stdout).

Claude Desktop Integration

claude_desktop_config.json file location:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "veeam-vbr": {
      "command": "node",
      "args": ["E:\\veeam-mcp-self\\build\\index.js"],
      "env": {
        "VEEAM_SERVER": "https://192.168.1.100",
        "VEEAM_PORT": "9419",
        "VEEAM_USERNAME": "Administrator",
        "VEEAM_PASSWORD": "YourPassword",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

⚠️ The path in args must be the absolute path to the built build/index.js.

Cursor Editor Integration

.cursor/mcp.json file:

{
  "mcpServers": {
    "veeam-vbr": {
      "command": "node",
      "args": ["E:\\veeam-mcp-self\\build\\index.js"],
      "env": {
        "VEEAM_SERVER": "https://192.168.1.100",
        "VEEAM_PORT": "9419",
        "VEEAM_USERNAME": "Administrator",
        "VEEAM_PASSWORD": "YourPassword",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

Manual Testing (Terminal)

In stdio mode, the process reads stdin interactively, making it difficult to test directly. Use the MCP Inspector:

# MCP Inspector 설치 및 실행
npx @modelcontextprotocol/inspector node build/index.js

Access http://localhost:5173 in your browser to view and call the 328 registered tools.


🌐 Execution - Streamable HTTP Mode (Dify Integration)

⚠️ Important: The legacy HTTP+SSE method (separate /sse and /messages endpoints) is Deprecated as of MCP 2024-11-05. Dify and modern MCP clients use the MCP 2025-03-26 Streamable HTTP specification. This server provides a single /mcp endpoint that fully implements the latest specification.

Server Execution

# 방법 1: .env 파일에 MCP_TRANSPORT_MODE=streamable-http 설정 후
npm start

# 방법 2: 환경변수 인라인 지정 (Linux/Mac)
MCP_TRANSPORT_MODE=streamable-http MCP_HTTP_PORT=3000 npm start

# 방법 3: PowerShell (Windows)
$env:MCP_TRANSPORT_MODE="streamable-http"; $env:MCP_HTTP_PORT="3000"; npm start

# 방법 4: 개발 모드 (빌드 없이 직접 실행)
$env:MCP_TRANSPORT_MODE="streamable-http"; npm run dev

Example Output on Server Startup

[MCP] Loaded 328 tools from 328 unique names.
[MCP] Starting Streamable HTTP mode on port 3000 (stateless multi-client)...
[MCP] Streamable HTTP server listening on http://0.0.0.0:3000
[MCP]   MCP endpoint : /mcp
[MCP]   Health       : /health
[MCP] → Configure Dify with URL: http://<your-host>:3000/mcp

HTTP Endpoints

Method

Path

Header

Description

POST

/mcp

Content-Type: application/json

Main JSON-RPC channel (initialization + tool calls)

GET

/health

-

Server status and uptime check

Integration in Dify

  1. Click ToolsAdd MCP Server in Dify.

  2. Enter the MCP server URL:

    http://<your-server-ip>:3000/mcp
  3. After Saving, verify the Veeam tools in the tool list.

Docker Environment Note: If both Dify and this server are running in Docker, use the host IP within the Docker network or the container name instead of localhost.

Streamable HTTP Mode Integration in Claude Desktop

{
  "mcpServers": {
    "veeam-vbr-remote": {
      "url": "http://192.168.1.200:3000/mcp"
    }
  }
}

Checking Server Status

curl http://localhost:3000/health

Response:

{
  "status": "ok",
  "transport": "streamable-http",
  "stateless": false,
  "activeSessions": 1,
  "server": "veeam-vbr-mcp v2.0.0",
  "mcpEndpoint": "http://localhost:3000/mcp"
}

🔧 stdio vs Streamable HTTP Comparison

Item

stdio Mode

Streamable HTTP Mode

Execution

AI client runs as child process

Runs as an independent server

Communication

stdin/stdout (Standard I/O)

HTTP POST/GET/DELETE /mcp

MCP Spec

Latest (stdio is spec-agnostic)

MCP 2025-03-26 Streamable HTTP

Network

Local only

Remote access possible

Multi-client

1:1 (One client only)

N:M (Multiple clients simultaneously)

Dify Integration

❌ Not possible

✅ Possible (Enter /mcp URL)

Setup Difficulty

Easy (JSON config only)

Server execution + URL specification

Best for

Personal PC Claude Desktop/Cursor

Dify, team sharing, remote deployment

Environment Var

MCP_TRANSPORT_MODE=stdio (default)

MCP_TRANSPORT_MODE=streamable-http


🛠️ Supported Tool Categories (Total 328 Tools)

#

Module File

Main Functionality

Tool Count

1

service.ts

Server time, certificates, server info, service lookup

5

2

license.ts

License installation/renewal, socket/instance/capacity management

16

3

credentials.ts

Standard account + Cloud (AWS/Azure/GCP) account CRUD

23

4

encryption.ts

Encryption passwords, KMS server management

13

5

generalOptions.ts

Email/notification settings, traffic rules, config backup, deployment

22

6

security.ts

Security analyzer, malware detection, users/roles, global exclusions

35

7

inventory.ts

VMware/HyperV inventory, cloud/Entra ID browser

23

8

infrastructure.ts

Management servers, repositories, SOBR, proxies, mount servers, WAN

46

9

jobs.ts

Backup/replication/copy job CRUD, Start/Stop/Retry

15

10

backups.ts

Backup datasets, backup objects, restore points

17

11

sessions.ts

Session/task session lookup, logs, stop

8

12

restore.ts

IR (VMware/HyperV/Azure), VM restore, FLR, Entra ID

46

13

operations.ts

Failover/failback, replicas, agents, automated Import/Export

59


📁 Project Structure

veeam-mcp-self/
├── src/
│   ├── index.ts              # 진입점 (stdio / Streamable HTTP 모드 분기)
│   ├── server.ts             # McpServer 인스턴스 + 동적 Tool 등록
│   ├── veeamClient.ts        # Axios 클라이언트 + OAuth2 자동 갱신
│   ├── types/
│   │   └── index.ts          # 공통 타입 (ToolDefinition, ok/err 헬퍼)
│   └── tools/
│       ├── index.ts          # 모든 모듈 통합 (328개 도구 배열)
│       ├── service.ts        # Service & Services
│       ├── license.ts        # License
│       ├── credentials.ts    # Credentials & Cloud Credentials
│       ├── encryption.ts     # Encryption & KMS
│       ├── generalOptions.ts # General Options, Traffic, Config Backup
│       ├── security.ts       # Security, Malware, Users, Exclusions
│       ├── inventory.ts      # Inventory Browser, Cloud Browser
│       ├── infrastructure.ts # Servers, Repos, Proxies, Mount, WAN
│       ├── jobs.ts           # Jobs
│       ├── backups.ts        # Backups, Objects, Restore Points
│       ├── sessions.ts       # Sessions, Task Sessions
│       ├── restore.ts        # All Restore Operations
│       └── operations.ts     # Failover, Failback, Agents, Automation
├── build/                    # TypeScript 컴파일 출력 (git 제외)
├── .env.example              # 환경변수 템플릿
├── .gitignore
├── package.json
├── tsconfig.json
└── README.md

💬 Prompt Usage Examples

You can give natural language commands to the AI assistant connected to this MCP:

Monitoring

"최근 24시간 내 실패한 백업 작업이 있는지 알려줘"
"저장소의 남은 용량을 확인해줘"
"현재 실행 중인 작업 상태를 알려줘"

Job Control

"DailyBackup 작업을 지금 즉시 실행해줘"
"Job ID xxxx-xxxx 를 비활성화해줘"

Restore

"VM 'WebServer01'의 최신 복원 포인트를 찾아줘"
"해당 복원 포인트로 Instant Recovery를 시작해줘"

Security

"보안 준수 분석기를 실행해줘"
"멀웨어 감지 이벤트가 있는지 확인해줘"

Infrastructure Management

"등록된 모든 관리 서버와 프록시 상태를 알려줘"
"새로운 VMware vCenter 서버를 추가해줘"

📄 License

This project is licensed under the Apache License 2.0.

https://www.apache.org/licenses/LICENSE-2.0.txt

Veeam® and Veeam Backup & Replication® are registered trademarks of Veeam Software Group GmbH. This project is not officially affiliated with or endorsed by Veeam.

Install Server
F
license - not found
C
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    AI-powered VMware vCenter/ESXi monitoring and operations. 20 MCP tools for inventory queries, health monitoring, VM lifecycle management, fast provisioning (Linked Clone, OVA, template deploy), snapshot management, and datastore browsing. Supports vSphere 6.5–8.0. Works with local models via Ollama/LM Studio.
    2
    44
    68
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for Proxmox Backup Server. Exposes datastore status, snapshot inventory, garbage collection, verify, and prune over the PBS REST API as 13 LLM-callable tools.
    17
    1
    GPL 3.0
  • A
    license
    Not graded
    quality
    F
    maintenance
    Extends Veeam Intelligence to MCP-compatible clients, enabling secure, real-time operational insight across Veeam Backup & Replication, Veeam ONE, and VSPC via natural language or AI workflows.
    10
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    AI-powered Veeam Backup & Replication operations MCP server with tools for managing jobs, restores, sessions, and repositories, featuring built-in governance, audit logging, and safety controls.
    25
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.

View all MCP Connectors

Latest Blog Posts

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/kid-boy/veeam-mcp-13'

If you have feedback or need assistance with the MCP directory API, please join our Discord server