Skip to content
Elaichi Elaichi

security

UniFi On Prem

Connect UniFi On Prem to Elaichi and hand every teammate a governed MCP endpoint — 109 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.

UniFi On Prem

AI tools

UniFi On Prem tools for your AI agents

109 tools are ready to mint as an MCP endpoint the moment you connect UniFi On Prem — governed by the same roles, restrictions, and audit log as everything else in Elaichi.

create_a_unifionprem_user

Register a new user in UniFi Access. Returns the created user object including its id, first_name, last_name, user_email, employee_number, onboard_time, status, and assigned access policies. Required: first_name, last_name.

update_a_unifionprem_user_by_id

Update a user's details in UniFi Access by id. Returns the updated user object including its id, first_name, last_name, user_email, employee_number, onboard_time, status, and assigned access policies. Required: id.

get_single_unifionprem_user_by_id

Get a single UniFi Access user by id. Returns the full user object including its id, first_name, last_name, user_email, employee_number, onboard_time, status, access policies, NFC cards, license plates, PIN code, and touch pass. Required: id.

list_all_unifionprem_users

List all UniFi Access users with pagination. Returns each user's id, first_name, last_name, user_email, employee_number, onboard_time, status, access policies, NFC cards, license plates, PIN code, and touch pass. Optional: expand to include access policies.

unifionprem_users_assign_access_policy

Assign or replace access policies for a UniFi Access user. Pass an array of access policy IDs to set the user's assigned policies; pass an empty array to remove all policies. Returns an empty 204 response on success. Required: user_id, access_policy_ids.

unifionprem_users_assign_nfc_card

Assign an NFC card to a UniFi Access user by providing the card token. Use force_add to overwrite a card already assigned to another user. Returns a success confirmation with no data payload. Required: user_id, token.

unifionprem_users_unassign_nfc_card

Unassign an NFC card from a UniFi Access user by providing the card token. Returns a success confirmation with no data payload. Required: user_id, token.

unifionprem_users_assign_pin_code

Assign a PIN code to a UniFi Access user for unlocking doors. Returns a success confirmation with no data payload. Required: user_id, pin_code.

unifionprem_users_unassign_pin_code

Unassign the PIN code from a UniFi Access user. Returns a success confirmation with no data payload. Required: user_id.

unifionprem_users_list_access_policies

List the access policies assigned to a UniFi Access user, including policies inherited from the user's group unless filtered. Returns: id, name, resources, schedule_id. Required: user_id.

delete_a_unifionprem_user_by_id

Delete a UniFi Access user by id. Returns an empty 204 response on success. Required: id.

unifionprem_users_search

Search UniFi Access users. Returns matching user records including id, first_name, last_name, full_name, email, user_email, status, email_status, alias, avatar_relative_path, employee_number, nfc_cards, onboard_time, phone, pin_code, and username.

unifionprem_users_assign_touch_pass

Assign a suspended or inactive Touch Pass to a specific user in UniFi Access. Returns the Touch Pass object including id, card_id, status, user_id, user_name, and user_email. Required: user_id, touch_pass_id. Requires UniFi Access version 3.2.20 or later.

unifionprem_users_unassign_touch_pass

Unassign a Touch Pass from a specific user in UniFi Access. Returns the Touch Pass object with id, card_id, card_name, status, last_activity, bundles, and user fields after unassignment. Required: user_id. Requires UniFi Access version 3.2.20 or later.

unifionprem_users_batch_assign_touch_passes

Batch assign unassigned Touch Passes to users in UniFi Access using their email addresses. Returns an array of Touch Pass objects with id, card_id, card_name, status, last_activity, bundles, and user assignment details. Required: ids. Requires UniFi Access version 3.2.20 or later.

unifionprem_users_assign_license_plate

Assign one or more license plate numbers to a specific user in UniFi Access. Returns an empty response on success. Required: user_id. UniFi Access version 3.3.10 or later is required.

unifionprem_users_unassign_license_plate

Unassign a specific license plate number from a user in UniFi Access. Returns an empty response on success. Required: user_id, license_plate_id. UniFi Access version 3.3.10 or later is required.

unifionprem_users_upload_profile_picture

Upload a profile picture for a user in UniFi Access. Returns: avatar_url. Required: user_id. Only supported for local users; UI Account users must update their picture through the UI Account interface. UniFi Access version 3.3.10 or later is required.

create_a_unifionprem_user_group

Create a new user group in UniFi Access. Returns: id. Required: name.

list_all_unifionprem_user_groups

List all user groups in UniFi Access. Returns: id, name, full_name, up_id, up_ids.

