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_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

Documentation

Tool Description
vyos_docs_search Search VyOS documentation by topic
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
  • 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.3.0.tar.gz (24.2 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.3.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_server_vyos-0.3.0.tar.gz
  • Upload date:
  • Size: 24.2 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.3.0.tar.gz
Algorithm Hash digest
SHA256 f9c7b7a71f9e89f93f9ad4ae47f0979a59e002404887ed57a776382179391a57
MD5 73cf8239984683745132deedbe9295d0
BLAKE2b-256 bebe234bbe5444f72a77e8b5419495d6e2deec6c4662ae7ce181160d041927db

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_vyos-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_server_vyos-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a668461a03ff15c4bd412bbf9be171143991c9c30374b7bc0b4c605d75b17718
MD5 b8df52b5cbeef335472835dfd6f04987
BLAKE2b-256 a31870f8abc4cd5f86e34c0052b7a10f0cb290578c07b3a4449d6d5bfcf4edf9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_vyos-0.3.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