UniFi MCP服务器

为UniFi网络集成API提供模型上下文协议(MCP)服务器,将67种UniFi控制器操作暴露为AI助手可用的MCP工具。

  • by chrisallenlane
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 chrisallenlane/unifi-mcp

使用说明

unifi-mcp

一 MCP(模型上下文协议) 服务器 这 UniFi网络集成API.暴露67 UniFi控制器作为MCP工具操作,可供Claude和其他AI使用 助理。

特性

  • 查询控制器信息和站点
  • 防火墙区域、防火墙策略、网络、ACL规则、DNS的完整CRUD 策略、流量匹配列表和WiFi广播
  • 客户端和设备管理(列表、状态、操作)
  • 热点凭证管理
  • 支持只读工具(WAN、VPN隧道、VPN服务器、RADIUS配置文件、, 设备标签、DPI类别、DPI应用程序、国家/地区)
  • 防火墙策略和ACL规则排序
  • 根据官方UniFi OpenAPI 3.1.0规范生成的类型安全客户端

需求

  • 转到1.24+
  • UniFi控制器运行固件~7.x/8.x或更高版本(集成API)
  • 来自UniFi控制器的API密钥

安装

git clone https://github.com/chrisallenlane/unifi-mcp.git
cd unifi-mcp
make build
# Binary: dist/unifi-mcp

配置

变量 必填 描述
UNIFI_API_URL 是 UniFi控制器的基本URL(例如。 https://192.168.1.1)
UNIFI_API_KEY 是 来自UniFi控制器的API密钥
UNIFI_SITE_ID 否 默认站点UUID;工具接受 siteId 覆盖
UNIFI_INSECURE 否 设置为任何非空值以跳过TLS验证

工具

信息/网站

工具 说明
get_info 获取控制器应用程序版本
list_sites 列出所有网站

防火墙区域

工具 说明
list_firewall_zones 列出站点的防火墙区域
get_firewall_zone 获取特定的防火墙区域
create_firewall_zone 创建新的防火墙区域
update_firewall_zone 更新现有防火墙区域
delete_firewall_zone 删除防火墙区域

防火墙策略

工具 说明
list_firewall_policies 列出站点的防火墙策略
get_firewall_policy 获取特定的防火墙策略
create_firewall_policy 创建新的防火墙策略
update_firewall_policy 更新现有防火墙策略
delete_firewall_policy 删除防火墙策略
patch_firewall_policy 部分更新防火墙策略
get_firewall_policy_ordering 获取站点的防火墙策略排序
update_firewall_policy_ordering 更新站点的防火墙策略顺序

网络

工具 说明
list_networks 列出站点的网络
get_network 获取特定网络
create_network 创建新网络
update_network 更新现有网络
delete_network 删除网络
get_network_references 获取网络引用

客户

工具 说明
list_clients 列出站点的客户端
get_client 获取特定客户
execute_client_action 在客户端上执行操作

设备

工具 说明
list_devices 列出站点的设备
get_device 获取特定设备
adopt_device 采用一种设备
remove_device 删除设备
execute_device_action 在设备上执行操作
execute_port_action 在设备端口上执行操作
get_device_statistics 获取设备的统计信息
list_pending_devices 列出待采用的设备

ACL规则

工具 说明
list_acl_rules 列出站点的ACL规则
get_acl_rule 获取特定的ACL规则
create_acl_rule 创建新的ACL规则
update_acl_rule 更新现有ACL规则
delete_acl_rule 删除ACL规则
get_acl_rule_ordering 获取站点的ACL规则排序
update_acl_rule_ordering 更新站点的ACL规则顺序

DNS策略

工具 说明
list_dns_policies 列出站点的DNS策略
get_dns_policy 获取特定的DNS策略
create_dns_policy 创建新的DNS策略
update_dns_policy 更新现有DNS策略
delete_dns_policy 删除DNS策略

流量匹配列表

工具 说明
list_traffic_matching_lists 列出网站的流量匹配列表
get_traffic_matching_list 获取特定流量匹配列表
create_traffic_matching_list 创建新的流量匹配列表
update_traffic_matching_list 更新现有流量匹配列表
delete_traffic_matching_list 删除流量匹配列表

WiFi广播

工具 说明
list_wifi_broadcasts 列出站点的WiFi广播
get_wifi_broadcast 获取特定的WiFi广播
create_wifi_broadcast 创建新的WiFi广播
update_wifi_broadcast 更新现有的WiFi广播
delete_wifi_broadcast 删除WiFi广播

热点优惠券

工具 说明
list_vouchers 列出网站的热点优惠券
get_voucher 获取特定热点优惠券
create_vouchers 创建热点优惠券
delete_vouchers 删除多个热点优惠券
delete_voucher 删除特定热点凭证

支持只读

工具 说明
list_wans 列出站点的广域网配置
list_vpn_tunnels 列出站点的VPN隧道
list_vpn_servers 列出站点的VPN服务器
list_radius_profiles 列出站点的RADIUS配置文件
list_device_tags 列出站点的设备标签
list_dpi_categories 列出DPI类别
list_dpi_applications 列出DPI应用程序
list_countries 列出可用国家

用法

看 设置.md 用于使用Claude Code或Claude Desktop进行配置。

发展

# Format, lint, vet, and test
make check

# Build binary
make build

# Regenerate types/client from OpenAPI spec
make generate

有关开发指导,请参阅 CLAUDE.md.

建筑

类型和HTTP客户端由官方的UniFi Network OpenAPI生成 3.1.0规格(api/unifi-network.json)使用 oapi-codegen。参见 adr/001-从oPenia-spec.md生成模型 为理据。

许可证

MIT许可证-有关详细信息,请参阅许可证文件