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