vyos-mcp
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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