Skip to main content
Glama
vandreus

UniFi MCP Server

by vandreus

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
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • 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)
        }]
      };
    }
  • 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);

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