vyos-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VYOS_URL | Yes | Router API endpoint (e.g., https://vyos.example.com) | |
| VYOS_API_KEY | Yes | API key for authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vyos_infoA | Get VyOS system info (no authentication required). |
| vyos_retrieveB | Read VyOS configuration at a given path. |
| vyos_return_valuesA | Get values of a multi-valued VyOS config node as a list. |
| vyos_existsA | Check if a VyOS configuration path exists. |
| vyos_config_diffA | Show configuration differences. |
| vyos_config_historyA | List configuration revision history. |
| vyos_showB | Run a VyOS operational show command. |
| vyos_tracerouteA | Traceroute to a host from the router. |
| vyos_interface_statsA | Show interface statistics: RX/TX counters, errors, link state. |
| vyos_system_resourcesA | Get router system resources: CPU, memory, storage, and uptime. |
| vyos_route_tableA | Show the routing table / RIB ( |
| vyos_firewall_statsA | Show firewall and NAT rule hit counters. |
| vyos_bgp_summaryA | Show the BGP neighbor summary ( |
| vyos_validateA | Validate VyOS configuration syntax without persisting changes. |
| vyos_configureA | Apply a list of VyOS config changes atomically with commit-confirm. |
| vyos_confirmA | Confirm a pending commit-confirm, making changes permanent. |
| vyos_saveA | Save running VyOS configuration to disk. |
| vyos_generateC | Run a VyOS generate command (keys, certificates, etc.). |
| vyos_resetC | Run a VyOS reset command. |
| vyos_loadC | Load a VyOS configuration file. |
| vyos_mergeA | Merge a configuration into the running config. |
| vyos_rebootA | Reboot the VyOS router immediately. |
| vyos_poweroffA | Power off the VyOS router immediately. |
| vyos_image_addA | Add a VyOS system image from a URL. |
| vyos_image_deleteA | Delete a VyOS system image. |
| vyos_docs_searchA | Search VyOS documentation by topic (path and page content). |
| vyos_docs_readA | Read a VyOS documentation page. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Most tools are distinct, but there are ambiguous boundaries: vyos_retrieve vs vyos_return_values vs vyos_exists all read config with different return shapes, and vyos_merge/vyos_load/vyos_configure/vyos_validate all apply config in overlapping ways. Descriptions help, but an agent could easily call the wrong one without prior domain knowledge.
All tools share the vyos_ prefix and snake_case, but the action/noun ordering is mixed: some are verb-only (vyos_retrieve, vyos_configure), some are noun-first (vyos_config_diff, vyos_route_table), and some are noun+verb (vyos_docs_search, vyos_image_add). The pattern is readable but not predictable enough to infer tool behavior from the name.
At 27 tools, the surface exceeds the comfortable range and feels heavy. Many specialized operational wrappers (vyos_interface_stats, vyos_route_table, vyos_firewall_stats, vyos_bgp_summary, vyos_traceroute) could reasonably be consolidated around the generic vyos_show command.
The tool set covers the VyOS lifecycle well: config read/validate/apply/confirm/save/diff/history, operational show commands, reset/generate operations, image management, and even documentation lookup. The main gaps are inherent API limitations like rollback, and image listing/logs are still reachable via vyos_show.