Skip to main content
Glama
vandreus

UniFi MCP Server

by vandreus

get_cameras_status_summary

Retrieve a summary of camera operational statuses and connectivity details to monitor surveillance system health and identify offline or problematic cameras.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The main handler function for the 'get_cameras_status_summary' tool. It fetches the list of cameras from the UniFi host, processes them to compute summary statistics (total count, online/offline status, recording status, privacy mode, model breakdown), compiles a list of camera details, and returns a JSON-formatted text response.
    handler: async ({ hostId }) => { const camerasResponse = await unifi.listCameras(hostId); const cameras = camerasResponse.data || []; const summary = { total: cameras.length, online: 0, offline: 0, recording: 0, privacyMode: 0, byModel: {}, cameras: [] }; cameras.forEach(cam => { // Count by status if (cam.state === 'CONNECTED' || cam.isConnected) { summary.online++; } else { summary.offline++; } // Count recording if (cam.isRecording) { summary.recording++; } // Count privacy mode if (cam.privacyMode) { summary.privacyMode++; } // Count by model const model = cam.model || 'Unknown'; summary.byModel[model] = (summary.byModel[model] || 0) + 1; // Add camera info summary.cameras.push({ id: cam.id, name: cam.name, model: cam.model, state: cam.state, isRecording: cam.isRecording, privacyMode: cam.privacyMode }); }); return { content: [{ type: 'text', text: JSON.stringify(summary, null, 2) }] }; }
  • Zod schema defining the input parameters for the tool: requires a 'hostId' string.
    schema: z.object({ hostId: z.string().describe('The host ID') }),
  • src/server.js:31-31 (registration)
    The protectTools module, which exports the 'get_cameras_status_summary' tool definition (including handler and schema), is registered here using registerToolsFromModule. This makes the tool available in the MCP server.
    registerToolsFromModule(protectTools);

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/vandreus/Unifi-MCP'

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