Skip to main content
Glama
vandreus

UniFi MCP Server

by vandreus

find_client_by_mac

Locate and retrieve client device information in a UniFi network by searching with its MAC address to identify connected devices.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The core handler function implementing the 'find_client_by_mac' tool. It normalizes the MAC address, fetches all clients via unifi.listAllClients(), filters for exact or partial MAC matches, and returns a structured JSON response with match details.
    handler: async ({ mac }) => {
      const normalizedMac = mac.toLowerCase().replace(/[:-]/g, '');
      const allClients = await unifi.listAllClients();
      const clients = allClients.data || [];
    
      const matches = clients.filter(c => {
        const clientMac = (c.mac || '').toLowerCase().replace(/[:-]/g, '');
        return clientMac === normalizedMac || clientMac.includes(normalizedMac);
      });
    
      return {
        content: [{
          type: 'text',
          text: JSON.stringify({
            searchMac: mac,
            matchCount: matches.length,
            matches
          }, null, 2)
        }]
      };
    }
  • Zod schema defining the input parameters for the tool: a required 'mac' string.
    schema: z.object({
      mac: z.string().describe('The MAC address to search for')
    }),
  • src/server.js:30-30 (registration)
    Line registering the clientTools module (which includes find_client_by_mac) with the MCP server via the registerToolsFromModule utility.
    registerToolsFromModule(clientTools);
  • Helper function called by the tool handler to retrieve all clients across hosts/sites. (Note: full implementation not read, but key dependency.)
    export async function listAllClients() {

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