Skip to content
Elaichi Elaichi

device_management

Verkada

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

Verkada

AI tools

Verkada tools for your AI agents

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

create_a_verkada_helix_event

Create a new Helix event in Verkada Command by specifying attribute values for a previously defined Event Type. Returns: attribute_filters, keywords. Required: camera_id, event_type_uid, time_ms. Not all attribute keys tied to the Event Type need to be provided.

verkada_helix_events_search

Search for Helix events in Verkada Command by camera, event type, time range, keywords, or attribute filters. Returns matching events with camera_id, event_type_uid, time_ms, attributes, and flagged for each result. No required parameters beyond authentication.

verkada_helix_events_bulk_create

Create multiple Helix events in a single asynchronous batch request in Verkada Command. Returns: attribute_filters, keywords. Required: items. Maximum 1,000 events per batch; events are processed asynchronously and the 202 response signals the job is queued, not completed.

list_all_verkada_helix_events

Retrieve a single Verkada Helix Event posted to Command by specifying its camera, event type, and exact event timestamp. Returns: attribute_filters, keywords. Required: camera_id, time_ms, event_type_uid.

verkada_helix_events_bulk_delete

Delete a Helix event from Verkada Command. Returns an empty 200 response on success. Required: camera_id, time_ms, event_type_uid.

verkada_helix_events_bulk_update

Update an existing Helix event in Verkada Command, useful for adding or changing attribute keys and values on a posted event. Returns: attribute_filters, keywords. Required: camera_id, time_ms, event_type_uid.

list_all_verkada_helix_event_types

List all Verkada Helix Event Types in a Command organization, optionally filtered by event type UID or name. Returns: event_type_uid, name, event_schema.

create_a_verkada_helix_event_type

Create a new Verkada Helix Event Type by defining its name and event schema. This is the required first step for using Verkada Helix. Returns: attribute_filters, keywords. Required: name, event_schema.

verkada_helix_event_types_bulk_delete

Delete a Verkada Helix Event Type from Command by event_type_uid. All Helix Events linked to that Event Type UID are also deleted from Command. Returns an empty 200 response on success. Required: event_type_uid.

verkada_helix_event_types_bulk_update

Update a Verkada Helix Event Type — add attribute keys to the event schema or change its name. Returns: attribute_filters, keywords. Required: event_type_uid.

get_single_verkada_batch_job_by_id

Get the status of an asynchronous Verkada Helix batch job by id. Returns: status, failed_items, failure_file_url. Required: id.

list_all_verkada_camera_alerts

List Verkada camera alert notifications (events) generated within a Command organization, ordered by time. Returns: camera_id, created, crowd_threshold, image_url, notification_type, objects, person_label, video_url. Optional filters: start_time, end_time, notification_type, include_image_url. Default time range is the last hour; max page_size is 200.

verkada_camera_analytics_get_max_object_counts

Get the maximum concurrent people and vehicle detection counts for a Verkada camera at a specific timestamp or over a time range. Returns: time, people_count, vehicle_count. Required: camera_id. Only supported for 2nd and 3rd generation Verkada cameras.

verkada_camera_analytics_get_object_counts

Get time-stamped people and vehicle detection counts for a Verkada camera over a time range. Returns: time, people_count, vehicle_count. Required: camera_id. Counts are derived from periodic thumbnails and may under-represent actual counts in high-traffic areas.

list_all_verkada_occupancy_trends

List Verkada occupancy trend data points for a specific camera and preset. Returns: time, count. Required: camera_id, preset_id. The camera must have Occupancy Trends enabled in Command. The type parameter is deprecated; use preset_id instead.

verkada_occupancy_trends_list_cameras

List Verkada cameras that have Occupancy Trends enabled in Command. Returns: camera_id, name.

verkada_dashboard_widgets_query_trends

Query Verkada operational dashboard widget trends by dashboard id with optional time range, interval, site, and widget filters. Returns: data. Required: dashboard_id.

verkada_mqtt_configs_set

