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.
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.