UniFi网络管理工具

一个基于UniFi Network API的模型上下文协议(MCP)服务器,通过AI助手(如Claude)管理UniFi网络基础设施。

  • by ruashots
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 Ruashots/unifi-network-mcp

使用说明

UniFi网络MCP服务器

模型上下文协议(MCP)服务器 UniFi网络API通过Claude等人工智能助手管理您的UniFi网络基础设施。

快速安装

curl -fsSL https://raw.githubusercontent.com/Ruashots/unifi-network-mcp/master/install.sh | bash

这将:

  • 将存储库克隆到 ~/.local/share/unifi-network-mcp
  • 安装依赖项并构建
  • 提示输入UniFi控制台URL和API密钥
  • 自动配置Claude代码

其他命令:

# Reconfigure credentials
~/.local/share/unifi-network-mcp/install.sh --reconfigure

# Uninstall
~/.local/share/unifi-network-mcp/install.sh --uninstall

特性

50+工具 涵盖完整的UniFi网络API:

  • 站点 -列出API密钥可访问的所有站点
  • 设备 -列出、获取统计数据、采用、重启、定位设备
  • 客户 -查看已连接的客户端,授权访客访问
  • 网络 -网络配置的完整CRUD
  • 无线网络 -使用安全设置创建和管理SSID
  • 热点优惠券 -生成和管理客人优惠券
  • 防火墙区域 -将网络组织到安全区域
  • ACL规则 -使用调度创建和管理防火墙规则
  • 流量匹配列表 -IP组、端口组、域、应用程序、区域

先决条件

  • Node.js 18+
  • 带网络应用程序的UniFi控制台(UniFi操作系统控制台、云密钥或自托管)
  • UniFi API密钥(站点管理员或超级管理员角色)
  • jq (用于自动克劳德代码配置)

获取UniFi API密钥

  1. 登录您的UniFi控制台
  2. 点击您的个人资料图标(左下角)
  3. 首选 API 部分
  4. 点击 创建API密钥
  5. 复制密钥(仅显示一次)

注: 您的API密钥将继承您的用户权限。使用站点管理员或超级管理员帐户进行完全访问。

手动安装

# Clone the repository
git clone https://github.com/Ruashots/unifi-network-mcp.git
cd unifi-network-mcp

# Install dependencies
npm install

# Build
npm run build

用法

Claude 代码命令行界面

claude mcp add unifi-network \
  --transport stdio \
  -e UNIFI_API_KEY="your-api-key" \
  -e UNIFI_BASE_URL="https://your-console-ip" \
  -- node /path/to/unifi-network-mcp/dist/index.js

范围选项:

标志 描述
(默认) 本地到当前目录
--scope user 适用于您的所有项目
--scope project 通过与团队共享 .mcp.json

克劳德桌面版

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "unifi-network": {
      "command": "node",
      "args": ["/path/to/unifi-network-mcp/dist/index.js"],
      "env": {
        "UNIFI_API_KEY": "your-api-key",
        "UNIFI_BASE_URL": "https://your-console-ip"
      }
    }
  }
}

环境变量

变量 描述
UNIFI_BASE_URL 您的UniFi控制台URL(例如。, https://192.168.1.1)
UNIFI_API_KEY UniFi控制台中的API密钥

可用工具

应用

工具 说明
unifi_get_info 获取应用程序版本和类型

站点

工具 说明
unifi_list_sites 列出所有网站

设备

工具 说明
unifi_list_devices 列出站点上的所有设备
unifi_get_device 获取设备详细信息
unifi_get_device_statistics 获取最新设备统计信息
unifi_adopt_device 采用待定设备
unifi_restart_device 重新启动设备
unifi_locate_device 闪光装置LED
unifi_list_pending_devices 列出待采用的设备

客户

工具 说明
unifi_list_clients 列出所有连接的客户端
unifi_get_client 获取客户详细信息
unifi_authorize_guest 在热点上授权访客

网络

工具 说明
unifi_list_networks 列出所有网络
unifi_get_network 获取网络详细信息
unifi_create_network 创建网络
unifi_update_network 更新网络
unifi_delete_network 删除网络

无线网络

工具 说明
unifi_list_wifi 列出所有WiFi网络(SSID)
unifi_get_wifi 获取WiFi网络详细信息
unifi_create_wifi 创建WiFi网络
unifi_update_wifi 更新WiFi网络
unifi_delete_wifi 删除WiFi网络

热点优惠券

工具 说明
unifi_list_vouchers 列出所有凭证
unifi_get_voucher 获取凭证详细信息
unifi_create_voucher 创建凭证
unifi_update_voucher 更新凭证
unifi_delete_voucher 删除凭证

防火墙区域

工具 说明
unifi_list_firewall_zones 列出防火墙区域
unifi_get_firewall_zone 获取区域详细信息
unifi_create_firewall_zone 创建区域
unifi_update_firewall_zone 更新区域
unifi_delete_firewall_zone 删除区域

ACL规则(防火墙)

工具 说明
unifi_list_acl_rules 列出所有ACL规则
unifi_get_acl_rule 获取规则详细信息
unifi_create_acl_rule 创建ACL规则
unifi_update_acl_rule 更新ACL规则
unifi_delete_acl_rule 删除ACL规则
unifi_batch_update_acl_rules 批量更新规则

流量匹配列表

工具 说明
unifi_list_traffic_matching_lists 列出所有匹配的列表
unifi_get_traffic_matching_list 获取列表详细信息
unifi_create_traffic_matching_list 创建匹配列表
unifi_update_traffic_matching_list 更新匹配列表
unifi_delete_traffic_matching_list 删除匹配列表

配套资源

工具 说明
unifi_list_wans 列出广域网接口
unifi_list_vpns 列出VPN配置
unifi_list_radius_profiles 列出RADIUS配置文件
unifi_get_system_log 获取系统日志条目
unifi_list_dpi_categories 列出DPI类别
unifi_list_dpi_applications 列出DPI应用程序
unifi_list_countries 列出地理规则的国家

示例提示

配置后,使用自然语言:

"List all my UniFi sites"

"What devices are connected to my network?"

"Create a guest WiFi network with WPA3 security"

"Show me which clients are currently connected"

"Create 10 hotspot vouchers valid for 24 hours"

"Block traffic from the IoT network to the main network"

"Restart the access point in the living room"

"What's the current status of my UDM Pro?"

发展

npm install      # Install dependencies
npm run dev      # Run in development mode
npm run build    # Build for production
npm run watch    # Watch mode

API端点

MCP服务器连接到UniFi网络集成API,地址:

{UNIFI_BASE_URL}/proxy/network/integration/v1/...

这是UniFi Network 9.0+中引入的官方公共API。

安全

  • 确保API密钥的安全,并且永远不要将其提交给版本控制
  • 使用环境变量进行敏感配置
  • API密钥继承用户权限-使用最小权限原则
  • 考虑为自动化创建一个专门的API用户

许可证

麻省理工学院

链接