Skip to main content
Glama
owine

UniFi Protect MCP

by owine

protect_get_liveview

Read-only

Retrieve details for a specific live view by ID, including slots, layout, and owner. Fetch the full slot list before updating because PATCH replaces the slots array.

Instructions

Get details for a specific live view by ID. Returns: id, modelKey, name, isDefault, isGlobal, layout, owner, slots (each slot: cameras string[], cycleMode, cycleInterval). The full slot list is needed when updating because PATCH replaces the slots array.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesLiveview ID

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoLiveview ID
nameNoLiveview name
ownerNoOwning user ID
slotsNoCamera slots
layoutNoGrid layout / slot count (number)
isGlobalNoWhether shared across all users (boolean)
modelKeyNoAlways "liveview"
isDefaultNoWhether this is the default liveview (boolean)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv2.11.5
    • removedOutput schema / properties / modelKey / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / modelKey / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / owner / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / owner / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / slots / items / properties / cycleMode / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / slots / items / properties / cycleMode / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. First observedv2.7.4

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. Beyond that, the description explains the critical round-trip behavior with PATCH replacing the slots array – real behavioral context that helps the agent avoid data loss. The output field list overlaps with the output schema, but the slot-level detail is useful.

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

Conciseness4/5

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

Two sentences, front-loaded with the purpose, followed by the relevant return shape and the update caveat. Efficient with minimal waste, though the return field enumeration is partially redundant with an existing output schema.

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?

For a simple single-parameter read tool with an output schema present, this description covers purpose, return shape, and the key behavioral caveat about PATCH replacing slots. Nothing needed for correct invocation is missing.

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

Parameters3/5

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

Schema coverage is 100%, so the single 'id' parameter is fully documented in the schema. The description adds no syntax or format details beyond what the schema provides, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get details for a specific live view by ID'), consistent with the get-by-id pattern in its sibling set (protect_get_camera, protect_get_user, etc.). An agent can tell it apart from protect_list_liveviews without ambiguity.

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?

Provides a clear usage condition by linking to the update workflow ('needed when updating because PATCH replaces the slots array'). It does not explicitly name protect_update_liveview or warn about when not to call it, but the context is sufficient for correct invocation.

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