get_single_unifionprem_user_group_by_id

Get a single user group by id in UniFi Access. Returns: id, name, full_name, up_id, up_ids. Required: id.

update_a_unifionprem_user_group_by_id

Update a user group by id in UniFi Access. Returns: id, name, full_name, up_id, up_ids. Required: id, name.

delete_a_unifionprem_user_group_by_id

Delete a user group by id in UniFi Access. Returns an empty 204 response on success. Required: id.

unifionprem_user_groups_assign_user

Assign users to a user group in UniFi Access by supplying an array of user identity IDs in the request body. Returns a success confirmation with no data payload. Required: user_group_id.

unifionprem_user_groups_unassign_user

Remove users from a user group in UniFi Access by supplying an array of user identity IDs in the request body. Returns a success confirmation with no data payload. Required: user_group_id.

unifionprem_user_groups_list_all_users

List all users across UniFi on-premises user groups, including users in subgroups. Returns: id, first_name, last_name, full_name, email, user_email, status, email_status, employee_number, phone, username, alias, avatar_relative_path, onboard_time.

unifionprem_user_groups_assign_access_policy

Assign access policies to a UniFi on-premises user group by providing the access policy IDs. Returns an empty 204 response on success. Required: user_group_id, access_policy_ids.

unifionprem_user_groups_list_access_policies

List the access policies assigned to a user group in UniFi Access. Returns each policy's id, name, resources (door groups and doors), and schedule_id. Required: user_group_id.

create_a_unifionprem_visitor

Create a new visitor in UniFi Access with personal details, visit schedule, and door access resources. Returns: id, first_name, last_name, status, schedule_id, resources, nfc_cards, license_plates, pin_code, schedule. Required: first_name, last_name.

get_single_unifionprem_visitor_by_id

Get a single UniFi Access visitor by id. Returns: id, first_name, last_name, status, schedule_id, resources, nfc_cards, license_plates, pin_code, schedule. Required: id.

list_all_unifionprem_visitors

List all visitors in UniFi Access. Returns: id, first_name, last_name, status, schedule_id, resources, nfc_cards, license_plates, pin_code, schedule. Supports optional status filtering, keyword prefix search on visitor names, and expandable related objects.

update_a_unifionprem_visitor_by_id

Update a visitor in UniFi Access by id. Returns: first_name, id, last_name, nfc_cards, license_plates, pin_code, resources, schedule, schedule_id, status. Required: id. Status change is not supported.

delete_a_unifionprem_visitor_by_id

Delete a visitor in UniFi Access by id. If the is_force query parameter is set, physically deletes the visitor; otherwise updates the visitor to canceled status. Returns an empty 204 response on success. Required: id.

unifionprem_visitors_assign_nfc_card

Assign an NFC card to a visitor in UniFi Access by providing the card token. Returns a success response with no data payload. Required: visitor_id, token.

unifionprem_visitors_unassign_nfc_card

Unassign an NFC card from a visitor in UniFi Access by providing the card token. Returns a success response with no data payload. Required: visitor_id, token.

unifionprem_visitors_assign_pin_code

Assign a PIN code to a UniFi Identity visitor so the visitor can unlock doors. The PIN code must first be generated via the /api/v1/developer/pin_codes endpoint. Returns a success response with no data payload. Required: visitor_id, pin_code.

unifionprem_visitors_unassign_pin_code

Unassign the PIN code from a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id.

unifionprem_visitors_assign_qr_code

Assign a QR code to a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id. UniFi Access version 3.3.10 or later required.

unifionprem_visitors_unassign_qr_code

Unassign (remove) a QR code from a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id. UniFi Access version 3.3.10 or later required.

unifionprem_visitors_assign_license_plate

Assign one or more license plate numbers to a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id and a request body containing a list of license plate numbers. UniFi Access version 3.3.10 or later required.

unifionprem_visitors_unassign_license_plate

Unassign a license plate number from a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id, license_plate_id. UniFi Access version 3.3.10 or later required.

create_a_unifionprem_access_policy

Create a new access policy in UniFi Access. Returns: id. Required: name, schedule_id.

update_a_unifionprem_access_policy_by_id

Update a UniFi access policy by id, modifying only the fields supplied in the request body. Returns the string 'success' confirming the update. Required: id. All body fields (name, resource, schedule_id) are optional — omit any that do not need to change.

delete_a_unifionprem_access_policy_by_id

Delete a UniFi access policy by id. Returns an empty 204 response on success. Required: id.

get_single_unifionprem_access_policy_by_id

Get a single UniFi Access access policy by id. Returns: id, name, resources, schedule_id. Required: id.

list_all_unifionprem_access_policies

List all UniFi Access access policies. Returns each policy with id, name, resources (doors and door groups), and schedule_id.

create_a_unifionprem_holiday_group

Create a new holiday group in UniFi Access with a name and an optional list of holidays. Returns the created holiday group including its id, name, description, is_default, template_name, and holidays array. Required: name.

update_a_unifionprem_holiday_group_by_id

Update a holiday group in UniFi Access by id, including its name, description, and holidays. Returns the updated holiday group including its id, name, description, is_default, template_name, and holidays array. Required: id, name.

delete_a_unifionprem_holiday_group_by_id

Delete a holiday group in UniFi Access by id. Returns a success confirmation string. Required: id.

get_single_unifionprem_holiday_group_by_id

Get a UniFi Access holiday group by id. Returns: id, name, is_default, description, holidays, template_name. Required: id.

list_all_unifionprem_holiday_groups

List all holiday groups in UniFi Access. Returns: id, name, description, count.

create_a_unifionprem_schedule

Create a door access schedule in UniFi Access. Returns the created schedule including its id, name, type, is_default, weekly schedule, holiday_group_id, holiday_group, and holiday_schedule. Required: name, week_schedule.

update_a_unifionprem_schedule_by_id

Update a door access schedule in UniFi Access by id. Returns the updated schedule including its id, name, type, is_default, weekly schedule, holiday_group_id, holiday_group, and holiday_schedule. Required: id.

get_single_unifionprem_schedule_by_id

Fetch a door access schedule in UniFi Access by id. Returns the schedule including its id, name, type, is_default, weekly schedule, holiday_group_id, holiday_group, and holiday_schedule. Required: id.

list_all_unifionprem_schedules

List all door access schedules in UniFi Access on-premises. Returns each schedule with id, name, type, is_default, status, holiday_group_id, weekly time slots, holiday_group, and holiday_schedule.

delete_a_unifionprem_schedule_by_id

Delete a door access schedule in UniFi Access on-premises by id. Returns an empty 204 response on success. Required: id.

unifionprem_credentials_generate_pin_code

Generate a new PIN code in UniFi Access for unlocking doors. Returns the generated PIN code as a string, which can then be assigned to a user or visitor via the pin_codes assignment endpoints. The PIN code length must meet the system's preset requirements.

unifionprem_credentials_enroll_nfc_card

Create an NFC card enrollment session by waking up a UA reader in UniFi Access. Returns: session_id. Required: device_id.

unifionprem_credentials_get_nfc_enrollment_status

Poll a UniFi Access UA reader to fetch the NFC card enrollment status and generated card tokens for a given session. Returns: card_id, token. Required: session_id. This is a polling endpoint — until enrollment completes the response data may be a simple status string rather than the card_id/token object.

unifionprem_credentials_delete_nfc_enrollment_session

Delete an NFC card enrollment session in UniFi Access. Returns an empty 204 response on success. Required: session_id.

unifionprem_credentials_download_qr_code_image

Download a QR code image for a credential in UniFi Access. Returns: card_id, token. Required: qr_code_id.

get_single_unifionprem_nfc_card_by_id

Get a single NFC card in UniFi Access by its token. Returns: token, display_id, status, alias, card_type, note, user_id, user_type, user. Required: id.

list_all_unifionprem_nfc_cards

List all NFC cards in UniFi Access, optionally filtered by alias. Returns: token, display_id, status, alias, card_type, note, user_id, user_type, user. Optional: alias.

delete_a_unifionprem_nfc_card_by_id

Delete an NFC card in UniFi Access by its token. Returns a success confirmation. Required: id.

update_a_unifionprem_nfc_card_by_id

Update an NFC card in UniFi Access. Returns the updated card object including token, display_id, status, alias, card_type, note, user_id, user_type, and user. Required: id. Requires UniFi Access version 3.1.30 or later.

unifionprem_nfc_cards_import_third_party

Import third-party NFC card IDs into UniFi Access by uploading a CSV file. Returns an array of imported card records, each containing alias, nfc_id, and token. An empty token indicates the import failed for that record. Required: file (CSV with NFC IDs in uppercase hexadecimal and optional unique aliases). Duplicate aliases cause the import to fail. Requires UniFi Access v3.3.10 or later.

list_all_unifionprem_touch_passes

List all Touch Passes in UniFi Access, optionally filtered by status. Returns: id, card_id, card_name, status, last_activity, activated_at, expired_at, user_id, user_name, user_email, user_status, user_avatar, bundles.

unifionprem_touch_passes_search

Search Touch Passes in UniFi Access by a condition such as card ID or user name. Returns: id, card_id, card_name, status, last_activity, activated_at, expired_at, user_id, user_name, user_email, user_status, user_avatar, bundles. Required: condition. Requires UniFi Access version 3.2.20 or later.

unifionprem_touch_passes_list_assignable

List all suspended or inactive Touch Passes available for reassignment in UniFi Access. Returns: id, card_id, card_name, status, last_activity, activated_at, expired_at, user_id, user_name, user_email, user_status, user_avatar, bundles. Requires UniFi Access version 3.2.20 or later.

update_a_unifionprem_touch_pass_by_id

Update a Touch Pass in UniFi Access by modifying its card name, changing its status (ACTIVE or SUSPENDED), or unbundling devices. Returns: id, card_id, card_name, status, activated_at, expired_at, last_activity, user_id, user_name, user_email, user_avatar, user_status, bundles. Required: id.

get_single_unifionprem_touch_pass_by_id

Get detailed information about a specific Touch Pass in UniFi Access by id. Returns: id, card_id, card_name, status, activated_at, expired_at, last_activity, user_id, user_name, user_email, user_avatar, user_status, bundles. Required: id.

unifionprem_touch_passes_purchase

Purchase new Touch Passes in UniFi Access. Returns the purchased pass object including id, card_id, card_name, status (INACTIVE), last_activity, bundles, and unassigned user fields (user_id, user_name, user_email, user_avatar, user_status). Required: count. A valid payment method must be configured in the Access web application before using this API.

unifionprem_spaces_get_door_group_topology

Fetch the door group topology in UniFi Access, showing the hierarchical arrangement of door groups including the building (all doors) and custom access groups. Returns: id, name, type, resources.

create_a_unifionprem_door_group

Create a new door group in UniFi Access. Returns: id, type. Required: group_name, resources. The group name must be globally unique.

get_single_unifionprem_door_group_by_id

Get a single UniFi Access door group by id. Returns: id, name, type, resources. Required: id.

update_a_unifionprem_door_group_by_id

Update a UniFi Access door group by id. Returns: id, name, type, resources. Required: id.

list_all_unifionprem_door_groups

List all door groups in UniFi Access. Returns each group's id, name, type, and resources. The list does not include groups of type building.

delete_a_unifionprem_door_group_by_id

Delete a UniFi Access door group by id. Returns: success. Required: id.

get_single_unifionprem_door_by_id

Get a single UniFi Access door by id. Returns: id, name, full_name, type, door_lock_relay_status, door_position_status, floor_id, is_bind_hub. Required: id.

list_all_unifionprem_doors

List all UniFi Access doors. Returns: id, name, full_name, type, door_lock_relay_status, door_position_status, floor_id, is_bind_hub.

unifionprem_doors_remote_unlock

Remotely unlock a UniFi Access door by door_id. Returns a success acknowledgment string confirming the door unlock. Required: door_id. If either actor_id or actor_name is provided, both must be included.

unifionprem_doors_set_temporary_locking_rule

Set a temporary locking rule for a UniFi Access door by door_id. Returns: type, ended_time. Required: door_id, type. UniFi Access 1.24.6 or later required.

unifionprem_doors_get_locking_rule

Fetch the current locking rule for a UniFi Access door by door_id. Returns: type, ended_time. Required: door_id. UniFi Access 1.24.6 or later required.

unifionprem_doors_set_emergency_status

Set the emergency status (lockdown and/or evacuation) for a specific door in UniFi Access. Returns a success acknowledgment string. Required: door_id.

unifionprem_doors_get_emergency_status

Fetch the current emergency status for a specific door in UniFi Access. Returns: lockdown, evacuation. Required: door_id.

list_all_unifionprem_devices

List UniFi Access devices. Returns: id, name, type, alias. Pass refresh=true to bypass the device cache and fetch real-time info (may be slower).

unifionprem_devices_get_access_method_settings

Fetch the current access method settings of a UniFi Access device. Returns: access_methods, device_id. Required: device_id. UniFi Access version 3.3.10 or later.

unifionprem_devices_trigger_doorbells

Trigger doorbells on UniFi Access intercom devices. Optionally specify an intercom directory name via room_name to target a specific intercom, or set cancel to true to stop a previously triggered doorbell that is still ringing. Returns a success acknowledgment (the string "success" or null) indicating the doorbell trigger request was accepted.

unifionprem_devices_bulk_update

Update the access method settings of a UniFi Access device, including NFC, Bluetooth tap/unlock/shake, PIN code, Face Unlock, QR code, and Touch Pass. Returns: access_methods, device_id. Required: device_id. Requires UniFi Access Version 3.3.10 or later.

list_all_unifionprem_system_logs

List UniFi Access system logs filtered by topic, with optional time-range and actor filters. Returns each log entry including actor, authentication, event, target, and tag. Required: topic.

unifionprem_system_logs_export

Export UniFi Access system logs to a CSV file filtered by topic and time range. Returns a success confirmation string. Required: topic, since, until, timezone. The since and until period cannot exceed one month.

unifionprem_system_logs_list_resources

List resources in UniFi On-Prem system logs, returning access-policy-style records with their associated door groups/doors and schedule assignments. Returns: id, name, resources, schedule_id.

unifionprem_system_logs_list_static_resources

List static resource policies (door groups and doors) recorded in UniFi On-Prem system logs. Returns: id, name, resources (each with id and type), schedule_id.

unifionprem_identity_send_invitations

Send UniFi Identity invitations to invite users to join UniFi Identity in unifionprem. Returns an array of invitation results containing error_code, error_msg, user_email, and user_id for any failed invitations; an empty array indicates all invitations succeeded. Required: user_id and email for each invitation entry.

unifionprem_identity_list_available_resources

List available UniFi Identity resources in unifionprem grouped by type. Returns: ev_station, vpn, wifi. Accepts an optional resource_type filter.

unifionprem_identity_assign_user_resources

Assign UniFi Identity resources to a user in unifionprem by specifying a resource type and list of resource IDs. Returns an empty 204 response on success. Required: user_id, resource_type, resource_ids.

unifionprem_identity_list_user_resources

List the UniFi Identity access policies (resources) assigned to a specific user in unifionprem. Returns: id, name, resources, schedule_id. Required: user_id. Requires UniFi Access 1.24.6 or later.

unifionprem_identity_assign_group_resources

Assign UniFi Identity resources to a user group in unifionprem. Returns an empty response on success (data is null). Required: user_group_id, resource_type, resource_ids.

unifionprem_identity_list_group_resources

Fetch the UniFi Identity resources assigned to a user group in unifionprem. Returns: ev_station, vpn, wifi, camera. Required: user_group_id.

unifionprem_notifications_fetch_websocket

Fetch real-time notifications from UniFi Access via WebSocket, receiving events such as doorbell rings and doorbell status changes. Returns: channel, token, device_id, device_type, device_name, door_name, controller_id, floor_name, request_id, clear_request_id, in_or_out, create_time, reason_code, door_guard_ids, connected_uah_id, room_id, host_device_mac, remote_call_request_id. UniFi Access…

unifionprem_webhooks_list_events

List supported webhook events in UniFi Access. Returns: event, description. Some events require UniFi Access version 3.3.10 or later.

list_all_unifionprem_webhooks

List webhook endpoints configured in UniFi Access. Returns: id, endpoint, name, events, secret, headers.

create_a_unifionprem_webhook

Create a webhook endpoint in UniFi Access to receive event notifications. Returns: id, endpoint, name, events, secret, headers. Required: name, endpoint, events.

update_a_unifionprem_webhook_by_id

Update an existing webhook endpoint in UniFi Access by id. Returns: id, endpoint, name, events, secret, headers. Required: id, name, endpoint, events.

delete_a_unifionprem_webhook_by_id

Delete a webhook endpoint in UniFi Access by id. Returns an empty 204 response on success. Required: id.

unifionprem_webhooks_allow_owner

Allow a webhook endpoint owner to receive webhook events in UniFi Access. Returns a success confirmation string. Required: endpoint_id.

unifionprem_api_server_upload_certificate

Upload an HTTPS certificate to the UniFi Access API server on port 12445 in unifionprem. Returns the string 'success' on completion. Required: key, cert. Restarting the Access application is necessary to apply the changes.

unifionprem_api_server_delete_certificate

Delete the HTTPS certificate from the UniFi Access API server on port 12445 in unifionprem. Returns the string 'success' on completion. Restarting the Access application is necessary to apply the changes.

list_all_unifionprem_group_users

List users directly assigned to a user group in UniFi Access, excluding users in any subgroups. Returns: id, first_name, last_name, full_name, alias, email, email_status, employee_number, phone, onboard_time, status, user_email, username, avatar_relative_path. Required: user_group_id.

How it works

From UniFi On Prem account to governed MCP endpoint

Connect

Link a UniFi On Prem account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which UniFi On Prem tools are exposed, rename them, or freeze arguments.

Mint

Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.

Give every teammate a governed MCP server

Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.