Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VEEAM_PORTS_API_BASENoAPI base URLhttps://magicports.veeambp.com/ports_server
VEEAM_PORTS_OUTPUT_DIRNoDirectory for generated import files~/Documents/veeam-ports-exports

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_productsA

List all Veeam products that have port requirement data available.

Call this first to discover valid product names before using other tools. Returns product names like 'VBR v13', 'VB365', etc.

get_product_portsA

Get all network port requirements for a specific Veeam product.

Returns every port entry including source service, target service, port number, protocol, and description. Use list_products first to find valid product names.

Args: product_name: Exact product name (e.g. 'VBR v13', 'VB365', 'VONE')

get_product_subheadingsA

Get the section headings that organise a product's port requirements.

Each subheading represents a component or role within the product (e.g. 'Backup Server', 'Proxy Server'). Useful for understanding the product architecture before diving into specific ports.

Args: product_name: Exact product name (e.g. 'VBR v13', 'VB365')

search_portsA

Search across all Veeam products for port requirements matching a query.

Searches product names, source/target services, port numbers, protocols, descriptions, and section headings. Useful for questions like 'which products use SMTP' or 'what needs port 443'.

Args: query: Search text (e.g. 'SMTP', 'backup server', 'cloud gateway')

search_by_port_numberB

Find all Veeam product entries that use a specific port number.

Searches the port field across all products. Useful for firewall audits or checking which Veeam services need a particular port opened.

Args: port: Port number to search for (e.g. '443', '9392', '6180')

get_source_detailsA

Get the source services for a product, grouped by section.

Shows which components/roles (source services) exist within each section of a product's port requirements. Useful for understanding the network topology before querying specific port details.

Args: product_name: Exact product name (e.g. 'VBR v13', 'VB365')

semantic_searchA

Search port requirements using natural language (vector similarity).

Understands synonyms and related concepts — e.g. 'firewall rules for backup to NAS' matches NFS/SMB repository entries even if those exact words don't appear in the data.

Falls back to keyword search if vector embeddings are unavailable.

Args: query: Natural language search query (e.g. 'what ports does the proxy need for VMware', 'cloud connectivity', 'database ports') product_name: Optional product to filter results (e.g. 'VBR v13'). If omitted, searches across all products. limit: Max results to return (1-100, default 20)

get_enriched_portsA

Get port data with LLM-parsed service metadata for a product.

Returns the same port entries as get_product_ports, plus enriched metadata for each source and target service (canonical name, roles, OS, hypervisor, storage type). Useful for understanding service relationships and filtering by role.

Returns 404 if enrichment hasn't been run for this product.

Args: product_name: Exact product name (e.g. 'VBR v13', 'VB365')

generate_topologyA

Resolve server topology — given named servers and their services, returns all port mappings between them as human-readable text.

Use this when the user describes their server layout and wants to know what firewall rules are needed between servers.

Args: product_name: Exact product name (e.g. 'VBR v13', 'VB365') servers_json: JSON array of server definitions. Each object must have 'name' (server label) and 'services' (list of service names this server provides). Example: [ {"name": "VBR", "services": ["Backup server"]}, {"name": "Proxy", "services": ["Backup proxy"]}, {"name": "ESXi", "services": ["ESXi host"]} ] include_loopback: Include ports where source and target are the same server (default: false) exclude_subsections: Subsection names to exclude from results (e.g. ["CDP Components"]). Accepts a list or JSON string. exclude_ports: Port numbers to exclude from results (e.g. ["33035"]). Accepts a list or JSON string. format: Output format — 'json' (default), 'csv', or 'markdown'. csv and markdown return the raw content as text.

list_servicesA

List all known service roles for a product from the knowledge graph.

Returns canonical service names with their original name variants and any OS/hypervisor/storage qualifiers. Useful for discovering valid service names before calling generate_topology or generate_app_import.

Args: product_name: Exact product name (e.g. 'VBR v13', 'VB365')

generate_app_importA

Generate a JSON file for importing into the Magic Ports frontend app.

Resolves the port mapping topology between user-defined servers using the enriched knowledge graph on the API server. The full JSON is written to a file on disk and a compact summary is returned.

Workflow:

  1. Call list_services to see available service roles for the product.

  2. Ask the user which servers they have and what roles they serve.

  3. Call this tool with the server definitions.

  4. Present the generated file to the user for download/import.

Args: product_name: Exact product name (e.g. 'VBR v13', 'VB365') servers_json: JSON array of server definitions. Each object must have 'name' (server label) and 'services' (list of service names this server provides). Example: [ {"name": "VBR", "services": ["Backup server"]}, {"name": "Proxy", "services": ["Backup proxy"]}, {"name": "Repo", "services": ["Backup repository"]}, {"name": "ESXi", "services": ["ESXi host", "vCenter Server"]} ] output_dir: Optional directory to write the file to. Defaults to ~/Documents/veeam-ports-exports or VEEAM_PORTS_OUTPUT_DIR env var. exclude_subsections: Subsection names to exclude from results (e.g. ["CDP Components"]). Accepts a list or JSON string. exclude_ports: Port numbers to exclude from results (e.g. ["33035"]). Accepts a list or JSON string. format: Output format — 'json' (default), 'csv', or 'markdown'. csv and markdown return the raw content as text (no file written).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/shapedthought/veeam-ports-mcp'

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