Skip to main content
Glama
idoyudha

mcp-keycloak

by idoyudha

update_realm_role

Modify realm role attributes like description and composite status in Keycloak identity management to adjust access control configurations.

Instructions

Update a realm role.

Args:
    role_name: Current role name
    description: New description
    composite: Whether this is a composite role
    realm: Target realm (uses default if not specified)

Returns:
    Status message

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
role_nameYes
descriptionNo
compositeNo
realmNo

Implementation Reference

  • The handler function for the 'update_realm_role' MCP tool. It fetches the current role, updates specified fields (description or composite), performs a PUT request via KeycloakClient, and returns a success message.
    @mcp.tool()
    async def update_realm_role(
        role_name: str,
        description: Optional[str] = None,
        composite: Optional[bool] = None,
        realm: Optional[str] = None,
    ) -> Dict[str, str]:
        """
        Update a realm role.
    
        Args:
            role_name: Current role name
            description: New description
            composite: Whether this is a composite role
            realm: Target realm (uses default if not specified)
    
        Returns:
            Status message
        """
        # Get current role
        current_role = await client._make_request("GET", f"/roles/{role_name}", realm=realm)
    
        # Update only provided fields
        if description is not None:
            current_role["description"] = description
        if composite is not None:
            current_role["composite"] = composite
    
        await client._make_request(
            "PUT", f"/roles/{role_name}", data=current_role, realm=realm
        )
        return {
            "status": "updated",
            "message": f"Realm role {role_name} 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