Frigate Auth

io.github.adel-s由 GitHub 帳號 adel-s 發布v0.3.0更新於 Nov 3, 2026

帶身分驗證的 Frigate NVR MCP 伺服器(認證埠,viewer 角色)

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

MCP server with authentication for Frigate NVR (authenticated port, viewer role)

已驗證STDIO僅桌面安全與監控媒體與設計

概覽

Frigate Auth 的本機 MCP 服務;無需登入;STDIO。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Frigate Auth,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[tests] [publish]

frigate-auth-mcp

What

An MCP server with authentication for Frigate NVR: lets an AI assistant (Claude Code, Claude Desktop, Hermes or any other MCP client) look at your cameras, events and reviews - and nothing more.

It logs in to Frigate's authenticated port as a user with the viewer role, so Frigate itself enforces what the assistant may see. Tested with Frigate 0.17.x.

Install

Python 3.11+ and uv. Nothing to install by hand: the MCP client starts the server from PyPI with

uvx frigate-auth-mcp

The latest code from GitHub runs with uvx --from git+https://github.com/adel-s/frigate-auth-mcp frigate-auth-mcp.

Setup

  1. In Frigate, create a user for the assistant (Settings -> Users) with the role viewer. If the role lets you limit cameras, give it only the cameras the assistant should see.
  2. Add the server to your MCP client. For Claude Code, in .mcp.json:
json
{  "mcpServers": {    "frigate": {      "command": "uvx",      "args": ["frigate-auth-mcp"],      "env": {        "FRIGATE_URL": "https://frigate.example.com:8971",        "FRIGATE_USER": "assistant",        "FRIGATE_PASSWD": "${FRIGATE_PASSWD}"      }    }  }}

Keep the password out of the file: put it in the environment the client runs in.

Tools

ToolWhat it returnsFrigate API
frigate_statusversion, uptime, the cameras this user may see, per-camera fps/api/stats, /api/profile, /api/version
list_eventstracked-object events, filters by camera, label, time, GenAI description/api/events
get_eventone event in detail, with its GenAI description/api/events/<id>
event_snapshotsnapshot of an event with the bounding box, optionally cropped; 480 px, quality 70 by default/api/events/<id>/snapshot.jpg
latest_framethe current frame of a camera; 480 px, quality 70 by default/api/<camera>/latest.jpg
list_reviewsreview items as in the Frigate UI, last 7 days by default/api/review
review_summaryalert and detection counts for the last 24 hours and per day/api/review/summary

Environment

VariableMeaning
FRIGATE_IMAGE_CAMERAScameras allowed to return images, comma-separated; default all
FRIGATE_IMAGE_MAX_HEIGHTupper limit for the image height in pixels; default no limit
FRIGATE_IMAGE_MAX_QUALITYupper limit for the JPEG quality (1-100); default no limit
FRIGATE_PASSWDpassword of the Frigate user, required (secret)
FRIGATE_TIMEOUTseconds per request, default 30
FRIGATE_URLbase URL of the authenticated port, default http://localhost:8971
FRIGATE_USERFrigate username, required

Safety

  • Talks to the authenticated port (8971 by default) only, never to the unauthenticated internal port 5000, which gives full API access to anyone who can reach it.
  • Logs in as a Frigate user with the role viewer; the only non-GET call is POST /api/login.
  • No tool deletes, exports, edits the config or restarts anything.
  • Every tool carries the MCP annotations readOnlyHint: true and destructiveHint: false, so clients can tell that the server only reads.
  • The raw Frigate config is not exposed: it carries camera stream URLs with credentials.
  • Optional image filter FRIGATE_IMAGE_CAMERAS: only these cameras return images (snapshots, frames). This is the second layer of protection, after the camera limit of the Frigate user's role; by default all cameras are allowed. Use it when the MCP client sends images to a third-party model and some frames, such as indoor cameras, must not leave your home.

Skill

skills/frigate-cameras/SKILL.md tells the assistant how to use the tools: which tool answers which question, text before images, small images, what an empty result or an error means. It is a plain Agent Skill: copy the frigate-cameras folder into the skills folder of your client (for Claude Code .claude/skills/, for Hermes ~/.hermes/skills/<category>/).

Why

The Frigate MCP server I found talks to port 5000 without authentication and exposes tools that delete events, start exports, save the config or restart Frigate. Handing that to an AI model is more trust than a camera system deserves. This server gives the assistant eyes, not hands.

Notes

  • Without after, Frigate's /api/review returns only the last 24 hours; list_reviews asks for the last 7 days instead, so "what happened this week" gets a full answer.
  • list_events with has_description filters on the GenAI description, which the Frigate API cannot do itself.
  • Images default to 480 px and JPEG quality 70 to keep the model's context small; height and quality raise them when a detail is too small to see. Models tend to ask for more than they need: FRIGATE_IMAGE_MAX_HEIGHT and FRIGATE_IMAGE_MAX_QUALITY cap what they get, larger requests are lowered to the limit.
  • Errors come back as short plain messages (object not found, login rejected, access denied, Frigate unreachable) without the internal Frigate host name.

Tests

sh
uv run python -m unittest discover -s tests

The tests use unittest and a fake Frigate API on httpx.MockTransport, so they need no running Frigate. They also check that no tool sends anything but GET, apart from the login.

GitHub Actions runs them on Python 3.11 to 3.14 on each push to master and dev/* branches.

Development

If something doesn't work or you need a new feature feel free to open an issue and I'll fix it ASAP!

License

MIT, see LICENSE.

來源:README.md,提交 f111544

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.3.0最新Nov 3, 2026
  2. v0.1.1Oct 29, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分