Skip to main content
Glama
vandreus

UniFi MCP Server

by vandreus

get_doors_status_summary

Retrieve a summary of all door access statuses across a UniFi network to monitor entry points and security states.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler function that implements the core logic of get_doors_status_summary: fetches all doors, computes counts for locked/unlocked/online/offline, builds a summary with door details, and returns it as JSON text.
    handler: async ({ hostId }) => { const doorsResponse = await unifi.listDoors(hostId); const doors = doorsResponse.data || []; const summary = { total: doors.length, locked: 0, unlocked: 0, online: 0, offline: 0, doors: [] }; doors.forEach(door => { // Count lock status if (door.lockState === 'LOCKED' || door.isLocked) { summary.locked++; } else { summary.unlocked++; } // Count connection status if (door.state === 'CONNECTED' || door.isConnected) { summary.online++; } else { summary.offline++; } // Add door info summary.doors.push({ id: door.id, name: door.name, lockState: door.lockState, state: door.state }); }); return { content: [{ type: 'text', text: JSON.stringify(summary, null, 2) }] }; }
  • Zod schema defining the input parameters for the tool: requires hostId string.
    schema: z.object({ hostId: z.string().describe('The host ID') }),
  • src/server.js:32-32 (registration)
    Registers the accessTools module, which includes get_doors_status_summary, by calling registerToolsFromModule(accessTools). This iterates over the tools object and calls server.tool(name, schema, handler) for each.
    registerToolsFromModule(accessTools);

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