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