update_realm_events_config
Configure event logging settings for Keycloak realms to monitor user activities and administrative actions. Specify which events to record, enable listeners, and control detail levels for security auditing.
Instructions
Update realm events configuration.
Args:
events_enabled: Enable events
events_listeners: Event listener implementations
enabled_event_types: Types of events to record
admin_events_enabled: Enable admin events
admin_events_details_enabled: Include details in admin events
realm: Target realm (uses default if not specified)
Returns:
Status message
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| events_enabled | No | ||
| events_listeners | No | ||
| enabled_event_types | No | ||
| admin_events_enabled | No | ||
| admin_events_details_enabled | No | ||
| realm | No |
Implementation Reference
- src/tools/realm_tools.py:170-211 (handler)Implementation of the update_realm_events_config tool handler. Decorated with @mcp.tool() for registration. Fetches current events configuration from Keycloak, updates specified fields, and applies the changes via PUT request.@mcp.tool() async def update_realm_events_config( events_enabled: Optional[bool] = None, events_listeners: Optional[List[str]] = None, enabled_event_types: Optional[List[str]] = None, admin_events_enabled: Optional[bool] = None, admin_events_details_enabled: Optional[bool] = None, realm: Optional[str] = None, ) -> Dict[str, str]: """ Update realm events configuration. Args: events_enabled: Enable events events_listeners: Event listener implementations enabled_event_types: Types of events to record admin_events_enabled: Enable admin events admin_events_details_enabled: Include details in admin events realm: Target realm (uses default if not specified) Returns: Status message """ # Get current config current_config = await client._make_request("GET", "/events/config", realm=realm) # Update only provided fields if events_enabled is not None: current_config["eventsEnabled"] = events_enabled if events_listeners is not None: current_config["eventsListeners"] = events_listeners if enabled_event_types is not None: current_config["enabledEventTypes"] = enabled_event_types if admin_events_enabled is not None: current_config["adminEventsEnabled"] = admin_events_enabled if admin_events_details_enabled is not None: current_config["adminEventsDetailsEnabled"] = admin_events_details_enabled await client._make_request( "PUT", "/events/config", data=current_config, realm=realm ) return {"status": "updated", "message": "Events configuration updated successfully"}