Skip to main content

MCP server for VyOS router management via the HTTPS REST API

Project description

mcp-server-vyos

CI codecov PyPI Python License: MIT

MCP server for VyOS router management via the HTTPS REST API. Provides both router management tools and live VyOS documentation lookup.

Installation

pip install mcp-server-vyos

Configuration

Set environment variables:

  • VYOS_URL — Router API endpoint (e.g., https://vyos.example.com)
  • VYOS_API_KEY — API key for authentication
  • VYOS_READ_ONLY — Set to true to disable all mutating tools (config changes, reboot, poweroff, etc.)

VyOS Router Setup

Enable the HTTPS API on your VyOS router:

configure
set service https api keys id my-mcp-key key <your-api-key>
set service https api rest
commit
save

Claude Code

Add to your MCP client configuration:

{
  "mcpServers": {
    "vyos": {
      "command": "mcp-server-vyos",
      "env": {
        "VYOS_URL": "https://vyos.example.com",
        "VYOS_API_KEY": "your-api-key"
      }
    }
  }
}

Read-Only Mode

For safe, query-only access (monitoring, investigation, documentation lookup), enable read-only mode:

{
  "mcpServers": {
    "vyos": {
      "command": "mcp-server-vyos",
      "env": {
        "VYOS_URL": "https://vyos.example.com",
        "VYOS_API_KEY": "your-api-key",
        "VYOS_READ_ONLY": "true"
      }
    }
  }
}

This registers only non-mutating tools: vyos_info, vyos_retrieve, vyos_return_values, vyos_exists, vyos_config_diff, vyos_config_history, vyos_show, vyos_traceroute, vyos_interface_stats, vyos_system_resources, vyos_route_table, vyos_firewall_stats, vyos_bgp_summary, vyos_docs_search, and vyos_docs_read.

Tools

Router Management

Tool Description
vyos_info System info (no auth required)
vyos_retrieve Read configuration at a path
vyos_return_values Get multi-valued config node values
vyos_exists Check if a config path exists
vyos_config_diff Show config differences (saved vs running, or by revision)
vyos_config_history List config revision history (number, timestamp, user, method)
vyos_show Run operational show commands
vyos_validate Validate config syntax (temporary apply with auto-rollback)
vyos_configure Apply config with commit-confirm (safe default)
vyos_confirm Confirm a pending commit-confirm
vyos_save Save running config to disk
vyos_load Load a configuration file
vyos_merge Merge config file or string into running config
vyos_generate Generate keys, certificates, etc.
vyos_reset Reset operations
vyos_reboot Reboot the router
vyos_poweroff Power off the router
vyos_image_add Add a system image from URL
vyos_image_delete Delete a system image

Diagnostics

Tool Description
vyos_traceroute Traceroute to a host (structured mtr report)
vyos_interface_stats Interface RX/TX counters, errors, and link state
vyos_system_resources CPU, memory, storage, and uptime snapshot
vyos_route_table Routing table (RIB) by family/protocol (show ip route)
vyos_firewall_stats Firewall and NAT rule hit counters
vyos_bgp_summary BGP neighbor summary (state, prefixes received)

Documentation

Tool Description
vyos_docs_search Search VyOS docs by topic and page content (returns snippets)
vyos_docs_read Read a specific documentation page

Documentation is fetched live from the vyos-documentation repository, so it stays in sync with the latest VyOS releases. Results are cached for 1 hour.

Safety

  • Configuration changes use commit-confirm by default -- changes auto-revert after 5 minutes unless confirmed with vyos_confirm
  • vyos_configure accepts a list of operations applied atomically in one commit-confirm -- batch related changes into a single call so they commit or roll back together
  • Destructive operations (vyos_reboot, vyos_poweroff, vyos_image_delete) include warning descriptions
  • API keys are never logged or included in tool outputs
  • Self-signed TLS certificates are accepted by default (common on VyOS)

Development

uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pytest
ruff check .

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

mcp_server_vyos-0.4.0.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

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

mcp_server_vyos-0.4.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_vyos-0.4.0.tar.gz.

File metadata

  • Download URL: mcp_server_vyos-0.4.0.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for mcp_server_vyos-0.4.0.tar.gz
Algorithm Hash digest
SHA256 52a41e3e4ec3b61a88dd0ae701ae336c45ad458335774a760213b59ff82e089f
MD5 dfae8a99c043cb7f7e0bad9eedfc9c49
BLAKE2b-256 459faa771bcfb524ae8ec986ae035cc81b20016c84e734abc5c94682cdeed5e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_vyos-0.4.0.tar.gz:

Publisher: release-please.yml on cacack/mcp-server-vyos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_server_vyos-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_server_vyos-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for mcp_server_vyos-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6001df5141a929cabb17c76635fecc0c14ef12a4837a48b6a998b29fc9099861
MD5 a53d70abbf023a4fdcf3eb9dcf0e012d
BLAKE2b-256 2a63cd8770c9dd52c62f5c246eb18f7f238b28f5b1a99cfe8f6b5ac7f6e493b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_vyos-0.4.0-py3-none-any.whl:

Publisher: release-please.yml on cacack/mcp-server-vyos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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