find_camera_by_name
Locate a specific camera in your UniFi network by entering its name to access settings, view footage, or manage device configurations.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/protect.js:104-124 (handler)The main handler function that implements the tool logic: fetches all cameras via unifi.listCameras and filters them by matching the query string against camera name or model (case-insensitive).handler: async ({ hostId, query }) => { const queryLower = query.toLowerCase(); const camerasResponse = await unifi.listCameras(hostId); const cameras = camerasResponse.data || []; const matches = cameras.filter(c => { const name = (c.name || c.model || '').toLowerCase(); return name.includes(queryLower); }); return { content: [{ type: 'text', text: JSON.stringify({ searchQuery: query, matchCount: matches.length, matches }, null, 2) }] }; }
- src/tools/protect.js:100-103 (schema)Zod schema defining the input parameters: hostId (string) and query (string).schema: z.object({ hostId: z.string().describe('The host ID'), query: z.string().describe('The search query for camera name') }),
- src/server.js:31-31 (registration)Registration of the protectTools module, which includes the find_camera_by_name tool, via the registerToolsFromModule function that calls server.tool for each tool.registerToolsFromModule(protectTools);