Set the MQTT broker configuration for a Verkada camera to publish real-time Object Position Events (people and vehicle detections) to an MQTT server. Returns: camera_id, broker_host_port, broker_cert, client_username. Required: broker_cert, broker_host_port, camera_id. Only ports 443, 123, and 53 are supported.

list_all_verkada_mqtt_configs

Get the MQTT broker configuration currently set for a Verkada camera's Object Position Events. Returns: camera_id, broker_host_port, broker_cert, client_username. Required: camera_id. The configured password is never returned in the response.

list_all_verkada_lpr_images

List detected license plate numbers, timestamps, and images from a Verkada LPR camera. Returns: camera_id, created, detected, license_plate_number, confidence, crop, image_url, license_plate_state. Required: camera_id. Max page_size is 200 (defaults to 100); retrieval is limited to one camera per request.

delete_a_verkada_license_plates_of_interest_by_id

Delete a License Plate of Interest (LPOI) from a Verkada Command organization. The `license_plate` value must be an exact match of the LPOI profile in Command, otherwise the plate will not be deleted. Required: license_plate. Returns an empty 200 response on success.

list_all_verkada_license_plates_of_interest

List all active License Plates of Interest (LPOI) in a Verkada Command organization. Returns: license_plate, description, created_at. Deleted LPOI profiles are excluded from the response.

create_a_verkada_license_plates_of_interest

Create a License Plate of Interest (LPOI) in Verkada Command by providing the exact license plate number and a description. Returns: license_plate, description, created_at. Required: license_plate, description.

verkada_license_plates_of_interest_bulk_delete

Delete multiple License Plates of Interest (LPOI) in Verkada Command by uploading a CSV file containing the license plates to remove. The CSV file must include a "License Plate" column header. Returns an empty 200 response on success. Required: file.

verkada_license_plates_of_interest_bulk_create

Bulk create License Plates of Interest in Verkada by uploading a CSV file. The CSV column headers must be "License Plate" and "Name" for creating LPOIs. Returns a 200 OK response on success. Required: file.

verkada_license_plates_of_interest_bulk_update

Update the description of an existing License Plate of Interest (LPOI) in Verkada Command. Returns: license_plate, description. Required: license_plate, description.

list_all_verkada_lpr_timestamps

List detection timestamps for a specific license plate on a single Verkada LPR camera. Returns an array of Unix timestamps, one per detection of the requested plate. Required: camera_id, license_plate. Only one camera can be queried per request.

list_all_verkada_lpr_zones

List all LPR Zones in your Verkada Command organization. Returns: zone_id, zone_name, created_at, updated_at, preview_camera_id.

verkada_lpr_zones_get_metrics

Get top-level metrics for a Verkada LPR Zone within a specified time range. Returns: occupancy, entries, exits, unique_visitors, median_time_in_zone, max_time_in_zone, avg_time_in_zone. Required: zone_id, start_time, end_time.

verkada_lpr_zones_list_records

List all visit records for a Verkada LPR Zone within a specified time range. Returns: license_plate, entry_time, entry_camera_id, exit_time, exit_camera_id, dwell_time, vehicle_status, plate_thumbnail_url, vehicle_thumbnail_url, invalid. Required: zone_id. Defaults to the last 24 hours if no time range is specified.

verkada_camera_audio_set

Set the audio status (enabled or disabled) for a Verkada camera. Returns: camera_id, enabled. Required: camera_id, enabled.

list_all_verkada_camera_audio

Get the audio status for a Verkada camera. Returns: camera_id, enabled. Required: camera_id.

verkada_cloud_backup_set

Configure cloud backup settings for a Verkada camera, including upload schedule, retention days, video quality, and footage type. Returns: camera_id, days_to_preserve, enabled, time_to_preserve, upload_timeslot, video_quality, video_to_upload. Required: camera_id, days_to_preserve, enabled, time_to_preserve, upload_timeslot, video_quality, video_to_upload.

list_all_verkada_cloud_backup

Get cloud backup settings for a Verkada camera. Returns: camera_id, days_to_preserve, enabled, time_to_preserve, upload_timeslot, video_quality, video_to_upload. Required: camera_id.

