Skip to main content
Glama
RhombusSystems

Rhombus MCP Server

Official

events-tool

Retrieve raw, timestamped events from Rhombus security systems including access control, sensor readings, and camera timeline activity. Specify event type and time range to get precise data.

Instructions

Scope: This tool returns raw, event-level data (individual events with timestamps). Use report-tool when you need aggregated counts, time-series summaries, or analytics over intervals.

Vehicles vs lpr-tool: eventType "camera" returns footage seekpoints from that camera's recording timeline—every activity type the API returns for the window (human motion, vehicle motion, and others depending on the camera and analytics). Some rows may include plate or vehicle metadata on the seekpoint. lpr-tool is still the right choice for org LPR workflows: saved vehicles, vehicle labels, fuzzy plate search, and vehicle event APIs—not a replacement for "everything this camera logged on its timeline."

This tool has multiple modes, set by "eventType": access-control, brivo-access-control, environmental-gateway, climate-sensor, component-events, camera. Use it when the user asks for specific events (unlocks, badge ins, credentials, arrivals, environmental readings, climate data, camera timeline activity, or other component events). It can return large result sets; keep time ranges narrow. For ranges spanning more than ~24 hours, prefer report-tool for aggregates. For maximum flexibility across event types at a location, use eventType "component-events".


When eventType is "brivo-access-control":

Retrieves badge/credential events from Brivo-integrated doors. Automatically fetches the Brivo integration configuration to determine which locations have Brivo doors mapped. No door UUIDs are required.

Use this when the user asks specifically about Brivo events, Brivo badge ins, Brivo access control, or events from Brivo doors.

Arguments:

  • startTime (string): Start of the time range (ISO 8601).

  • endTime (string): End of the time range (ISO 8601).

Returns:

  • integrationEnabled: Whether the Brivo integration is currently enabled.

  • brivoDoorsConfigured: Number of Brivo doors configured in the integration.

  • brivoDoors: List of Brivo doors with their IDs, names, and associated Rhombus location UUIDs.

  • events: Credential received events from all locations that have Brivo doors configured, sorted newest first.

Note: Events are fetched at the location level, so results may include events from all access-controlled doors at locations where Brivo is configured.


When eventType is "access-control":

Retrieves access control events (arrivals, badge ins, credentials, unlocks) for the given door(s). Can return a lot of data—use a narrow time range.

Arguments:

  • accessControlledDoorUuids (array of strings): UUIDs of the access-controlled doors.

  • startTime (string): Start of the time range (ISO 8601).

  • endTime (string): End of the time range (ISO 8601).

The credSource field indicates how the event was triggered:

  • REMOTE: Rhombus Key app remote unlock.

  • REMOTE (Admin): Unlock via Rhombus console or browser/mobile app.

  • BLE_WAVE: User waved hand over the reader.

  • NFC: User tapped badge or phone on the reader.


Retrieves environmental gateway events (sensor readings, derived values) for a device in a time range. Timestamps are in the device timezone, not necessarily UTC.

Arguments:

  • deviceUuid (string): UUID of the environmental gateway device.

  • startTime (string): Start of range (ISO 8601).

  • endTime (string): End of range (ISO 8601).


When eventType is "climate-sensor":

Retrieves climate sensor events (temperature, humidity, air quality, etc.) for a sensor in a time range. Timestamps are in the sensor timezone, not necessarily UTC.

Arguments:

  • sensorUuid (string): UUID of the climate sensor.

  • startTime (string): Start of range (ISO 8601).

  • endTime (string): End of range (ISO 8601).

  • limit (number, optional): Max events to return. Default 1000.


When eventType is "component-events":

Retrieves all component event types for a location in a time range. Most flexible option; filter by event type via componentEventTypes. Timestamps are in the location timezone, not necessarily UTC.

Arguments:

  • locationUuid (string): UUID of the location.

  • componentEventTypes (array, optional): Event types to include. If empty or omitted, returns all types.

  • startTime (string): Start of range (ISO 8601).

  • endTime (string): End of range (ISO 8601).

Valid event types include:

  • DoorbellEvent: Doorbell button press events

  • CredentialReceivedEvent: Badge/credential scans (NFC, BLE_WAVE, REMOTE unlocks)

  • DoorStateChangeEvent: Door state changes (locked/unlocked)

  • ButtonEvent: Generic button press events

  • PanicButtonEvent: Panic/emergency button activations

  • DoorReaderStateChangeEvent: Changes in door reader state

  • DoorRelayStateChangeEvent: Changes in door relay state

  • AccessControlUnitTamperEvent: Tamper detection events

  • AccessControlUnitBatteryStateChangeEvent: Battery state changes

  • WaveToUnlockIntentExpiredEvent: Wave-to-unlock timeout events

  • DoorAuthFirstInStateEvent: First-in authentication state events

  • DoorScheduleFirstInStateEvent: First-in schedule state events

  • And more (see input schema for full list).


When eventType is "camera":

Retrieves footage seekpoints for one camera: all activity types returned for the search window (not limited to human motion). Each item includes an activity string plus timestamp; plate/vehicle/face fields appear when the API provides them. Use lpr-tool for org LPR saved vehicles, labels, and dedicated plate search.

Arguments:

  • cameraUuid (string): UUID of the camera.

  • startTime (string): Start of range (ISO 8601).

  • duration (number): Search window in seconds. Default 3600 (1 hour).

Output filtering (all tools):

  • includeFields (string[]): Dot-notation paths to keep in the response (e.g. "vehicleEvents.vehicleLicensePlate"). Omit to return all fields.

  • filterBy (array): Predicates to filter array items. Each entry: {field, op, value} where op is one of = != > >= < <= contains. All conditions are ANDed. Example: [{field:"vehicleLicensePlate", op:"=", value:"ABC123"}] WARNING: some tool responses exceed 400k characters — use these params to request only the data you need.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventTypeYesThe type of events to retrieve. access-control: Access control events like unlocks, badge ins, credentials, arrivals. brivo-access-control: Badge/credential events from Brivo-integrated doors. Does not require door UUIDs — automatically looks up which doors are configured via the Brivo integration. environmental-gateway: Environmental gateway events with sensor readings and derived values. climate-sensor: Climate sensor events with temperature, humidity, air quality readings. component-events: All types of component events for a location (most flexible option). camera: Footage seekpoints for one camera—all timeline activity types that camera recorded (human motion, vehicle motion, etc., depending on device/analytics). For org LPR saved vehicles, labels, and plate search APIs, use lpr-tool. button-press: Button press events from button sensors. occupancy: Occupancy sensor events with people count. proximity: Proximity tag events with RSSI readings. doorbell: Doorbell camera events.
startTimeYesA timestamp representing when to start the search for access control events.Time format is in ISO 8601 format. Both UTC ("2025-08-04T20:54:27.123Z") and time zone offsets ("2025-08-04T13:54:27.123-07:00") are accepted to ensure an unambiguous point in time.
endTimeYesA timestamp representing when to end the search for access control events.Time format is in ISO 8601 format. Both UTC ("2025-08-04T20:54:27.123Z") and time zone offsets ("2025-08-04T13:54:27.123-07:00") are accepted to ensure an unambiguous point in time.
accessControlledDoorUuidsYesThe UUIDs (array) of the access controlled doors. Required when eventType is 'access-control'.
deviceUuidYesThe UUID of the environmental gateway device. Required when eventType is 'environmental-gateway' Can be obtained from the get-entity-tool for ENVIRONMENTAL_GATEWAY.
sensorUuidYesThe UUID of the climate sensor. Required when eventType is 'climate-sensor'. Can be obtained from the get-entity-tool for SENSOR.
limitYesMaximum number of climate events to return. Only applicable when eventType is 'climate-sensor'. Default is 1000. Pass null for other event types.
locationUuidYesThe UUID of the location. Required when eventType is 'component-events'.
componentEventTypesYesArray of component event types to filter by. Only applicable when eventType is 'component-events'. If empty or null, returns all event types. Valid values: DoorbellEvent, DoorReaderStateChangeEvent, DoorRelayStateChangeEvent, DoorPositionIndicatorStateChangeEvent, RequestToExitStateChangeEvent, CredentialReceivedEvent, ButtonEvent, GenericInputStateChangeEvent, GenericRelayStateChangeEvent, AccessControlUnitTamperEvent, AccessControlUnitLocationLockdownStateEvent, DoorLocationLockdownStateEvent, PanicButtonEvent, AccessControlUnitBatteryStateChangeEvent, WaveToUnlockIntentExpiredEvent, DoorStateChangeEvent, DoorAuthFirstInStateEvent, DoorScheduleFirstInStateEvent, AccessControlUnitDoorFirstInStateEvent, AperioDoorExtensionStateEvent, AperioGatewayStateEvent, AperioGatewayConnectionStateChangeEvent, AperioDtcEvent, AperioTamperStateEvent.
timeZoneYesThe timezone of the requested locations or devices. This is necessary for the tool to produce accurate formatted timestamps.
cameraUuidYesThe unique identifier for the camera. Required when eventType is 'camera'. Can be obtained from the get-entity-tool for CAMERA.
durationYesDuration in seconds to search footage seekpoints. Required when eventType is 'camera'. Default is 3600 (1 hour).
buttonSensorUuidYesThe UUID of the button sensor. Required when eventType is 'button-press'.
occupancySensorUuidYesThe UUID of the occupancy sensor. Required when eventType is 'occupancy'.
proximityTagUuidsYesArray of proximity tag UUIDs. Required when eventType is 'proximity'.
doorbellCameraUuidYesThe UUID of the doorbell camera. Required when eventType is 'doorbell'.
tempUnitYesThe unit of temperature to return. Default is Celsius.
includeFieldsYesDot-notation field paths to include in the response (e.g. "vehicleEvents.vehicleLicensePlate"). Pass null to return all fields. WARNING: some responses can exceed 400k characters — use includeFields to request only the data you need. For high-volume tools this may be required to get a complete answer.
filterByYesFilter array items in the response by field values. All conditions are ANDed. Example: [{field: "vehicleLicensePlate", op: "=", value: "ABC123"}, {field: "confidence", op: ">", value: 0.8}] Use alongside includeFields to get only the specific records and fields you need.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventTypeNo
brivoAccessControlEventsNoBrivo access control events. Fetches credential events from all locations that have Brivo doors configured in the integration.
accessControlEventsNoAccess control events data including badge ins, credentials, arrivals, etc., sorted by timestamp (newest first).
environmentalGatewayEventsNoEnvironmental gateway events data including sensor readings and derived values
climateSensorEventsNoClimate sensor events data including temperature, humidity, air quality, and other readings
componentEventsNoComponent events data for all types of access control events at a location, sorted by timestamp (newest first)
cameraEventsNoFootage timeline seekpoints for the camera (all activity types returned in the window). Use with eventType "camera".
buttonPressEventsNoButton press events
occupancyEventsNoOccupancy sensor events
proximityEventsNoProximity tag events
doorbellEventsNoDoorbell camera events
needUserInputNo
commandForUserNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses behavioral traits like timezone handling for different modes, that camera mode returns all activity types, and that brivo access-control automatically fetches configuration. Warns about response size. No annotations are provided, so the description carries the full burden. Minor omissions like pagination or rate limits prevent a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear headers for each mode and a scope section. However, some repetition of start/end time descriptions across modes could be trimmed. Still efficient for a multi-mode tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all aspects: scope, mode selection, parameter requirements, output descriptions, filtering options, and sibling tool comparisons. Despite complexity, no obvious gaps. Output schema exists to supplement return value details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, but the description adds significant value: clarifies which parameters are required per mode, explains defaults (duration=3600, limit=1000), and describes output structure for brivo mode. This is above baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns raw event-level data and distinguishes itself from siblings: report-tool for aggregates, lpr-tool for LPR workflows. Each eventType mode is explicitly described.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use this tool vs alternatives (report-tool, lpr-tool) and within the tool, which eventType to choose. Includes warnings about large result sets and suggests narrow time ranges.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/RhombusSystems/rhombus-node-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server