MCP server for VyOS router management via the HTTPS REST API
Project description
mcp-server-vyos
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 authenticationVYOS_READ_ONLY— Set totrueto 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-confirmby default -- changes auto-revert after 5 minutes unless confirmed withvyos_confirm vyos_configureaccepts 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52a41e3e4ec3b61a88dd0ae701ae336c45ad458335774a760213b59ff82e089f
|
|
| MD5 |
dfae8a99c043cb7f7e0bad9eedfc9c49
|
|
| BLAKE2b-256 |
459faa771bcfb524ae8ec986ae035cc81b20016c84e734abc5c94682cdeed5e5
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_vyos-0.4.0.tar.gz -
Subject digest:
52a41e3e4ec3b61a88dd0ae701ae336c45ad458335774a760213b59ff82e089f - Sigstore transparency entry: 2002716233
- Sigstore integration time:
-
Permalink:
cacack/mcp-server-vyos@37a93a1ec2d902188778c183cd3746c571eb97dd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cacack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@37a93a1ec2d902188778c183cd3746c571eb97dd -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6001df5141a929cabb17c76635fecc0c14ef12a4837a48b6a998b29fc9099861
|
|
| MD5 |
a53d70abbf023a4fdcf3eb9dcf0e012d
|
|
| BLAKE2b-256 |
2a63cd8770c9dd52c62f5c246eb18f7f238b28f5b1a99cfe8f6b5ac7f6e493b3
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_vyos-0.4.0-py3-none-any.whl -
Subject digest:
6001df5141a929cabb17c76635fecc0c14ef12a4837a48b6a998b29fc9099861 - Sigstore transparency entry: 2002716429
- Sigstore integration time:
-
Permalink:
cacack/mcp-server-vyos@37a93a1ec2d902188778c183cd3746c571eb97dd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cacack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@37a93a1ec2d902188778c183cd3746c571eb97dd -
Trigger Event:
push
-
Statement type: