Token导航 LogoToken导航TokenDH.com
Unifi Protect MCP logo
运维云端未说明官方级别未说明来源级核验

Unifi Protect MCP

MCP Server

一个将UniFi Protect的集成REST API暴露为工具的MCP服务器,适用于Claude Code和其他MCP客户端。

工具数

73

提示词数

0

GitHub Stars

1

资源数

0
智能家居TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

owine

提供方

owine

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

UniFi保护MCP服务器

一个MCP(模型上下文协议)服务器,公开UniFi Protect的集成REST API作为Claude Code和其他MCP客户端的工具。与UniFi Protect API一致 7.1.60 --73种工具,涵盖摄像头、灯、传感器、铃声、查看器、警报器、遥控器、继电器、扬声器、网桥、链接站、报警中心、手臂配置文件、实时视图、文件、用户、NVR状态和WebSocket订阅。

先决条件

  • Node.js 20+
  • 启用集成API的UniFi Protect系统
  • 从UniFi Protect控制台生成的API密钥

设置

快速启动(npx)

只需一个命令即可添加到Claude Code中,无需克隆或构建:

claude mcp add-json unifi-protect '{"command":"npx","args":["-y","@owine/unifi-protect-mcp@latest"],"env":{"UNIFI_PROTECT_HOST":"192.168.1.1","UNIFI_PROTECT_API_KEY":"your-api-key","UNIFI_PROTECT_VERIFY_SSL":"false"}}' -s user

使用 -s user 确保所有项目的全球可用性,或 -s project 仅适用于当前项目。

来源

如果您更喜欢在本地构建:

git clone https://github.com/owine/unifi-protect-mcp.git
cd unifi-protect-mcp
npm install
npm run build

然后添加到克劳德代码中:

claude mcp add-json unifi-protect '{"command":"node","args":["/path/to/unifi-protect-mcp/dist/index.js"],"env":{"UNIFI_PROTECT_HOST":"192.168.1.1","UNIFI_PROTECT_API_KEY":"your-api-key","UNIFI_PROTECT_VERIFY_SSL":"false"}}' -s user

环境变量

变量必填默认描述
UNIFI_PROTECT_HOST--UniFi Protect主机的IP或主机名
UNIFI_PROTECT_API_KEY-Protect集成设置中的API密钥
UNIFI_PROTECT_VERIFY_SSL没有true设置为 false 跳过TLS证书验证(自签名证书需要)
UNIFI_PROTECT_READ_ONLY没有true设置为 false 启用写/修改工具(默认为仅监视模式)

手动配置

或者,添加到您的 ~/.claude.json 在顶层之下 "mcpServers" 按键:

{
  "mcpServers": {
    "unifi-protect": {
      "command": "npx",
      "args": ["-y", "@owine/unifi-protect-mcp@latest"],
      "env": {
        "UNIFI_PROTECT_HOST": "192.168.1.1",
        "UNIFI_PROTECT_API_KEY": "your-api-key",
        "UNIFI_PROTECT_VERIFY_SSL": "false"
      }
    }
  }
}

安全功能

此服务器为负责任的操作提供分层安全控制:

  • 工具注释 --每个工具都声明 readOnlyHintdestructiveHint 因此MCP客户端(如Claude Code)可以做出明智的确认决策
  • 只读模式 --默认情况下启用。仅注册读取操作(列表、获取、快照)。集 UNIFI_PROTECT_READ_ONLY=false 启用写入/修改工具
  • 确认参数 --最危险的工具(protect_disable_mic, protect_trigger_alarm_webhook)要求明确 confirm: true 调用成功所必需的参数
  • 模拟运行支持 --所有书写工具(带 confirm)接受可选 dryRun: true 参数,返回在不进行任何更改的情况下会发生什么的预览

工具(共73个)

系统(2)

工具说明
protect_get_info获取系统信息和版本详细信息
protect_list_nvrs列出所有NVR设备

订阅(2)

工具说明
protect_subscribe_devices通过WebSocket订阅设备状态更新
protect_subscribe_events通过WebSocket订阅事件通知

摄像机(12)

工具说明
protect_list_cameras列出所有摄像头
protect_get_camera按ID获取相机详细信息
protect_update_camera更新相机设置
protect_get_snapshot获取JPEG快照(返回图像)
protect_create_rtsp_stream创建RTSPS流会话
protect_get_rtsp_streams获取活动RTSPS流会话
protect_delete_rtsp_stream停止并删除活动的RTSPS流
protect_create_talkback创建对讲(双向音频)会话
protect_disable_mic不可逆: 永久禁用摄像头麦克风
protect_start_ptz_patrol在指定位置开始PTZ巡逻
protect_stop_ptz_patrol停止PTZ巡逻
protect_goto_ptz_preset将PTZ移动到预设位置

灯光(3)

工具说明
protect_list_lights列出所有灯光
protect_get_light按ID获取灯光细节
protect_update_light更新灯光设置

传感器(3)

工具说明
protect_list_sensors列出所有传感器
protect_get_sensor按ID获取传感器详细信息
protect_update_sensor更新传感器设置

编钟(3)

工具说明
protect_list_chimes列出所有钟声
protect_get_chime按ID获取蜂鸣器详细信息
protect_update_chime更新蜂鸣器设置

浏览者(3)

工具说明
protect_list_viewers列出所有观众
protect_get_viewer按ID获取观众详细信息
protect_update_viewer更新查看器设置

警报器(6)

工具说明
protect_list_sirens列出所有警报器
protect_get_siren按ID获取警报器详细信息
protect_update_siren更新警报器设置(名称、音量、LED)
protect_play_siren在给定的持续时间(5/10/20/30s)内激活警报器
protect_stop_siren停止活动警报器
protect_test_siren_sound在给定音量下测试警报器声音5秒

福布斯 (3)

工具说明
protect_list_fobs列出所有遥控钥匙
protect_get_fob通过ID获取遥控器详细信息
protect_update_fob更新遥控钥匙设置

继电器(4)

工具说明
protect_list_relays列出所有继电器
protect_get_relay按ID获取中继详细信息
protect_update_relay更新继电器设置
protect_activate_relay_output设置/切换继电器输出通道,脉冲持续时间可选

演讲者(4)

工具说明
protect_list_speakers列出所有发言者
protect_get_speaker按ID获取演讲者详细信息
protect_update_speaker更新扬声器设置(音量、麦克风)
protect_test_speaker_sound在给定音量下测试扬声器声音

桥梁(3)

工具说明
protect_list_bridges列出所有桥梁
protect_get_bridge按ID获取桥梁详细信息
protect_update_bridge更新网桥设置

链接站(3)

工具说明
protect_list_link_stations列出所有链路站(非报警集线器网关)
protect_get_link_station按ID获取链接站详细信息
protect_update_link_station更新链接站设置

报警集线器(4)

工具说明
protect_list_alarm_hubs列出所有报警中心
protect_get_alarm_hub按ID获取报警中心详细信息
protect_update_alarm_hub更新报警中心设置
protect_trigger_alarm_hub_output触发报警集线器输出通道(警报器、灯等)

Arm Profiles(7)-本地报警管理器

工具说明
protect_list_arm_profiles列出所有手臂轮廓
protect_create_arm_profile创建新的手臂轮廓
protect_set_current_arm_profile设置武装时使用的活动配置文件
protect_update_arm_profile更新手臂轮廓
protect_delete_arm_profile破坏性: 按ID删除手臂轮廓
protect_enable_arm_alarm使用当前配置文件设置警报
protect_disable_arm_alarm解除警报

实时视图(4)

工具说明
protect_list_liveviews列出所有实时视图
protect_get_liveview按ID获取实时取景详细信息
protect_create_liveview创建新的实时视图
protect_update_liveview更新实时视图

报警和文件(3)

工具说明
protect_trigger_alarm_webhook触发报警webhook(触发外部报警操作)
protect_list_files按类型列出文件
protect_upload_file上传文件(base64编码)

用户(4)

工具说明
protect_list_users列表保护用户(按访问权限筛选)
protect_get_user通过ID获取保护用户
protect_list_ulp_users列出已注册凭据的UniFi Identity(ULP)用户
protect_get_ulp_user通过ID获取UniFi Identity用户

发展

npm run build        # Compile TypeScript
npm start            # Run the server
npm run typecheck    # Type-check without emitting
npm run lint         # ESLint
npm test             # Run all tests (vitest)

承诺约定

  • feat: ... --新功能(次要版本凹凸)
  • fix: ... --错误修复(补丁版本碰撞)
  • feat!: ...BREAKING CHANGE: 页脚--突破性更改(主要版本凸起)
  • chore:, docs:, ci:等等。--无版本冲突

关于推送 main,release请打开一个发布PR,该PR会暂停版本和更新 CHANGELOG.md合并该PR会自动发布到npm。

要覆盖版本号,请添加 Release-As: x.x.x 在提交主体中:

git commit --allow-empty -m "chore: release 2.0.0" -m "Release-As: 2.0.0"

许可证

麻省理工学院

目录标签

目录标签

智能家居TypeScriptClaude本地部署安全监控RESTAPI设备管理WebSocket安防系统

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

73

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP