vyos-mcp
Can manage WireGuard VPN configurations on VyOS routers, including generating key pairs and setting up tunnels.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vyos-mcpShow me the current interface status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VyOS MCP Server
An MCP (Model Context Protocol) server for managing VyOS routers via the VyOS HTTP API. Gives any MCP-compatible AI assistant full control over your VyOS router — from reading config to setting up interfaces, firewall rules, VPNs, and more.
Requirements
Python 3.10+
A VyOS router (1.4+ or rolling) with the HTTP API enabled
Enable the VyOS HTTP API
On your VyOS router:
configure
set service https api keys id my-app key 'YOUR_API_KEY'
set service https api rest
commit
saveInstallation
git clone https://github.com/openclaw/vyos-mcp.git
cd vyos-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e .Configuration
Claude Code
Add to your ~/.claude.json (or project .mcp.json):
{
"mcpServers": {
"vyos": {
"command": "/path/to/vyos-mcp/.venv/bin/python",
"args": ["-m", "vyos_mcp.server"],
"env": {
"VYOS_URL": "https://10.0.0.1",
"VYOS_API_KEY": "YOUR_API_KEY",
"VYOS_VERIFY_SSL": "false"
}
}
}
}Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"vyos": {
"command": "/path/to/vyos-mcp/.venv/bin/python",
"args": ["-m", "vyos_mcp.server"],
"env": {
"VYOS_URL": "https://10.0.0.1",
"VYOS_API_KEY": "YOUR_API_KEY",
"VYOS_VERIFY_SSL": "false"
}
}
}
}Environment Variables
Variable | Required | Description |
| Yes | Base URL of your VyOS router (e.g. |
| Yes | API key configured on the router |
| No | Set to |
Tools
Read-Only
Tool | Description |
| Get system version, hostname, and banner (no auth required) |
| Run operational-mode |
| Retrieve running configuration (full or partial subtree) |
| Check whether a configuration path exists |
| Return values of a multi-valued config node (e.g. DNS servers) |
Configuration
Tool | Description |
| Set a single configuration path |
| Delete a configuration path and its children |
| Add a comment to a configuration node |
| Apply multiple set/delete/comment operations in a single atomic commit |
All configuration tools automatically save to /config/config.boot after a successful commit, so changes persist across reboots.
Use confirm_time (1-60 minutes) on any config tool for safe rollback — changes auto-revert unless confirmed with vyos_confirm_commit.
Config File Management
Tool | Description |
| Save running config to disk (default or custom path) |
| Load a config file, replacing the running configuration |
| Merge config from a file or inline string into running config |
| Confirm a pending commit-confirm timer |
System
Tool | Description |
| Run generate commands (WireGuard keys, certificates, etc.) |
| Reset protocol sessions, counters, or runtime state |
| Add (download) or delete system images |
| Reboot or power off the router (requires explicit confirmation) |
Examples
Once configured, you can ask your AI assistant things like:
"Show me the current interface status"
"Set up eth0 as WAN with DHCP and eth1 as LAN with a DHCP server on 192.168.1.0/24"
"Add a firewall rule to block incoming traffic on port 22 from WAN"
"Set up a WireGuard VPN tunnel to 203.0.113.1"
"Show me the routing table"
"What DHCP leases are active?"
"Generate a new WireGuard key pair"
License
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alch3mistdev/vyos-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server