Skip to main content
Glama

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.

Related MCP server: YARR Media Stack MCP Server

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

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jakekeeys/frigate-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server