使用说明
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许可证-有关详细信息,请参阅许可证文件
