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

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.2.0.tar.gz (15.8 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.2.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mcp_server_vyos-0.2.0.tar.gz
Algorithm Hash digest
SHA256 05babb8eb59571ed0e469ae2c9292c33f85ec7df9921f9746e9c1c7d8ff0644c
MD5 3dc8808e3d1b00480d8777257d540a9e
BLAKE2b-256 61e5e205db2ef9038261d408ce91956f3de430de0ff84320573c35450c59a3ee

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcp_server_vyos-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6a257bca051c3caaf32a9154b277f2f1a6d69349f042b9c3fc0dbf593e1b458
MD5 d3bd2cf88859eb366fe5f97bf43341c7
BLAKE2b-256 3beb6f544a8e91af18043a7502f6a54556e3da070b02317f077b23bb9c05eed3

See more details on using hashes here.

Provenance

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