Skip to main content
Glama

UniFi Protect: Get Event Thumbnail

unifi_protect_get_event_thumbnail
Read-only

Retrieve the still image captured when a Protect event triggered detection. Save it to disk and return the file path, or return the JPEG inline for a vision model to inspect.

Instructions

Fetch the still image Protect captured for an event — the frame that triggered the detection. Writes it to disk and returns the path by default; set output="image" to return it inline for a vision model to look at, which costs a large amount of context. Pass the event's id from unifi_protect_list_events; results showing hasThumbnail: true have one.

Input Schema

NameRequiredDescriptionDefault
outputNo"file" writes it to disk and returns the path; "image" returns it inline.file
eventIdYesEvent id — the `id` from unifi_protect_list_events. Results with `hasThumbnail: true` have an image; others return 404. A raw `e-…` value from the console's own payload is also accepted.
savePathNoAbsolute path to write the JPEG to. Defaults to a file under UNIFI_PROTECT_SNAPSHOT_DIR. Parent directories are created.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.3.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real context beyond readOnlyHint: default behavior writes a JPEG to disk under UNIFI_PROTECT_SNAPSHOT_DIR and returns a path, inline image mode consumes large amounts of context, and missing thumbnails return 404. Note the mild tension with readOnlyHint=true, but the disk write is disclosed rather than hidden, so an agent is not misled about the Protect system itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with zero filler, front-loading the core action and then the output-mode tradeoff and the id sourcing. Every sentence carries distinct, actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still explains both return shapes (a file path or an inline image) and the failure case (404). For a single-resource read tool this covers everything an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds value the schema lacks — the context-cost tradeoff of `output="image"` and the linkage of `eventId` to list_events output with the `hasThumbnail` precondition. The `savePath` parameter is only covered by the schema, not the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — fetch the still image Protect captured for an event — and clarifies which frame it is. It does not explicitly differentiate itself from the sibling unifi_protect_get_event_thumbnails (plural), so an agent must infer the singular/plural split from the names alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear conditions: pass an `id` from unifi_protect_list_events, and only results with `hasThumbnail: true` will succeed. It also explains when to prefer the inline `output="image"` mode. It stops short of naming the plural sibling tool as the alternative for multi-thumbnail retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.