Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VYOS_URLYesBase URL of your VyOS router (e.g. https://10.0.0.1)
VYOS_API_KEYYesAPI key configured on the router
VYOS_VERIFY_SSLNoSet to false to skip TLS verification (default: true)true

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
vyos_infoA

Get public system information (version, hostname, banner).

No authentication required. Useful to verify connectivity.

Returns: str: JSON with version, hostname, and banner fields.

vyos_show_configA

Retrieve the running VyOS configuration (full or partial).

Pass an empty path list for the entire config tree, or specify path segments to retrieve a subtree.

Args: params: path — config path segments (e.g. ["interfaces", "ethernet"])

Returns: str: JSON configuration data for the requested path.

Examples: - Full config: path=[] - Interfaces only: path=["interfaces"] - Specific interface: path=["interfaces", "ethernet", "eth0"] - Firewall rules: path=["firewall"] - BGP config: path=["protocols", "bgp"]

vyos_return_valuesA

Return values of a multi-valued configuration node.

Use this for nodes that hold multiple values (e.g. interface addresses, DNS servers, NTP servers).

Args: params: path — path to the multi-valued node

Returns: str: JSON array of values.

Examples: - Interface addresses: path=["interfaces", "dummy", "dum0", "address"] - DNS nameservers: path=["system", "name-server"]

vyos_existsA

Check whether a configuration path exists.

Returns true/false. Useful before setting or deleting a path.

Args: params: path — config path segments to check

Returns: str: "true" or "false"

Examples: - Check if API is enabled: path=["service", "https", "api"] - Check if interface exists: path=["interfaces", "ethernet", "eth1"]

vyos_showA

Run an operational-mode 'show' command.

Equivalent to running 'show ' in the VyOS CLI. Returns the text output of the command.

Args: params: path — command path segments

Returns: str: Command output text.

Examples: - System images: path=["system", "image"] - Interface status: path=["interfaces"] - BGP summary: path=["ip", "bgp", "summary"] - Route table: path=["ip", "route"] - DHCP leases: path=["dhcp", "server", "leases"] - Firewall stats: path=["firewall"] - System uptime: path=["system", "uptime"] - VPN status: path=["vpn", "ipsec", "sa"]

vyos_setA

Set a single VyOS configuration path.

Equivalent to 'set ' in configure mode. The value is the last element of the path list.

Args: params: - path: Config path including the value as the last segment - confirm_time: Optional rollback timeout in minutes

Returns: str: Success message or error.

Examples: - Set interface address: path=["interfaces", "ethernet", "eth0", "address", "10.0.0.1/24"] - Set hostname: path=["system", "host-name", "router01"] - Enable SSH: path=["service", "ssh"] - Set static route: path=["protocols", "static", "route", "0.0.0.0/0", "next-hop", "10.0.0.254"] - Set firewall rule: path=["firewall", "name", "WAN_IN", "rule", "10", "action", "accept"]

vyos_deleteA

Delete a VyOS configuration path.

Equivalent to 'delete ' in configure mode. Removes the specified node and all its children.

Args: params: - path: Config path to delete - confirm_time: Optional rollback timeout in minutes

Returns: str: Success message or error.

Examples: - Remove interface address: path=["interfaces", "ethernet", "eth0", "address", "10.0.0.1/24"] - Remove firewall rule: path=["firewall", "name", "WAN_IN", "rule", "10"] - Remove entire interface: path=["interfaces", "dummy", "dum1"]

vyos_commentA

Add a comment to a VyOS configuration node.

Equivalent to 'comment ' in configure mode. The comment text is the last element of the path list.

Args: params: - path: Config path with comment text as last segment

Returns: str: Success message or error.

vyos_configure_batchA

Apply multiple configuration operations in a single atomic commit.

Use this for changes that must be applied together (e.g. creating a VXLAN interface with its remote and VNI, or setting up a firewall ruleset with multiple rules).

Args: params: - operations: List of {op, path} dicts - confirm_time: Optional rollback timeout in minutes

Returns: str: Success message or error.

Examples: - Create VXLAN with settings: operations=[ {"op": "set", "path": ["interfaces", "vxlan", "vxlan1", "remote", "203.0.113.99"]}, {"op": "set", "path": ["interfaces", "vxlan", "vxlan1", "vni", "1"]}, {"op": "set", "path": ["interfaces", "vxlan", "vxlan1", "address", "10.10.10.1/24"]} ] - Set up BGP peer: operations=[ {"op": "set", "path": ["protocols", "bgp", "65000", "neighbor", "10.0.0.2", "remote-as", "65001"]}, {"op": "set", "path": ["protocols", "bgp", "65000", "neighbor", "10.0.0.2", "address-family", "ipv4-unicast"]} ]

vyos_save_configA

Save the running configuration to disk.

By default saves to /config/config.boot. Optionally specify a custom file path.

Args: params: file — optional save path

Returns: str: Success message or error.

vyos_load_configA

Load a configuration file, replacing the running configuration.

WARNING: This replaces the entire running config with the file contents.

Args: params: file — absolute path on VyOS filesystem

Returns: str: Success message or error.

vyos_merge_configA

Merge configuration from a file or inline string into the running config.

Merging adds/overwrites matching nodes without removing unrelated configuration. Supports commit-confirm for safe rollback.

Args: params: - file: path on VyOS filesystem, OR - string: inline VyOS config text - confirm_time: optional rollback timeout in minutes

Returns: str: Success message or error.

Examples: - Merge from file: file="/config/branch-office.config" - Merge inline config: string="interfaces { ethernet eth1 { address 192.168.50.1/24 } }"

vyos_confirm_commitA

Confirm a pending commit-confirm timer.

If a previous configure or merge operation was sent with confirm_time, call this before the timer expires to keep the changes. Otherwise the router will automatically roll back.

Returns: str: Confirmation result or error.

vyos_generateA

Run a VyOS 'generate' command.

Used to generate cryptographic keys, certificates, and other system components.

Args: params: path — generate command path segments

Returns: str: Generated output (keys, etc.) or error.

Examples: - WireGuard keypair: path=["pki", "wireguard", "key-pair"] - OpenVPN keys: path=["pki", "openvpn"]

vyos_resetA

Run a VyOS 'reset' command.

Resets protocol sessions, counters, or other runtime state. Does NOT affect saved configuration.

Args: params: path — reset command path segments

Returns: str: Reset result or error.

Examples: - Reset BGP peer: path=["ip", "bgp", "192.0.2.11"] - Reset all BGP: path=["ip", "bgp", "all"] - Reset OSPF: path=["ip", "ospf", "process"] - Reset counters: path=["interfaces", "ethernet", "eth0", "counters"]

vyos_imageA

Add or delete VyOS system images.

Use 'add' with a URL to download and install a new image. Use 'delete' with a name to remove an existing image.

Args: params: - op: 'add' or 'delete' - url: download URL (required for add) - name: image name (required for delete)

Returns: str: Operation result or error.

vyos_system_controlA

Reboot or power off the VyOS router.

CRITICAL: This will take the router offline. The 'confirm' parameter must be explicitly set to true.

Args: params: - action: 'reboot' or 'poweroff' - confirm: must be true to proceed

Returns: str: Result message or error.

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/alch3mistdev/vyos-mcp'

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