list_all_verkada_cameras

List all cameras in your Verkada Command organization. Returns: camera_id, cloud_retention, date_added, device_retention, firmware, firmware_update_schedule, last_online, local_ip, location, location_angle, location_lat, location_lon, mac, model, name, people_history_enabled, serial, site, site_id, status, timezone, vehicle_history_enabled. Supports pagination (max 200 per page, defaults to 100).

verkada_footage_get_link

Get a Verkada footage viewing link for a specific camera. If no timestamp is provided, a live link is returned; otherwise a historical footage link is returned. Returns: url. Required: camera_id. The link expires after 30 days.

verkada_footage_get_token

Get a Verkada streaming token for viewing live or historical camera footage. Returns: jwt, accessibleCameras, accessibleSites. The accessibleCameras and accessibleSites fields can be omitted from the response via the exclude_accessible_resources parameter.

verkada_footage_stream

Stream live or historical Verkada camera footage. Returns the HLS playlist or video segment binary stream. Required: stream_id, org_id, camera_id, jwt. For live footage, set start_time and end_time to 0; for historical footage, the time range must not exceed 3600 seconds.

verkada_thumbnails_get_image

Get a thumbnail image from a Verkada camera at an approximate timestamp, retrieved from the cloud-based cache. Returns the raw binary data of a JPEG image for the closest available thumbnail. Required: camera_id. High-resolution thumbnails are only generated for cameras that have the timelapse feature enabled in Command.

verkada_thumbnails_get_latest

Get the most recent thumbnail image captured by a Verkada camera, automatically retrieved from the cloud backend. Returns the raw binary data of a JPEG image for the latest available thumbnail. Required: camera_id.

verkada_thumbnails_get_link

Get a time-limited link to a Verkada camera thumbnail at an approximate timestamp, retrieved from the cloud backend. Returns: url. Required: camera_id. The returned link corresponds to the closest available thumbnail, with up to a 5-minute variance when no motion is detected.

list_all_verkada_persons_of_interest

List all Persons of Interest active in a Verkada Command organization. Returns: person_id, label.

create_a_verkada_persons_of_interest

Create a new Verkada Person of Interest from a base64-encoded face image. Returns: person_id, label. Required: base64_image, label.

verkada_persons_of_interest_bulk_delete

Delete a Verkada Person of Interest by person_id. Returns an empty 204 response on success. Required: person_id.

verkada_persons_of_interest_bulk_update

Update the label of a Verkada Person of Interest. Returns: person_id, label. Required: person_id, label.

list_all_verkada_access_groups

List Verkada access groups. Returns: group_id, name, external_id.

get_single_verkada_access_group_by_id

Get a Verkada access group by group_id. Returns: name, door_status, weekday. Required: group_id.

create_a_verkada_access_group

Create a new access group in Verkada. Returns: name, door_status, weekday. Required: name.

verkada_access_groups_remove_user

Remove a user from a Verkada access group. Returns an empty 200 response on success. Required: group_id.

verkada_access_groups_add_user

Add a user to a Verkada access group by providing the group identifier and either the Verkada user_id or an external_id. Returns an empty 200 response on success. Required: group_id. Either user_id or external_id must be supplied to identify the user.

verkada_access_groups_bulk_delete

Delete a Verkada access group by group_id. Returns an empty 204 response on success. Required: group_id.

list_all_verkada_access_users

List Verkada access users (members) for the organization. Returns each user with user_id, email, first_name, last_name, middle_name, phone, external_id, employee_id, company_name, department, department_id, employee_title, employee_type, and name. Set include_visitors to true to include visitor users in the response.

get_single_verkada_access_user_by_id

Get a single Verkada access user by user_id, external_id, email, or employee_id. Returns: user_id, email, first_name, last_name, name, phone, door_status, weekday.

verkada_access_users_activate_ble

Activate Bluetooth Low Energy (BLE) access for a Verkada access user. The user must be identified by providing one of user_id, external_id, email, or employee_id. Returns a 200 OK response on success.

verkada_access_users_deactivate_ble

Deactivate the BLE (Bluetooth) access method for a Verkada access user. Returns a 200 OK response on success. Identify the target user with one of user_id, external_id, email, or employee_id.

verkada_access_users_set_end_date

Set the end date controlling when a Verkada access user's credentials become inactive. The target user is identified by one of user_id, external_id, email, or employee_id. Required: end_date (Unix timestamp in seconds). Returns an empty 200 response on success.

verkada_access_users_delete_entry_code

Delete the keypad entry code (PIN) for a Verkada access user identified by one of user_id, external_id, email, or employee_id. Returns an empty 200 response on success.

verkada_access_users_set_entry_code

Set the keypad entry code (PIN) for a Verkada access user identified by one of user_id, external_id, email, or employee_id. The entry_code must be a string of 4–16 digits unique within the organization. Returns an empty 200 response on success. Required: entry_code.

verkada_access_users_send_pass_invite

Send a Verkada Pass app invite to an access user identified by one of user_id, external_id, email, or employee_id. Returns an empty 200 response on success.

verkada_access_users_activate_remote_unlock

Activate remote unlock for a Verkada access user identified by one of user_id, external_id, email, or employee_id, enabling them to unlock doors remotely via the Pass app. Returns an empty 200 response on success.

verkada_access_users_deactivate_remote_unlock

Deactivate remote unlock for a Verkada access user identified by one of user_id, external_id, email, or employee_id, disabling their ability to unlock doors remotely via the Pass app. Returns an empty 200 response on success.

verkada_access_users_set_start_date

Set the start date for a Verkada access user, controlling when the user's credentials become active. Identify the user by providing one of user_id, external_id, email, or employee_id. Returns an empty 200 response on success. Required: start_date (Unix timestamp in seconds).

verkada_access_profile_photos_upload

Upload a profile photo for a Verkada access user identified by user_id or external_id. Set overwrite to true to replace an existing photo. Returns an empty 200 response on success. Required: file.

list_all_verkada_access_profile_photos

Get the profile photo for a Verkada access user identified by user_id or external_id. Set original to true to retrieve the original uncropped image instead of the cropped version. Returns the profile photo image data (binary response).

verkada_access_profile_photos_bulk_delete

Delete the profile photo for a Verkada access user identified by user_id or external_id. Returns an empty 200 response on success.

create_a_verkada_access_card

Create a new Verkada access card credential for a user with a specified card type and encoding parameters. Returns: door_status, weekday. Required: type.

verkada_access_cards_activate

Activate a Verkada access card credential by setting its active status to true. Returns: door_status, weekday. Required: card_id.

verkada_access_cards_deactivate

Deactivate a Verkada access card credential by setting its active status to false. Returns: door_status, weekday. Required: card_id.

verkada_access_cards_bulk_delete

Delete a Verkada access card credential. Returns an empty 200 response on success. Required: card_id.

create_a_verkada_access_license_plate

Create a Verkada license plate credential for a user. Returns the created credential including license_plate_number, active, external_id, user_id, and name. Required: license_plate_number.

verkada_access_license_plates_activate

Activate a Verkada license plate credential. Returns the updated credential including license_plate_number, active, and user_id. Required: license_plate_number.

verkada_access_license_plates_deactivate

Deactivate a Verkada license plate credential. Returns the updated credential including license_plate_number, active, and user_id. Required: license_plate_number.

verkada_access_license_plates_bulk_delete

Delete a Verkada license plate credential. Returns an empty 200 response on success. Required: license_plate_number.

create_a_verkada_access_mfa_code

Create an MFA code credential for a Verkada access user. Returns a 200 OK response on success with no documented response body. Required: code. Provide external_id or user_id to identify the user.

verkada_access_mfa_codes_bulk_delete

Delete an MFA code credential for a Verkada access user. Returns a 200 OK response on success with no documented response body. Required: code. Provide external_id or user_id to identify the user.

verkada_face_unlock_external_users_disable

Disable face unlock for a Verkada external access user. Returns: org_id, webhook_type, created_at, webhook_id, data. Required: external_id.

verkada_face_unlock_external_users_enable_with_photo

Enable face unlock for a Verkada external access user by copying their profile photo as the face credential. Returns: org_id, webhook_type, created_at, webhook_id, data. Required: external_id.

verkada_face_unlock_external_users_invite

Send a face unlock invitation to a Verkada external access user via email and/or SMS. Returns: org_id, webhook_type, created_at, webhook_id, data. Required: external_id.

verkada_face_unlock_external_users_upload_photo

Upload a photo to create a face unlock credential for a Verkada external access user. Returns: org_id, webhook_type, created_at, webhook_id, data. Required: external_id.

verkada_face_unlock_users_disable

Disable face unlock for a Verkada access user by removing their face credential. Returns an empty 200 response on success. Required: user_id.

verkada_face_unlock_users_enable_with_photo

Enable face unlock for a Verkada access user by copying their existing profile photo as the face credential. Returns an empty 201 response on success. Required: user_id.

verkada_face_unlock_users_invite

Send a face unlock invitation to a Verkada access user through email and/or SMS. Returns an empty 201 response on success. Required: user_id.

verkada_face_unlock_users_upload_photo

Upload a photo to create a face unlock credential for a Verkada access user. Returns an empty 201 response on success. Required: user_id.

list_all_verkada_access_levels

List Verkada Access Levels for the organization. Returns: access_level_id, name, access_groups, access_schedule_events, doors, sites.

create_a_verkada_access_level

Create a new Verkada Access Level granting door access to specified Access Groups across designated sites and doors. Returns: name, door_status, weekday. Required: name, access_groups, access_schedule_events, doors, sites.

delete_a_verkada_access_level_by_id

Delete a Verkada access level by id. Returns an empty response on success. Required: id.

get_single_verkada_access_level_by_id

Get a specific Verkada access level by id. Returns the access level detail including access_level_id, name, access_groups, doors, sites, and access_schedule_events. Required: id.

update_a_verkada_access_level_by_id

Update a Verkada door access level by id. Returns the updated access level including its name, access_groups, doors, sites, and access_schedule_events. Required: id, name, access_groups, access_schedule_events, doors, sites.

create_a_verkada_access_schedule_event

Create a Verkada access schedule event for a door access level, specifying the weekday and time window during which access is granted. Returns: door_status, weekday. Required: access_level_id, start_time, end_time, weekday.

delete_a_verkada_access_schedule_event_by_id

Delete a Verkada access schedule event by id within a door access level. Returns an empty 204 response on success. Required: access_level_id, id.

get_single_verkada_access_schedule_event_by_id

Get a single Verkada access schedule event by id within a door access level. Returns: door_status, weekday. Required: access_level_id, id.

update_a_verkada_access_schedule_event_by_id

Update a Verkada access schedule event by id within a door access level, modifying the weekday, time window, or door status. Returns: door_status, weekday. Required: access_level_id, id, start_time, end_time, weekday.

verkada_doors_admin_unlock

Admin-unlock a Verkada door by providing its door UUID. No user information is required in the request body. Required: door_id. Returns an empty 200 response on success.

verkada_doors_user_unlock

Unlock a Verkada door on behalf of a specific user, evaluating that user's permission to unlock the door. Required: door_id, and either user_id or external_id to identify the user. Returns an empty 200 response on success.

list_all_verkada_doors

List Verkada doors, optionally filtered by specific door IDs or site IDs. Returns each door with its door_id, name, acu_name, acu_id, site, api_control_enabled, and camera_info.

list_all_verkada_door_exception_calendars

List Verkada door exception calendars, optionally filtered by last update time. Returns: calendar_id, name, doors, exceptions, last_updated_at.

create_a_verkada_door_exception_calendar

Create a new Verkada door exception calendar with a name, applied door IDs, and door exceptions. Returns: name, door_status, weekday. Required: name.

delete_a_verkada_door_exception_calendar_by_id

Delete a Verkada door exception calendar by id. Returns an empty 200 response on success. Required: id.

get_single_verkada_door_exception_calendar_by_id

