Skip to main content

Veeam Ports MCP Server

An MCP (Model Context Protocol) server that gives Claude structured access to Veeam product network port requirements. Query ports, generate topology diagrams, and produce firewall rule import files — all from natural language.

Backed by the Magic Ports API, covering 25+ Veeam products.

Installation

Claude Desktop

Add to your Claude Desktop config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "veeam-ports": {
      "command": "uvx",
      "args": ["veeam-ports-mcp"]
    }
  }
}

Requires uv — a single binary install. uvx downloads and runs the package automatically with no repo clone needed.

VS Code / Claude Code

claude mcp add veeam-ports -- uvx veeam-ports-mcp

Development Install

git clone https://github.com/shapedthought/veeam-ports-mcp.git
cd veeam-ports-mcp
uv sync

Claude Desktop config for a local dev install:

{
  "mcpServers": {
    "veeam-ports": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/veeam-ports-mcp",
        "veeam-ports-mcp"
      ]
    }
  }
}

Available Tools

Tool Description
list_products List all Veeam products with port data
list_services List available service roles for a product — call this before generate_topology or generate_app_import
get_product_ports Get all port requirements for a product
get_product_subheadings Get section headings for a product — use to find valid exclude_subsections values
search_ports Free-text keyword search across all products
search_by_port_number Find which products and services use a specific port
get_source_details Source services with their section groupings
get_enriched_ports Port data with LLM-parsed service metadata
generate_topology Resolve firewall rules between named servers in your environment
generate_app_import Generate a JSON import file for the Magic Ports frontend app

Topology & Import File Workflow

  1. Call list_services to see available service roles for the product
  2. Ask the user which servers they have and what roles each one serves
  3. Call generate_topology or generate_app_import with the server definitions
  4. Optionally exclude subsections (e.g. CDP Components) or specific ports with exclude_subsections / exclude_ports
User: "Generate firewall rules for my VBR v13 environment.
       I have a VBR server, two Linux proxies, a repo, and ESXi hosts behind vCenter."

Claude: [calls list_services → generate_app_import]
        "Import file saved: ~/Documents/veeam-ports-exports/magic-ports-vbr-v13-import.json"

Generated files are saved to ~/Documents/veeam-ports-exports/ by default.

Example Prompts

  • "What ports does VBR v13 need?"
  • "Which products use port 902 and why?"
  • "Show me all ports the backup server uses to talk to ESXi hosts"
  • "Generate firewall rules for my VBR environment — I have a VBR server, a Linux proxy, a repo server, and ESXi hosts managed by vCenter"
  • "Create a Magic Ports import file for my VB365 deployment, excluding the proxy ports"
  • "What ports does the Veeam ONE server need open?"

Configuration

Environment Variable Default Description
VEEAM_PORTS_API_BASE https://magicports.veeambp.com/ports_server API base URL
VEEAM_PORTS_OUTPUT_DIR ~/Documents/veeam-ports-exports Directory for generated import files

Debugging

Use the MCP Inspector to test tools interactively:

npx @modelcontextprotocol/inspector uvx veeam-ports-mcp

License

MIT

Release files for veeam-ports-mcp 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for veeam-ports-mcp 1.0.1
File Size Uploaded
veeam_ports_mcp-1.0.1.tar.gz 79.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for veeam-ports-mcp 1.0.1
File Interpreter ABI Platform
veeam_ports_mcp-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 94.8 kB

Release files / veeam_ports_mcp-1.0.1.tar.gz

Download URL veeam_ports_mcp-1.0.1.tar.gz
Size 79.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5790eb2b6c26c18ae0a9023843cb322b033d2fd0664008264fd51105d387fdc3
BLAKE2b-256 checksum
How to use checksums
d53c741855c6ec8f6e1ad0141b3796d281ab54b23f55538ad7615d427d5129c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / veeam_ports_mcp-1.0.1-py3-none-any.whl

Download URL veeam_ports_mcp-1.0.1-py3-none-any.whl
Size 14.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e58ffa277c7d1c4083644f49e96c1999dab9a756daf4336325ddb6945eb101e
BLAKE2b-256 checksum
How to use checksums
c895ad2bd38298356fbc96973fe7cee7abb453dae84ec9fdcbe243168877f2f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page