find_client_by_name
Locate specific network clients by name within UniFi infrastructure to manage connections, monitor activity, or troubleshoot access issues.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/clients.js:145-165 (handler)The handler function for the 'find_client_by_name' tool. It normalizes the query, fetches all clients using unifi.listAllClients(), filters clients whose name, hostname, or displayName contains the query, and returns a JSON summary of matches.handler: async ({ query }) => { const queryLower = query.toLowerCase(); const allClients = await unifi.listAllClients(); const clients = allClients.data || []; const matches = clients.filter(c => { const name = (c.name || c.hostname || c.displayName || '').toLowerCase(); return name.includes(queryLower); }); return { content: [{ type: 'text', text: JSON.stringify({ searchQuery: query, matchCount: matches.length, matches }, null, 2) }] }; }
- src/tools/clients.js:142-144 (schema)Zod schema defining the input parameter 'query' for the find_client_by_name tool.schema: z.object({ query: z.string().describe('The search query for client name/hostname') }),
- src/server.js:30-30 (registration)Registers all tools from the clientTools module (including find_client_by_name) to the MCP server using the registerToolsFromModule helper.registerToolsFromModule(clientTools);
- src/server.js:16-25 (helper)Helper function used to register multiple tools from a module by iterating over entries and calling server.tool for each.const registerToolsFromModule = (toolsModule) => { Object.entries(toolsModule).forEach(([name, toolConfig]) => { server.tool( name, toolConfig.schema, toolConfig.handler, { description: toolConfig.description } ); }); };