Skip to main content

MCP server for querying Veeam product network port requirements

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

veeam_ports_mcp-1.0.0.tar.gz (66.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

veeam_ports_mcp-1.0.0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file veeam_ports_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: veeam_ports_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 66.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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}

File hashes

Hashes for veeam_ports_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9535462537d90aedea47585e5f4049e47c4c2314e723fc109de8117282ca5b3c
MD5 e7c5ee5c50cd05c145d29f7d13edc865
BLAKE2b-256 de57792308f81af6284aa61755460f798361c8682a48eb6355ac87fc03ec5c47

See more details on using hashes here.

File details

Details for the file veeam_ports_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: veeam_ports_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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}

File hashes

Hashes for veeam_ports_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 666fac0a49c9fbd932330c4cd92f1a2f674568346c32c8605841e7b5e91ab7a9
MD5 71abac5341a8147b02c7471a5a0451a2
BLAKE2b-256 5c6f83fc108818b753992e0dcda9a633de739276191d35dadcd3917c169944b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page