find_device_by_mac
Locate specific network devices using MAC addresses to identify and manage equipment within UniFi infrastructure.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/devices.js:115-135 (handler)Handler function that normalizes the input MAC address, retrieves all devices using unifi.listAllDevices(), filters devices matching the MAC, and returns a JSON response with search details and matches.handler: async ({ mac }) => { const normalizedMac = mac.toLowerCase().replace(/[:-]/g, ''); const allDevices = await unifi.listAllDevices(); const devices = allDevices.data || []; const matches = devices.filter(d => { const deviceMac = (d.mac || '').toLowerCase().replace(/[:-]/g, ''); return deviceMac === normalizedMac || deviceMac.includes(normalizedMac); }); return { content: [{ type: 'text', text: JSON.stringify({ searchMac: mac, matchCount: matches.length, matches }, null, 2) }] }; }
- src/tools/devices.js:112-114 (schema)Zod schema defining the input parameter 'mac' as a string for the tool.schema: z.object({ mac: z.string().describe('The MAC address to search for') }),
- src/server.js:29-29 (registration)Registers the deviceTools module, including the find_device_by_mac tool, by calling registerToolsFromModule which invokes server.tool for each tool in the module.registerToolsFromModule(deviceTools);
- src/server.js:3-3 (registration)Import of the deviceTools module containing the find_device_by_mac tool definition.import { deviceTools } from './tools/devices.js';