Skip to main content
Glama
vandreus

UniFi MCP Server

by vandreus

unlock_door

Remotely unlock doors managed by UniFi access control systems using the UniFi Cloud API.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The MCP tool handler for unlock_door, which checks user confirmation, calls the unifi.unlockDoor helper, and formats the response.
    handler: async ({ hostId, doorId, duration, confirm }) => { if (!confirm) { return { content: [{ type: 'text', text: `Door unlock cancelled. Set confirm=true to unlock the door for ${duration} seconds.` }] }; } const result = await unifi.unlockDoor(hostId, doorId, duration); return { content: [{ type: 'text', text: `Door unlocked for ${duration} seconds. It will automatically lock after the duration expires. ${JSON.stringify(result, null, 2)}` }] };
  • Zod input schema for the unlock_door tool defining parameters: hostId, doorId, optional duration (default 5s), and required confirm boolean.
    schema: z.object({ hostId: z.string().describe('The host ID'), doorId: z.string().describe('The door ID'), duration: z.number().min(1).max(300).optional().default(5).describe('Duration in seconds to keep door unlocked (1-300)'), confirm: z.boolean().describe('Confirm you want to unlock this door')
  • src/server.js:32-32 (registration)
    Call to register the accessTools module (containing unlock_door) with the MCP server using registerToolsFromModule.
    registerToolsFromModule(accessTools);
  • Helper function in UniFi client that makes the API POST request to unlock the door for the specified duration.
    export async function unlockDoor(hostId, doorId, duration = 5) { const response = await cloudApi.post(`/v1/hosts/${hostId}/doors/${doorId}/unlock`, { duration }); return response.data;

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