Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server with authentication for Frigate NVR (authenticated port, viewer role)
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
FRIGATE_URL, FRIGATE_USER, FRIGATE_PASSWD, FRIGATE_IMAGE_CAMERAS, FRIGATE_IMAGE_MAX_HEIGHT, FRIGATE_IMAGE_MAX_QUALITY, FRIGATE_TIMEOUTค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"frigate-auth": {
"command": "uvx",
"args": [
"frigate-auth-mcp"
],
"env": {
"FRIGATE_URL": "ใส่ค่าของคุณ",
"FRIGATE_USER": "ใส่ค่าของคุณ",
"FRIGATE_PASSWD": "ใส่ค่าของคุณ",
"FRIGATE_IMAGE_CAMERAS": "ใส่ค่าของคุณ",
"FRIGATE_IMAGE_MAX_HEIGHT": "ใส่ค่าของคุณ",
"FRIGATE_IMAGE_MAX_QUALITY": "ใส่ค่าของคุณ",
"FRIGATE_TIMEOUT": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add frigate-auth --env FRIGATE_URL='ใส่ค่าของคุณ' --env FRIGATE_USER='ใส่ค่าของคุณ' --env FRIGATE_PASSWD='ใส่ค่าของคุณ' --env FRIGATE_IMAGE_CAMERAS='ใส่ค่าของคุณ' --env FRIGATE_IMAGE_MAX_HEIGHT='ใส่ค่าของคุณ' --env FRIGATE_IMAGE_MAX_QUALITY='ใส่ค่าของคุณ' --env FRIGATE_TIMEOUT='ใส่ค่าของคุณ' -- uvx frigate-auth-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"frigate-auth": {
"command": "uvx",
"args": [
"frigate-auth-mcp"
],
"env": {
"FRIGATE_URL": "ใส่ค่าของคุณ",
"FRIGATE_USER": "ใส่ค่าของคุณ",
"FRIGATE_PASSWD": "ใส่ค่าของคุณ",
"FRIGATE_IMAGE_CAMERAS": "ใส่ค่าของคุณ",
"FRIGATE_IMAGE_MAX_HEIGHT": "ใส่ค่าของคุณ",
"FRIGATE_IMAGE_MAX_QUALITY": "ใส่ค่าของคุณ",
"FRIGATE_TIMEOUT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"frigate-auth": {
"type": "stdio",
"command": "uvx",
"args": [
"frigate-auth-mcp"
],
"env": {
"FRIGATE_URL": "ใส่ค่าของคุณ",
"FRIGATE_USER": "ใส่ค่าของคุณ",
"FRIGATE_PASSWD": "ใส่ค่าของคุณ",
"FRIGATE_IMAGE_CAMERAS": "ใส่ค่าของคุณ",
"FRIGATE_IMAGE_MAX_HEIGHT": "ใส่ค่าของคุณ",
"FRIGATE_IMAGE_MAX_QUALITY": "ใส่ค่าของคุณ",
"FRIGATE_TIMEOUT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
FRIGATE_URL envFRIGATE_IMAGE_CAMERAS envFRIGATE_IMAGE_MAX_HEIGHT envFRIGATE_IMAGE_MAX_QUALITY envFRIGATE_TIMEOUT envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub adel-s ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: FRIGATE_USER, FRIGATE_PASSWD
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry 5 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, SwarmMemo
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.
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.
viewer. If the role lets you limit cameras, give it only the cameras the assistant should see..mcp.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.
| Tool | What it returns | Frigate API |
|---|---|---|
frigate_status | version, uptime, the cameras this user may see, per-camera fps | /api/stats, /api/profile, /api/version |
list_events | tracked-object events, filters by camera, label, time, GenAI description | /api/events |
get_event | one event in detail, with its GenAI description | /api/events/ |
event_snapshot | snapshot of an event with the bounding box, optionally cropped; 480 px, quality 70 by default | /api/events/ /snapshot.jpg |
latest_frame | the current frame of a camera; 480 px, quality 70 by default | /api/ /latest.jpg |
list_reviews | review items as in the Frigate UI, last 7 days by default | /api/review |
review_summary | alert and detection counts for the last 24 hours and per day | /api/review/summary |
| Variable | Meaning |
|---|---|
FRIGATE_IMAGE_CAMERAS | cameras allowed to return images, comma-separated; default all |
FRIGATE_IMAGE_MAX_HEIGHT | upper limit for the image height in pixels; default no limit |
FRIGATE_IMAGE_MAX_QUALITY | upper limit for the JPEG quality (1-100); default no limit |
FRIGATE_PASSWD | password of the Frigate user, required (secret) |
FRIGATE_TIMEOUT | seconds per request, default 30 |
FRIGATE_URL | base URL of the authenticated port, default http://localhost:8971 |
FRIGATE_USER | Frigate username, required |
8971 by default) only, never to the unauthenticated internal port 5000, which gives full API access to anyone who can reach it.viewer; the only non-GET call is POST /api/login.readOnlyHint: true and destructiveHint: false, so clients can tell that the server only reads.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.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/ /).
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.
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.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.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.
If something doesn't work or you need a new feature feel free to open an issue and I'll fix it ASAP!
MIT, see LICENSE.