VyOS MCP服务器
一种MCP(模型上下文协议)服务器,用于通过VyOS HTTP API管理VyOS路由器。让任何兼容MCP的AI助手完全控制您的VyOS路由器——从读取配置到设置接口、防火墙规则、VPN等。
需求
- Python 3.10+
- 启用了HTTP API的VyOS路由器(1.4+或滚动)
启用VyOS HTTP API
在您的VyOS路由器上:
configure
set service https api keys id my-app key 'YOUR_API_KEY'
set service https api rest
commit
save安装
git clone https://github.com/openclaw/vyos-mcp.git
cd vyos-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e .配置
克劳德代码
添加到您的 ~/.claude.json (或项目 .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桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在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"
}
}
}
}环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
VYOS_URL | 是 | 您的VyOS路由器的基本URL(例如。 https://10.0.0.1) |
VYOS_API_KEY | 是 | 在路由器上配置了API密钥 |
VYOS_VERIFY_SSL | 否 | 设置为 false 跳过TLS验证(默认: true) |
工具
只读
| 工具 | 说明 |
|---|---|
vyos_info | 获取系统版本、主机名和横幅(无需身份验证) |
vyos_show | 运行操作模式 show 命令(接口、路由、BGP等) |
vyos_show_config | 检索运行配置(完整或部分子树) |
vyos_exists | 检查配置路径是否存在 |
vyos_return_values | 多值配置节点(如DNS服务器)的返回值 |
配置
| 工具 | 说明 |
|---|---|
vyos_set | 设置单个配置路径 |
vyos_delete | 删除配置路径及其子路径 |
vyos_comment | 向配置节点添加注释 |
vyos_configure_batch | 在单个原子提交中应用多个set/delete/comment操作 |
所有配置工具自动保存到 /config/config.boot 成功提交后,更改会在重新启动后持续存在。
使用 confirm_time (1-60分钟)在任何配置工具上进行安全回滚——除非用确认,否则更改会自动恢复 vyos_confirm_commit.
配置文件管理
| 工具 | 说明 |
|---|---|
vyos_save_config | 将运行配置保存到磁盘(默认或自定义路径) |
vyos_load_config | 加载配置文件,替换正在运行的配置 |
vyos_merge_config | 将文件或内联字符串中的配置合并到正在运行的配置中 |
vyos_confirm_commit | 确认待处理的提交确认计时器 |
系统
| 工具 | 说明 |
|---|---|
vyos_generate | 运行生成命令(WireGuard密钥、证书等) |
vyos_reset | 重置协议会话、计数器或运行时状态 |
vyos_image | 添加(下载)或删除系统映像 |
vyos_system_control | 重新启动或关闭路由器(需要明确确认) |
例子
配置后,您可以向AI助手询问以下问题:
- “显示当前界面状态”
- “将eth0设置为带DHCP的广域网,将eth1设置为带192.168.1.0/24上的DHCP服务器的局域网”
- “添加防火墙规则以阻止来自WAN的端口22上的传入流量”
- “设置到203.0.113.1的WireGuard VPN隧道”
- “显示路由表”
- “哪些DHCP租约处于活动状态?”
- “生成新的WireGuard密钥对”
许可证
麻省理工学院
