Skip to main content
Glama
vandreus

UniFi MCP Server

by vandreus

find_device_by_mac

Locate specific network devices using MAC addresses to identify and manage equipment within UniFi infrastructure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

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

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