vyos-mcp

vyos-mcp

MCP server for managing VyOS routers via the VyOS HTTP API, allowing AI assistants to read config, set interfaces, firewall rules, VPNs, and more.

Category
Visit Server

README

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
save

Installation

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
VYOS_URL Yes Base URL of your VyOS router (e.g. https://10.0.0.1)
VYOS_API_KEY Yes API key configured on the router
VYOS_VERIFY_SSL No Set to false to skip TLS verification (default: true)

Tools

Read-Only

Tool Description
vyos_info Get system version, hostname, and banner (no auth required)
vyos_show Run operational-mode show commands (interfaces, routes, BGP, etc.)
vyos_show_config Retrieve running configuration (full or partial subtree)
vyos_exists Check whether a configuration path exists
vyos_return_values Return values of a multi-valued config node (e.g. DNS servers)

Configuration

Tool Description
vyos_set Set a single configuration path
vyos_delete Delete a configuration path and its children
vyos_comment Add a comment to a configuration node
vyos_configure_batch 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
vyos_save_config Save running config to disk (default or custom path)
vyos_load_config Load a config file, replacing the running configuration
vyos_merge_config Merge config from a file or inline string into running config
vyos_confirm_commit Confirm a pending commit-confirm timer

System

Tool Description
vyos_generate Run generate commands (WireGuard keys, certificates, etc.)
vyos_reset Reset protocol sessions, counters, or runtime state
vyos_image Add (download) or delete system images
vyos_system_control 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured