update_realm_events_config
Modify realm event settings in Keycloak to enable events, specify listeners, define event types, and configure admin event details for targeted realms.
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 |
|---|---|---|---|
| admin_events_details_enabled | No | ||
| admin_events_enabled | No | ||
| enabled_event_types | No | ||
| events_enabled | No | ||
| events_listeners | No | ||
| realm | No |
Implementation Reference
- src/tools/realm_tools.py:170-212 (handler)The main handler function for the 'update_realm_events_config' tool, decorated with @mcp.tool() for automatic registration. It fetches the current events config, updates specified fields, and applies the changes via Keycloak API.@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"}