Get a Verkada door exception calendar by id. Returns the calendar object including calendar_id, name, doors (door IDs the calendar's exceptions apply to), and exceptions (door exception entries with date, door_status, start_time, end_time, all_day_default, double_badge, and first_person_in settings). Required: id.

update_a_verkada_door_exception_calendar_by_id

Update a Verkada door exception calendar by id, replacing its name, applied doors, and door exceptions. Returns: name, door_status, weekday. Required: id, name.

create_a_verkada_door_exception

Create a door exception in a Verkada exception calendar. Returns: id, all_day_default, door_status, double_badge, first_person_in. Required: calendar_id, date, start_time, end_time. If all_day_default is TRUE, door_status must be access_controlled and start_time/end_time are auto-set to 00:00:00 and 23:59:59.

delete_a_verkada_door_exception_by_id

Delete a door exception from a Verkada exception calendar by id. Returns an empty 204 response on success. Required: calendar_id, id.

get_single_verkada_door_exception_by_id

Get a specific Verkada door exception by id within an exception calendar. Returns: id, all_day_default, door_status, double_badge, first_person_in. Required: calendar_id, id.

update_a_verkada_door_exception_by_id

Update a Verkada door exception by id within an exception calendar. Returns: id, all_day_default, door_status, double_badge, first_person_in. Required: calendar_id, id, date, start_time, end_time.

list_all_verkada_access_events

List Verkada access control events within a configurable time range, filterable by event type, site, device, or user. Returns: event_id, notification_type, device_id, created, device_type, door_id, direction, input_value, aux_info, user_info, lockdown_info, door_info. Max 200 per page.

list_all_verkada_access_scenarios

List Verkada access scenarios with optional filtering by scenario IDs, site IDs, and scenario types. Returns: scenario_id, scenario_type, site_id. The types parameter is deprecated; use scenario_types instead.

verkada_access_scenarios_activate

Activate a Verkada access scenario by scenario_id, triggering the scenario (e.g., lockdown or evacuate) across its scoped sites. Returns an empty 200 response on success. Required: scenario_id.

verkada_access_scenarios_release

Release an access scenario in Verkada to trigger a door unlock. Returns an empty 200 response on success. Required: scenario_id.

list_all_verkada_audit_logs

List Verkada audit logs within a specified time range. Returns: timestamp, processed_timestamp. Supports filtering by start_time and end_time as Unix timestamps in seconds, with an option to filter by processed_timestamp instead of timestamp for regular polling. Max 200 items per page.

create_a_verkada_user

Create a new Verkada user with profile and organizational attributes. Returns: user_id, external_id, name, email, first_name, middle_name, last_name, phone, company_name, department, department_id, employee_id, employee_title, employee_type.

list_all_verkada_users

List Verkada users, optionally filtered to a specific user by user_id or external_id. Returns: user_id, external_id, name, email, first_name, middle_name, last_name, phone, company_name, department, department_id, employee_id, employee_title, employee_type.

verkada_users_bulk_delete

Delete a Verkada user identified by user_id or external_id. Returns an empty 200 response on success. At least one of user_id or external_id must be provided.

verkada_users_bulk_update

Update an existing Verkada user's profile and organizational attributes. Returns: user_id, external_id, name, email, first_name, middle_name, last_name, phone, company_name, department, department_id, employee_id, employee_title, employee_type. Identify the user with user_id or external_id; at least one must be provided.

list_all_verkada_sensor_alerts

List Verkada sensor alert events for specified sensor devices within a time range. Returns alert event records with id and attributes containing sensor-type-specific alert fields. Required: device_ids. Max 200 per page.

list_all_verkada_sensor_data

List Verkada environment sensor data readings for a device within a specified time range. Returns: time, humidity, motion, noise_level, pm_2_5, pm_4_0, pm_1_0_0, tamper, temperature, tvoc, usa_air_quality_index, vape_index, carbon_dioxide, carbon_monoxide, barometric_pressure, formaldehyde, ambient_light, tvoc_index, heat_index. Required: device_id. Max 200 per page; data stored at 1s intervals…

list_all_verkada_guest_events

List Verkada guest events for a site within a specified time range. Returns: id, event_name, event_address, event_description, event_times, guest_type_id, host_id, invitees, rsvp_enabled, site_id, walk_in_enabled. Required: site_id, start_time, end_time. Max 200 per page.

create_a_verkada_guest_event

Create a new Verkada guest event with specified times, host, and guest type. Returns: id, event_name, event_times, rsvp_enabled, walk_in_enabled. Required: site_id, event_times, guest_type_id, host_id. Up to 30 event time spans allowed, must be within 1 year in the future.

delete_a_verkada_guest_event_by_id

Delete a Verkada guest event by id. Returns an empty 200 response on success. Required: id.

get_single_verkada_guest_event_by_id

Get a single Verkada guest event by id. Returns: id, event_name, event_times, rsvp_enabled, walk_in_enabled. Required: id.

list_all_verkada_guest_hosts

List Guest hosts for a Verkada Guest site, optionally filtered by email. Returns: host_id, full_name, email, student_id, student_number. Required: site_id. Maximum 200 hosts per page.

list_all_verkada_approved_lists

List Verkada guest approved lists, optionally filtered by site. Returns: approved_list_id, site_id. Max 1000 per page.

verkada_approved_lists_add_people

Add people to one or more Verkada guest approved lists. Returns the people array with each person's approved_list_ids, full_name, email, and person_id. Required: people. Max 100 people per request, up to 10 approved list IDs per person.

verkada_approved_lists_remove_people

Remove people from Verkada guest approved lists by person_id or external_id. Returns the people array with approved_list_ids. Required: people. Max 100 people per request.

verkada_approved_lists_get_members

List members of a Verkada guest approved list. Returns: person_id, full_name, email, address, date_of_birth, phone_number, external_id, expiration_timestamp, approved_list_ids. Required: approved_list_id.

verkada_approved_lists_reset

Reset a Verkada guest approved list, removing all its members. Returns: approved_list_id. Required: approved_list_id.

create_a_verkada_guest_deny_list

Create or replace the deny list for a Verkada Guest site by uploading a base64-encoded CSV. Returns a 200 OK response on success with no documented response body fields. Required: site_id, base64_ascii_deny_list_csv.

verkada_guest_deny_lists_bulk_delete

Delete the deny list for a Verkada Guest site. Returns an empty 204 response on success. Required: site_id.

list_all_verkada_guest_sites

List Guest sites in Verkada. Returns each site's site_id and name. No required parameters.

list_all_verkada_guest_visits

List Verkada Guest visits within a time range for a specific site. Returns: visit_id, visit_type, checked_in_time, full_name, email, phone_number, hosts, device_name, is_contactless, site_id. Required: site_id, start_time, end_time. start_time and end_time must be at most one day apart.

list_all_verkada_guest_types

List guest types for a Verkada Guest site. Returns: guest_type_id. Required: site_id. Max 200 per page.

list_all_verkada_alarm_devices

List Verkada Classic Alarm devices for a site. Returns: device_id, device_type, device_name, site_id, site_name, partition_id, partition_name. Required: site_id. Only supported for Classic Alarm devices.

list_all_verkada_alarm_sites

List Verkada Classic Alarm sites, optionally filtered by a comma-delimited set of site IDs. Returns: site_id, site_name. Only supported for Classic Alarm sites.

list_all_verkada_viewing_station_devices

List all viewing station devices in Verkada. Returns a collection of viewing station device records from the organization's Command platform. No required parameters.

list_all_verkada_events

List Verkada events across camera and access control products within a configurable time range. Returns items with event_id, device_id, created, notification_type, and device_type. Filter by product_types, device_ids, event_types, and site_ids. Defaults to the last hour if no time range is specified. Max 200 per page.

list_all_verkada_api_token

Generate a short-lived Verkada API token using the configured API key. Returns: token. The token is valid for 30 minutes and is used to authenticate subsequent Verkada API calls.

How it works

From Verkada account to governed MCP endpoint

Connect

Link a Verkada 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 Verkada 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.