Frigate MCP Server
A Model Context Protocol server that enables AI assistants to control and query Frigate NVR via natural language, providing 59 tools for system management, events, cameras, recordings, review, exports, labels, and classification.
README
Frigate MCP Server
A Model Context Protocol (MCP) server for Frigate NVR, built with FastMCP.
Control and query your Frigate NVR instance through AI assistants like Claude Desktop, Claude Code, or any MCP-compatible client using natural language.
Features
59 tools across 8 categories, mapped 1:1 to Frigate's v0.17.x HTTP API:
| Category | Tools | Description |
|---|---|---|
| System | 9 | Version, stats (+history), config (get/save/schema), logs, restart, Frigate+ models |
| Events | 16 | List, explore, by-id, search, summary, create/end/delete, retain, false-positive, sub-label, recognized plate, attributes, description, regenerate description |
| Cameras | 2 | Latest frame, latest "best" thumbnail per camera + label |
| Recordings | 4 | Summary, storage, list segments, recording gaps |
| Review | 11 | List, by-id, by-event, by-ids, summary, mark/unmark viewed, delete, motion activity, AI summary |
| Exports | 5 | List, get, create, delete, rename |
| Labels | 4 | Labels, sub-labels, timeline, hourly timeline |
| Classification | 8 | Faces CRUD (folder/delete/rename/reprocess/list), recognized plates, LPR reprocess, event thumbnail/snapshot |
PTZ camera control is not included — Frigate exposes PTZ over MQTT, not HTTP.
Quick Start
Prerequisites
- Python 3.11+
- A running Frigate instance
Install
# Clone the repo
git clone https://github.com/jakekeeys/frigate-mcp.git
cd frigate-mcp
# Install with pip
pip install -e .
# Or with uv
uv pip install -e .
Configure
Set the FRIGATE_URL environment variable pointing to your Frigate instance:
export FRIGATE_URL=http://192.168.1.50:5000
Or create a .env file (see .env.example):
FRIGATE_URL=http://192.168.1.50:5000
Run
# Run via module
python -m frigate_mcp
# Or via the installed entry point
frigate-mcp
MCP Client Configuration
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"frigate": {
"command": "python",
"args": ["-m", "frigate_mcp"],
"env": {
"FRIGATE_URL": "http://your-frigate-ip:5000"
}
}
}
}
Claude Code
claude mcp add frigate -- python -m frigate_mcp
Then set FRIGATE_URL in your environment or .env file.
Using uvx (no install needed)
{
"mcpServers": {
"frigate": {
"command": "uvx",
"args": ["--from", "git+https://github.com/jakekeeys/frigate-mcp", "frigate-mcp"],
"env": {
"FRIGATE_URL": "http://your-frigate-ip:5000"
}
}
}
}
Example Queries
Once connected, you can ask your AI assistant things like:
- "What cameras are configured in Frigate?"
- "Show me recent person detections"
- "Were there any cars in the driveway today?"
- "Search for delivery person events"
- "Show me the latest frame from the front door camera"
- "How much recording storage is being used?"
- "Mark all review items from today as reviewed"
- "Create an export of the backyard camera from 2pm to 3pm"
- "What faces has Frigate learned?"
- "Summarise everything that happened in the review queue overnight"
- "Show me the system stats"
Configuration
| Environment Variable | Default | Description |
|---|---|---|
FRIGATE_URL |
http://localhost:5000 |
Frigate instance URL |
FRIGATE_TIMEOUT |
30 |
HTTP request timeout (seconds) |
Architecture
src/frigate_mcp/
__init__.py # Package version
__main__.py # CLI entry point (stdio transport)
config.py # Pydantic Settings from env vars
server.py # FrigateMCPServer (FastMCP wrapper)
client/
rest_client.py # Async httpx client for Frigate API
tools/
tools_system.py # System/config tools
tools_events.py # Event CRUD, search, attributes, description
tools_cameras.py # Camera frames + best-per-label thumbnails
tools_recordings.py # Recording summary, segments, gaps
tools_review.py # Review queue + GenAI summary
tools_exports.py # Video exports
tools_labels.py # Labels, sub-labels, timeline
tools_classification.py # Faces + recognised plates + event media
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.