Skip to main content
Glama
idoyudha

mcp-keycloak

by idoyudha

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
NameRequiredDescriptionDefault
events_enabledNo
events_listenersNo
enabled_event_typesNo
admin_events_enabledNo
admin_events_details_enabledNo
realmNo

Implementation Reference

  • 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"}

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/idoyudha/mcp-keycloak'

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